請教管理員關于A_SendOrder函數問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2014年06月14日
- 咨詢內容:
本帖最后由 ST振翔 于 2014-3-5 14:41 編輯
策略為反手模型,即滿足開多條件的話,則平空倉開多倉。但時常發生成交不了的現象,因為人不總是在電腦旁邊,這樣容易浪費時機,還需要后續用監控器再操作一下。原有代碼如下:
If(close[1]<ema[1])
{
MyEntryPrice=Open;
SellShort(1,MyEntryPrice);
}
If(close[1]>ema[1])
)
{
MyEntryPrice=Open;
Buy(1,MyEntryPrice);
}
現在想改成用A_SendOrder函數來控制開倉,不考慮測試和滑點等問題,是否代碼改成如下就可以了?同時MyEntryPrice值需要止損用,還是用OPEN取值:
If(close[1]<ema[1] && A_SellPosition()==0)
{
MyEntryPrice=Open;
A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
}
If(close[1]>ema[1] && A_BuyPosition()==0)
{
MyEntryPrice=Open;
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
}
總而言之,希望能用A_SendOrder函數達到和原來代碼差不多的效果,在實盤中稍微有點價格偏差也沒關系。
- TB技術人員:
樓主的代碼,理論上可以,但是實際執行中,A_SellPosition()、 A_BuyPosition()的值不見得能及時得到,tb程序每個tick都會觸發,可能會存在重復開倉的問題
- TB客服:
樓主別忘了寫平倉操作哦