1分K 高點拉回 怎麼寫?

  •   470 
  • 最後發表   石頭  2023 三月 29
石頭 發文於   2022/10/14

在1分K架構下, 在10:00之前,股價只要漲幅超過5%,拉回3%,就警示

例如,昨收100元,在10:00之前出現,股價1分K最高價來到106元,接著下跌3%來到102.5元,就警示。

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/10/14

 Hello 石頭,

 

您可以用變數紀錄在10點以前的最高價,必計算其是否有超過前日收盤的5%。

有的話再檢查最新的價格是否有下跌3%。

舉例來說:

var: intrabarpersist _cond(False);

if date <> date[1] then begin  //每日重置

    value1 = high;    //紀錄最高價

    _cond = False;    //紀錄是否有超過前日收盤的5%

    end;

 

if time < 100000 then begin    //只在10點以前執行

    if high > value1 then value1 = high;

    if value1 > (getfield("Close", "D")[1] * 1.05) then _cond = True;

    if _cond = True and close <= (value1 * 0.97) then ret = 1;

    end;

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

XQ小幫手 發文於   2023/03/29

Hello rightman,

 

建議您可以先閱覽網站上的教學區,裡面有XS語法的基礎和應用可以閱覽。

 

不知道您是怎麼修改的,不過如果您只希望一天出現一次的話那麼可以用變數控制。

舉例來說:

var: intrabarpersist _cond(False), once(0);

if date <> date[1] then begin  //每日重置

    value1 = high;    //紀錄最高價

    _cond = False;    //紀錄是否有超過前日收盤的5%

    _once = 0;    //控制一天只畫一次

    end;

 

if time < 100000 and _once = 0 then begin    //只在10點以前執行

    if high > value1 then value1 = high;

    if value1 > (getfield("Close", "D")[1] * 1.05) then _cond = True;

    if _cond = True and close <= (value1 * 0.97) then _once = 1;

    end;

 

if _once = 1 then begin

    plot1(high);

    _once = 2;

    end;

發表回覆
Close