TB實盤出現(xiàn)問題:不滿足平倉條件卻平倉 [開拓者 TB]
- 咨詢內(nèi)容:
請教一下TB軟件客服:
一、我的代碼如下:
// 平空倉
Con_ExitK = Q_Last> OpenD(0)+1*(HighD(1)-LowD(1));
If(A_SellPosition>0 And HasSendOrderK==11 And Con_ExitK)
{
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice+minpoint); //平空單
SetTBProfileString("DualThrust_Ni_WAR","HasSendOrderK",Text(10));
myExitPrice=Q_AskPrice;
FileAppend("c:\DualThrust_Ni_WAR.log","Date = "+Text(Date)+"Time = "+Text(Time)+"currentTime = "+Text(currentTime) +"平空倉 = "+Text(myExitPrice));
PlotString("平空倉", "平空倉",Low);
}
//
說明:我開空倉時用下列 語句將HasSendOrderK的值設(shè)為11,并存入數(shù)據(jù)庫
SetTBProfileString("DualThrust_Ni_WAR","HasSendOrderK",Text(11));
我平空倉時用下列 語句將HasSendOrderK的值設(shè)為10,并存入數(shù)據(jù)庫
SetTBProfileString("DualThrust_Ni_WAR","HasSendOrderK",Text(10));
二、現(xiàn)在的問題
(1)現(xiàn)在我有一手空倉,沒有多倉,HasSendOrderK==11,當條件Con_ExitK = Q_Last> OpenD(0)+1*(HighD(1)-LowD(1))還沒滿足時,就執(zhí)行if中的語句,執(zhí)行結(jié)果為(c:\DualThrust_Ni_WAR.log中的顯示):
Date = 20160223Time = 0.093currentTime = 0.1平空倉 = N/A
Date = 20160223Time = 0.11currentTime = 0.133001平空倉 = N/A
HasSendOrderK變?yōu)?0
但卻沒有真正平倉;于是我將數(shù)據(jù)庫中的HasSendOrderK改為11,重新加載程序,現(xiàn)象依舊。
(2)當我將if中的條件改為If(A_BuyPosition==0 and A_SellPosition>0 And HasSendOrderK==11 And Con_ExitK) 時,將數(shù)據(jù)庫中的HasSendOrderK改為11,重新加載程序時,也是執(zhí)行if中的語句,執(zhí)行結(jié)果為(c:\DualThrust_Ni_WAR.log中的顯示):
Date = 20160223Time = 0.093currentTime = 0.1平空倉 = 68320
Date = 20160223Time = 0.11currentTime = 0.133001平空倉 = 68320
HasSendOrderK變?yōu)?0
但卻真正平倉了;
三、說明
我用的是實盤,不是模擬盤。怎么回事呢到底?
- TB技術(shù)人員:
建議先弄圖表函數(shù)吧,A函數(shù)要求思路嚴謹,且不可回測。
- TB客服:
我歷史回測回測時用的是圖表函數(shù),但實盤時最好還是用A函數(shù),因為要取實時的資金狀況等等。
- 網(wǎng)友回復(fù):
本帖最后由 小米 于 2016-2-25 09:21 編輯
看到您的委托指令也有寫日志的,建議您在日志內(nèi)容里加上輸出的每 一個條件值 ,這樣就清楚到底有沒有滿足條件,以及是哪一部分上與您肉眼觀察到的不同了。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容