開空開多代碼的相對位置為何出現完全不同的測試結果?
日內策略,1分鐘線,測試近2年,結果如下、太詭異了:
開多代碼放在前面,交易報告出來:凈利潤844.18,多頭交易:844.18,空頭交易:00.00,空頭交易次數為0,多頭交易次數10;
開空代碼放在前面,交易報告出來:凈利潤-16 542.89,多頭交易:00.00,空頭交易:-16 542.89,多頭交易次數為0,空頭交易次數11;
說明:開倉條件中有限制要滿足holding=0,并且限制了一天內只能開倉一次;金字塔里面的語句執行到底是個什么機制啊?
教材里給的交易系統下單代碼一般都是
if entertime and holding=0 then
buy(buycond,,,);
sell(sellcond,,,);
結果我跑出來程序幾乎只在執行buy;但是buycond和sellcond是互斥的吧,那應該二者都有機會的呀,為什么會集中執行前面的buy呢?
后來我就自己嘗試著改了一下
if entertime and holding=0 then
begin
if buycond then
buy(1,,,);
else if sellcond then
sell(1,,,);
end
這樣子才顯得正常了,buy和sell的確有交替執行、而不是說排在前面的就先執行。
[此貼子已經被作者于2014/7/28 13:14:37編輯過]