請教語法內容,及如何設定雷達警示次數?

  •   250 
  • 最後發表   吉星  2021 五月 06
吉星 發文於   2021/05/04

if barfreq <> "Min" or Barinterval <>3 then RaiseRuntimeError("請設定頻率為3分鐘");

variable:BarNumberOfToday(0); 

if Date <> Date[1] then
    BarNumberOfToday=1 
else
    BarNumberOfToday+=1;{記錄今天的Bar數} 

if barnumberoftoday=3 then begin
//今天第三根3分鐘K,也就是開盤第九分鐘
    if trueall(close>=close[1],3)
    //連三根K棒都是紅棒
    and volume>average(volume[1],3)*2
    //成交量是過去三根量平均量的兩倍以上
    and close=highd(0)
    //收最高
    then ret=1;
end;

排序方式: 標準 | 最新
吉星 發文於   2021/05/04

請問小編:以上的語法中,請教最後那一行end;是何作用?為何少了那一行end;就無法編譯成功?

 我加入策略雷達警示,我用意是在當天的每支三分K棒內,不論哪支K棒;只要有符合量增且三連陽觸發條件的個股就通知我,結果雷達警示只會在910分左右通知符合的幾支個股,然後至1330分股市收盤時間之內,就完全沒有再進行篩選過濾其他符合條件的K棒個股來警示通知。

我設定為「K棒內單次觸發」是否正確?是哪裡的問題?

 

XQ小幫手 發文於   2021/05/05

Hello 吉星,

 

end 是為了告訴腳本從 begin 開始的區間結束。所以只要您有用到 begin 那麼在區間結束後都會需要有 end 對應。

 

至於為什麼只通知一次是因為您的條件是 barnumberoftoday=3,所以只有在barnumberoftoday是3的時候才會運行。依您的說明,您所需的條件應該為 barnumberoftoday >= 3,這樣就是開盤 9 分鐘以後都會通知。

吉星 發文於   2021/05/06

經小幫手指點及完成修改後,今天測試一切已正常。謝謝!

發表回覆
Close