請益該如何撰寫突破大量高點語法

  •   1.2K 
  • 最後發表   發財鴻  2023 八月 16
發財鴻 發文於   2023/07/16

想請問我想寫當沖的語法,資料頻率為一分K,想法是突破開盤成交量的爆量紅K棒做進場,

如圖片中的藍色箭頭處,謝謝

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/07/19

Hello 發財鴻,

 

您可以用變數保存開盤的成交量,並以此來作判斷。

舉例來說:

if issessionfirstbar then value1 = volume;   //用 value1 保存開盤第一根的成交量

condition1 = volume > value1;   //成交量大於開盤第一根

condition2 = close > open;      //紅棒

 

這樣同時符合 condition1 和 condition2 的話就會是突破開盤成交量的紅棒。

發財鴻 發文於   2023/07/23

if barfreq <> "Min" then raiseruntimeerror("僅支援分鐘頻率"); 

if issessionfirstbar then value1 = volume;   //用 value1 保存開盤第一根的成交量

 

value5 = GetField("賣出特大單量","D") + GetField("賣出大單量","D");

value6 = GetField("買進特大單量","D") + GetField("買進大單量","D");

value7 = value6 - value5;

 

condition1 = volume > value1;    //成交量大於開盤第一根

condition2 = close  > open;      //紅棒

condition3 = Getfield("close", "1") > GetField("開盤價","D"); //收盤大於開盤

condition4 = GetFIELD("VOLUME", "D")[1] > 1000;

condition5 = VALUE7 >  0;        //大戶買賣力正的

 

if condition1 and condition2 and condition3 and condition4 and condition5

AND CLOSE  >  50

AND CLOSE  <  300

 

Then Ret=1;

 

想請問這邊的語法上哪裡有錯誤呢一直無法回測找到問題謝謝

XQ小幫手 發文於   2023/07/26

Hello 發財鴻,

 

小幫手這邊測試可以編譯,回測也可以執行。(參考附圖)

需注意若您是使用1分鐘逐筆洗價回測的話,賣出特大單量等資料欄位並不支援。

附加文件

發財鴻 發文於   2023/08/12

想請問假設大量高點不是出現在開盤,而是出現在其他分K的話,那我的程式碼該如何撰寫~?謝謝

資料頻率一樣為一分K,想法是突破盤中最大量的紅K棒做進場

 

XQ小幫手 發文於   2023/08/16

Hello 發財鴻,

 

您可以使用變數來記錄當日最大量的1分鐘Bar和其高點。

舉例來說:

//換日重置

if issessionfirstbar then begin

    value1 = volume;

    value2 = high;

    end;

 

//成交量創新高時更新量與價

if volume > value1 then begin

    value1 = volume;

    value2 = high;

    end;

發表回覆
Close