在1分K線警示中 當成交價在5日均線及10日均線警示

  •   345 
  • 最後發表   股市小貓咪  2025 二月 19
股市小貓咪 發文於   2025/02/19

因為還要寫入其他條件所以用1分K偵測  K棒單次觸發  逐筆洗價  

希望來到5日均線或10日線價會有警示,但當日內部不會重複警示

value1 = average(GetField("close","D"), 5);  //5日均價

value2 = average(GetField("close","D"), 10); //10日均價

 

Once( close = value1) 

begin

retmsg="5日均價";

ret=1;

end;

 

Once( close = value2) 

begin

retmsg="10日均價";

ret=1;

end;

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/02/19

你這樣寫有可能在跑歷史K棒時已經觸發ONCE結構,這會造成今天盤中符合條件仍然不會警示。

你可以加上if getinfo("isrealtime")=0 then return;來忽略歷史K棒。

股市小貓咪 發文於   2025/02/19

不好意思  想請教一下  如果我加上if getinfo("isrealtime")=0 then return;來忽略歷史K棒  他的意思是如果1分K如果當下K棒是活的就會持續執行這個全部的程式,反之則重置程式的所有設定,也就是說只要在盤中執行的開始執行這個程式的當下他就會重置前1分K棒所有觸發的設定直到收盤或我關閉程式。我的理解是這樣的~是正確嗎?

虎科大許教授 發文於   2025/02/19

加上if getinfo("isrealtime")=0 then return;只是程式在跑歷史K棒時return,亦即程式不會在歷史K棒執行。這樣變數都會保留預設值。開始即時洗價後,程式就開始執行。你的ONCE結構若條件符合就會執行一次,而且只執行一次。由於你設定K棒單次觸發,因此不可使用ONCE,應該改成IF。

發表回覆
Close