個人寫出一個策略 2分鐘頻率加入跨頻率的30分鐘的SMA
指標可以劃出沒問題 警示腳本也能編譯完成
但執行警示策略的時候 讀取速度超慢 且慢慢都會走成錯誤 (資料讀取800筆 其他都沒勾選)
最後策略無法執行 SMA語法撰寫是下列average(getfield("Close", "30"),360);
奇怪的是我更改成 EMA語法xfMin_XAverage("30",GetField("Close","30"),360);
策略就能執行 這問題到底出在哪裡......可否幫忙解答
個人寫出一個策略 2分鐘頻率加入跨頻率的30分鐘的SMA
指標可以劃出沒問題 警示腳本也能編譯完成
但執行警示策略的時候 讀取速度超慢 且慢慢都會走成錯誤 (資料讀取800筆 其他都沒勾選)
最後策略無法執行 SMA語法撰寫是下列average(getfield("Close", "30"),360);
奇怪的是我更改成 EMA語法xfMin_XAverage("30",GetField("Close","30"),360);
策略就能執行 這問題到底出在哪裡......可否幫忙解答
你使用2分K跨30分,又要計算360期的30分K平均,需要準備5400筆資料。800筆是不夠的。
已寄出 再請小幫手查看
Hello *G,
小編收到的匯出檔是指標頁面匯出檔而非策略雷達匯出檔。
由於您提到發生問題的是策略雷達,故提供策略雷達匯出檔會比較適合。
或是麻煩您描述下指標頁面上是哪個腳本和策略雷達相同,如何修改的。
另外有個可能性是資料引用筆數不足導致一直重算。
您可以嘗試看在腳本中加上 SetBackBar 來指定所需的資料引用筆數長度看能否解決問題。
抱歉小編 我已更新上傳策略雷達
請問小編有查出問題了嗎
目前按照小編的建議測試一個禮拜後 雷達啟動是沒問題
但還有個疑問是跨頻率指標畫出來速度 EMA語法xfMin_XAverage("30",GetField("Close","30"),360); 這能很快顯示出來
但 SMA語法撰寫是下列average(getfield("Close", "30"),360); 卻跑了快10秒
SMA與EMA兩個跨頻率語法的繪製速度與計算 這很難覺得沒關聯
XQ有考慮新增SMA跨頻率函數嗎
之前忘記謝謝許教授的回覆!! 在此補上感謝協助解答疑惑
就我的理解,是因為EMA與SMA運算方式不同,造成SMA速度比較慢。在跑每根K棒時,360期30分鐘的EMA會使用上期的EMA(這個在上期已經算好了),透過下列公式計算。計算時只需要抓當期的30分鐘收盤價結合2/(360+1)運算:
lastEMA + 2/(360+1) * (GetField("Close","30") - lastEMA)
SMA則每根K棒都要抓360根30分K的收盤價計算平均,跨頻率抓30分K會比較慢:
Average(getfield("Close", "30"),360)
這與是否要新增跨頻率SMA無關。
理解了! 感謝許教授解惑
Hello *G,
根據您提供的雷達匯出檔,小編認為是因為您沒有撰寫 setbackbar 指定資料引用筆數,導致策略執行錯誤 (錯誤訊息為對應資料不存在)。
可以加上 setbackbar(360); 就可以避開這項錯誤,也不會卡很久 (卡很久的原因應該是因為資料引用筆數不足所導致的調整引用範圍和重算)。
9 評論