區間突破的時間問題

  •   274 
  • 最後發表   VicHuang  2023 六月 13
VicHuang 發文於   2023/06/07

if 

close<closeD(1)*1.03 //目前位置在3%內

and currenttime>=091500 and currenttime<103000 // 0915~1030使用

and (Highest(H[1],30)-Lowest(L[1],30))/close<0.03 //前30分鐘在3%內震盪

and 1.01*Highest(H[1],30)>=HighD(0)  // 最高點只能高於區間高1%

and 0.99*Lowest(L[1],30)<=LowD(0)  //最低點只能低於區間低1%

and close >= highest(H[1],30) //突破高點

 

then ret=1;

 

想請問 因為我想抓30根的區間,但執行時間希望在09:15就開始,

我用1分鐘下去執行是可以跑的,

想請問這樣的話,在0915~0930,XS抓取的資料數是?

排序方式: 標準 | 最新
bowen 發文於   2023/06/07

你可以宣告一個變數 去紀錄

if time = 091500 then value1 =15;
if time > 091500 and time <= 093000 then begin
    value1 = value1 +1;
end;

if 

close<closeD(1)*1.03 //目前位置在3%內

and currenttime>=091500 and currenttime<103000 // 0915~1030使用

and (Highest(H[1],value1)-Lowest(L[1],value1))/close<0.03 //前30分鐘在3%內震盪

and 1.01*Highest(H[1],value1)>=HighD(0)  // 最高點只能高於區間高1%

and 0.99*Lowest(L[1],value1)<=LowD(0)  //最低點只能低於區間低1%

and close >= highest(H[1],value1) //突破高點



then ret=1;

  • 按讚來自於
  • Vic421
XQ小幫手 發文於   2023/06/13

Hello VicHuang,

 

您可以參考 bowen 的建議。

除此之外,若是要取得開盤30分鐘間的高低點的話,也可以用變數直接紀錄即可。

舉例來說:

if issessionfirstbar then begin

    value1 = high;

    value2 = low;

    end;

 

if time < 093000 then begin

    if high > value1 then value1 = high;

    if low < value2 then value2 = low;

    end;

 

這樣 value1 和 value2 就會是這段區間內的高低點。

 

感謝 bowen 的熱心回覆。

  • 按讚來自於
  • Vic421
發表回覆
Close