劃出一條直線

  •   474 
  • 最後發表   Luckyguide  2025 四月 19
Luckyguide 發文於   2025/03/20

請問要在1分鐘K線圖上「在每日開盤的第一根K棒位置劃出一條直線;以便區隔每日行情變化」,

plotline要如何寫?

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/03/20

if barfreq<>"Min" or barinterval<>1 then raiseRunTimeError("限用1分鐘");
var: myBar(0);
if date<>date[1] then 
    begin
        value1=open;
        myBar=currentBar;
    end;
PlotLine(1,myBar,value1,currentBar,value1,add:=1);

  • 按讚來自於
  • johnlintw
Luckyguide 發文於   2025/03/20
Luckyguide 發文於   2025/04/02

用上面程式,在1分鐘K線圖上「在每日開盤的第一根K棒位置劃出一條直線」如附圖,在每日開盤的第一根K棒位置確實有劃出一條直線,但卻「有一條橫線」連接在「每日開盤的第一根K棒開盤價位置」,請問:如何除去連接在每日開盤的第一根K棒位置的那一條橫線??

附加文件

虎科大許教授 發文於   2025/04/02

繪圖樣式改用線段,而非預設的線條。

Luckyguide 發文於   2025/04/19

我用你所說:PlotLine(1,myBar,value1,currentBar,value1,add:=1);,繪圖樣式改用線段,而非預設的線條,,但畫面仍然出現橫線,而不是直線!

虎科大許教授 發文於   2025/04/19

PlotLine的底層運作還是Plot的概念。若你加Add:=1,則兩條水平線之間需要相連,就會造成你所看到的結果。不論用線條或線段,結果都是一樣。若只繪製最後一天的指標,把Add:=1拿掉,就可只繪製最後一天的指標。

GammaCEO 發文於   2025/04/19

1.XQ本身沒有畫直線plot的功能

2.要畫直線要設定成"柱體(淺色或外框)+價位座標"

 

if barfreq <> "Min"then RaiseRuntimeError("time out"); 

variable:KN1(0);
variable: intrabarpersist k1(0);

if IsSessionFirstBar=true then
k1=CurrentBar;
KN1=(CurrentBar-k1)+1;

if KN1=1 then
value1=3000
else
value1=0;

plot1(value1,"open線");

 

虎科大許教授 發文於   2025/04/19

由於我認知的直線,包含水平線、垂直線等等都是,所以誤以為Luckyguide要的是從開盤第一根K繪製水平線。看起來GammaCEO寫的指標腳本才是Luckyguide要的。若只希望用垂直線區隔每天的行情,GammaCEO寫的程式OK,但以下我提供的程式會更有效率。

if barfreq <> "Min" then RaiseRuntimeError("限用分鐘資料"); 
if date<>date[1] then Plot1(3000,"Open線") else plot1(0);

發表回覆
Close