請大家幫我看一下,我的跨期套利程序實盤能用嗎? [開拓者 TB]
- 咨詢內容:
Vars
Numeric MyFlag(0);
Begin
if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
{
if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);
SetGlobalVar(0,1);
}
MyFlag=GetGlobalVar(0);
if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
{
if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
End
程序如上,請大家幫我看看,全局變量是這樣用嗎?
想要的功能是:
當Data1-Data0>900時,多Data0空Data1
當Data1-Data0<500,平出。
不知道有沒有邏輯錯誤? - TB技術人員:
怎么沒有呢?。。。
- TB客服:
回復 1# xiongzai0129
建議改成:- Vars
- Numeric MyFlag(0);
- Begin
- MyFlag=GetGlobalVar(0);
- if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
- {
- if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
- if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);
- SetGlobalVar(0,1);
- }else if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
- {
- if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
- if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);
- SetGlobalVar(0,0);
- MyFlag=GetGlobalVar(0);
- }
- End
- Vars
- 網友回復:
lh948 發表于 2012-1-6 10:06
回復 1# xiongzai0129
請問管理員,會出現單腿的情況么?若是出現,怎么在程序里解決這個問題呢? - 網友回復:
lh948 發表于 2012-1-6 10:06
回復 1# xiongzai0129
我把策略在盤中模擬,為什么沒有交易記錄呢?!是看監控器里的交易日志嗎?請管理員,回答下問題,不盛感激!
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
相關文章
-
沒有相關內容