你好,
小弟寫了一個30分K的警示策略
1. KD <20 (30分K)
2. MACD DIF>=0(30分K)
3. K棒價格與量比前K棒高
4. 前一天外資買超,投信買超過150張
但回測卻一直無法跑出成功的報告,是否可以請小幫手協助,是否外資投信籌碼使用日K上有需要改寫的地方,謝謝
KKuramas 您好
主要是因為您設了這行
settotalbar(3);
這個是限制資料讀取筆數的語法
如果您要使用MACD 等指標,資料設定 3 是無法計算的
資料讀取筆數的介紹如下,提供給您
以及如何取得 MACD 正確的值(以下這篇有詳細的介紹)
以上提供給您參考 感謝
謝謝小幫手回復,有將抓取的參數加入指令列中(如下方)。有放入和無放入下列指令的結果,回測的數據都是一樣的
SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);
那是否有依定要放入SetTotalBar的指令呢?
另外加入下方的外資和投信買賣超的指令列,就無法跑出回測結果,
請問小幫手該如何修改呢? 謝謝
------------------------------------------------------------
input:Fboughts(100); setinputname(1,"外資買超張數");
input:Sboughts(100); setinputname(2,"投信買超張數");
input:TXT1("僅適用日線"); setinputname(3,"使用限制");
if BarFreq <> "D" then return;
if GetField("外資買賣超")[1]>Fboughts and GetField("投信買賣超")[1]>Sboughts
then ret=1;
KKuramas 您好
因為您在腳本當中有撰寫指定頻率壓
也就是以下這段
if BarFreq <> "D" then return;
這段的意思是如果雷達不是日線的話 就停止程式
且"外資買賣超" 與 "投資買賣超" 是屬於日資料的
日內頻率是沒有數據的
8 評論