小幫手你好
我想寫一個過去20天曾連續漲停過2天以上,當回檔下至穿越五日線時進場
if countifaRow(close = getfield("漲停價", "D") , 20) >=2 and close cross Under xaverage(close , 10) then ret = 1;
我使用選股回測卻跑不出來
謝謝!
小幫手你好
我想寫一個過去20天曾連續漲停過2天以上,當回檔下至穿越五日線時進場
if countifaRow(close = getfield("漲停價", "D") , 20) >=2 and close cross Under xaverage(close , 10) then ret = 1;
我使用選股回測卻跑不出來
謝謝!
Hello StockS,
您描述的條件和腳本並不相同。
countifaRow(close = getfield("漲停價", "D") , 20) >=2
是過去20根Bar內近2根以上的Bar漲停,而不是20根內曾發生過。
若是要20根內曾發生過應該撰寫為:
condition1 = trueall(close = getfield("漲停價", "D") , 2);
condition2 = trueany(condition1, 19);
另外 close cross Under xaverage(close , 10) 是收盤價向下穿越10期指數平均而非5期指數平均。
且指數平均是需要用到前期運算值的指標,故您的資料讀取筆數要設足夠才能運算出正確的數值。
小幫手分別測試兩個條件,各別都能篩選出結果,但兩者合再一起沒有同時符合的商品。
您可以在腳本中加上print將相關數值條件印出檢查,或是告知哪個商品何時應該要符合條件但卻沒有讓小幫手確認
1 評論