收盤價突破當日前高

  •   137 
  • 最後發表   blue sky  2021 十二月 17
blue sky 發文於   2021/12/16

小幫手您好:

我參考jack大的發文(雷達設定「同時突破當日前高及前量」)想改成一個1分K收盤價突破當日前高,且該1分K單量為當日1分K最大量的警示腳本

但目前測試是收盤價創新高,不管1分K單量是不是當日1分K的最大量都會觸發警示

再麻煩小幫手提點,感謝.

腳本如下:

var:intraBarPersist _DHgih(0);

//使用 intraBarPersist 命名的函數,去紀錄當下最新的日最高價。

_DHgih = GetField("最高價", "D");

//使用 getfieldDate("date") <> getfieldDate("date")[1] 當交易日期更新時,則初始化 _DHgih

//目的是為了避免取得前一天交易日的最高價。

if getfieldDate("date") <> getfieldDate("date")[1] then   _DHgih = 0;

value99 += 1;  //腳本每執行一次就加1

if GetFieldDate("Date") <> GetFieldDate("Date")[1] then value99 = 1;

Value1 = highestbar(volume,value99);

//當收盤價突破當日前高,並且單量突破1分K最大量,則觸發警示。

if  close cross Above _DHgih[1]

and volume cross Above Value1 then ret = 1;

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/12/17

Hello blue sky,

 

您有兩個地方需要作修改:

1. 在每日初始化 _DHgih 的時候要將 value99 也一起初始化。

   所以是

   if getfieldDate("date") <> getfieldDate("date")[1] then begin 

       _DHgih = 0;

       value99 = 0;

       end;

 

2. 應該要使用 value1 = highest(volume, value99); 才對。

   因為 highestbar 是取得最高Bar的相對位置,不是當日到當下最高的1分鐘成交量。

   且成交量突破會是 volume cross above value1[1] 才對。

 

 

XQ小幫手 發文於   2021/12/17

Hello blue sky,

 

小幫手補充,為了避免比到前日資訊,建議您可以多加個 time > 090000 或是 getfieldDate("date") = getfieldDate("date")[1] 的條件來避開當日開盤第一根。

blue sky 發文於   2021/12/17

謝謝小幫手的提點,星期一再來測試,感謝

發表回覆
Close