紀錄拉回 反彈的次數

  •   238 
  • 最後發表   石頭  2022 十月 13
石頭 發文於   2022/10/13

在5分k架構下,

怎麼紀錄 股價 拉回反彈的次數,預設  : 拉回3% 反彈2%

股價從100最高價 拉回3% 到 97  (符合條件,但反彈從最低點看),然後從最低價96.5反彈2%到98.5, 記錄一次, 

接著 漲到99  (反彈後的最高價,不一定會比第一次的高價100元低或高)  後又拉回3%到96, 然後繼續跌到95元  (拉回後的最低價,不一定要比第一次拉回的96.5低或高) 之後反彈2%97元,  紀錄第二次 。

要怎麼寫? 謝謝。

 

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

Hello 石頭,

 

小幫手認為您可以用變數紀錄到目前為止的最高價,然後和當下的價格相比,如果有拉回到3%的話就重置最高點,並開始計算最低價的拉回。

舉例來說:

var:intrabarpersist cond(0), intrabarpersist reth(0), intrabarpersist retl(0);

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

    value1 = high;

    value2 = low;

    cond = 0;

    reth = 0;

    retl = 0;

    end;

 

if value1 < high then value1 = high;  //創新高的話更新最高點

if value2 > low then value1 = low;    //創新低的話更新最低點

 

if cond <= 0 and close <= (value1 * 0.97) then begin   //如果從前次以後的最高點拉回3%,且前次拉回並不是高點拉回

    reth += 1;   //高點拉回次數加1

    cond = 1;   //紀錄為高點拉回

    value2 = low;     //重置最低點

    end;

 

if cond >= 0 and close >= (value2 * 1.02) then begin    //如果從前次以後的最低點拉回2%,且前次拉會並不是低點拉回

    retl += 1;   //低點拉回次數加1

    cond = -1;   //紀錄為低點拉回

    value1 = high;    //重置最高點

    end;

 

這樣寫的話就會是每次高低點拉回就會記錄次數,但需注意要是交替拉回的狀況才會記錄,連續兩次高點/低點拉回是不會記錄的。

石頭 發文於   2022/10/13

非常謝謝您的回覆,我再試看看

發表回覆
Close