過濾重複的警示

  •   144 
  • 最後發表   morris8888  2024 六月 04
morris8888 發文於   2024/05/24

我希望在2分鐘頻率下,60分鐘K的KD指標黃金交叉時觸發警示。但在警示觸發後,接下來的5根2分鐘K棒期間內,若發生相同 警示,將被過濾掉,而不會觸發警示。

請問小編 我下列的腳本 這樣寫是否正確? 或是有什麼問題?

請小編指教!

//2分跨頻計算 60KD金交

SetTotalBar(810); 

value1 = xfMin_Stochastic("60",9,3,3,value2,value3,value4);//60KD

condition1 = value3 Cross Above value4;//60KD金交

condition2 = filter(condition1,5);//過濾未來5期內重複

IF condition2 then ret=1;

 

排序方式: 標準 | 最新
XS小編 發文於   2024/05/28

Hello morris8888,

 

小編看您的腳本應該沒有問題。

如果沒有如您所想的運作,也可以考慮使用變數紀錄上一次觸發時的 currentbar 來判斷經過幾根Bar。

morris8888 發文於   2024/05/30

謝謝小編的答覆 

對於currentbar的使用 ,我仔細看了官網上的範例,真的是無法理解!

冒昧請小編幫忙,能否直接在我上列的腳本 加上currentbar 的使用?

XS小編 發文於   2024/06/04

Hello morris8888,

 

currentbar回傳的是目前K棒的編號,舉例來說,腳本第一個運算的K棒就會是1,第二根運算的K棒就會是2。

所以您可以用變數保存當次與前次條件觸發時的currentbar來比較,就可以知道中間經過幾根Bar。

SetTotalBar(810); 

value1 = xfMin_Stochastic("60",9,3,3,value2,value3,value4);//60KD

condition1 = value3 Cross Above value4;//60KD金交

 

if condition1 then begin

    value11 = value10;

    value10 = currentbar;

    end;

 

if condition1 and (value10 - value11) > 5 then ret =1;

 

value11會是上一次觸發的K棒編號,value10 則是這一次觸發的K棒編號。

發表回覆
Close