想請教如何設定策略雷達的提醒次數

  •   279 
  • 最後發表   Atai  2022 一月 04
Atai 發文於   2021/12/28

// XQ 腳本  收盤價突破特定均線

value1 = KeltnerMA(27);

if close cross above value1 then ret = 1;

 

這個腳本可以運行,也可以通知並且傳到手機,我目前遇到的問題是希望可以在監控台指期貨30分K線時,有沒有方法能在K棒站上或跌破肯特納通道中軌時的提醒,觸發條件時能夠發出10次提醒,希望可以在睡覺時也能夠把我叫醒能夠確認盤勢,有相關能夠調整提醒次數的方法嗎? 感謝幫忙

 

排序方式: 標準 | 最新
GammaCEO 發文於   2021/12/28

第一次觸發時紀錄時間

之後一直for to迴圈N秒ret到你想要的次數 end

Atai 發文於   2021/12/29

具體上的腳本怎麼寫呢 ? 方便請教嗎  感謝你

 

GammaCEO 發文於   2021/12/29

{其實想了想,XS是有成交才有tick,用迴圈時間方式可能會有遺漏,
建議多用幾行once函數指定時間間隔觸發應該就能達到你指定的提醒。}

variable: intrabarpersist ft(0);

value1 = KeltnerMA(27);

once(close cross above value1)//第一次觸發
begin
ft=currentTime;
ret=1;
end;

//每5秒提醒一次
once(currentTime>=ft+5)
begin
ret=1;
ft=currentTime;
end;

once(currentTime>=ft+5)
begin
ret=1;
ft=currentTime;
end;

once(currentTime>=ft+5)
begin
ret=1;
ft=currentTime;
end;
//以此類推複製

  • 按讚來自於
  • frc210091
Atai 發文於   2021/12/29

不好意思 我是用之後編譯過程說 ft沒有宣告,內容如下

跌破肯中軌51變數 "ft" 沒有宣告,請用 Vars: 的方式宣告,冒號後面是變數名稱再用括號填入預設值。例如: Vars:varA(100); 如果要宣告陣列請用 Arrays: 冒號後面是名稱再用 [] 設定維度與大小,括號填入預設值。例如 Arrays:arr1[10](0);。

對不起我本身對於這個腳本撰寫沒有功力,這個處理方法是要怎麼寫呢 ?  謝謝幫忙

GammaCEO 發文於   2021/12/29

"ft"第4行第一個語法就是宣告了,怎麼會沒有宣告???

我自己編譯是OK的

Atai 發文於   2021/12/29

有成功編譯了,非常感謝,但我試用之後達成觸發條件後一樣只有一次提醒,沒有間隔5秒提醒一次,是有哪些選向要做調整嗎

不好意思一直麻煩你,感謝

GammaCEO 發文於   2021/12/29

哈~忘了加上計算次數 拍謝

可再宣告一行
variable: intrabarpersist nt(0);//次數

然後在每段end前加一行nt+=1;

第二次之後觸發都改成once(currentTime>=ft+5 and nt=n) n=順序

Atai 發文於   2021/12/30

有打上去,不過我好像還是有漏掉的地方,是不是哪裡我又忽略了

附加文件

GammaCEO 發文於   2021/12/30

"nt=n"的n是數字是觸發順序,不是直接複製貼上.............

  • 按讚來自於
  • frc210091
Atai 發文於   2021/12/30

還是要跟你先說聲謝謝,有成功編譯,但提醒一樣只有跳出一次 我有那裡又錯了嗎 ? 對不起我是剛接觸這些腳本 很多都不懂,感謝

variable: intrabarpersist ft(5);

variable: intrabarpersist nt(0);//次數

 

value1 = KeltnerMA(9);

 

once(close cross below value1)//第一次觸發

begin

ft=currentTime;

ret=1;

nt+=1;

end;

 

//每5秒提醒一次

 

once(currentTime>=ft+5 and nt=1)

begin

ret=1;

ft=currentTime;

nt+=1;

end;

 

once(currentTime>=ft+5 and nt=2)

begin

ret=1;

ft=currentTime;

nt+=1;

end;

 

once(currentTime>=ft+5 and nt=3)

begin

ret=1;

ft=currentTime;

nt+=1;

end;

 

once(currentTime>=ft+5 and nt=4)

begin

ret=1;

ft=currentTime;

nt+=1;

end;

 

once(currentTime>=ft+5 and nt=5)

begin

ret=1;

ft=currentTime;

nt+=1;

end;

 

//以此類推複製

顯示更多回應 發表回覆
Close