跨期策略,急需高手幫忙! - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
做股指跨期,允許連續建倉,最大倉位為5.每次同時買賣兩個品種,當出現單腿的時候,讓另一個品種追單。我沒想到什么好辦法,只能讓其二次發單,但這樣結果依然不定。之前還有交易,現在都沒交易了,不知道為啥?!嗚嗚嗚。。。。。。
懇求管理員和高手們,幫忙解答下!不勝感激!非常感謝!附代碼:
Params
Numeric Bpionts(7.8);//大基差值
Numeric Spionts(7.0);//小基差值
Numeric lots(1);//交易數量
Numeric maxposition(5);
Vars
Bool Entercon;//入場條件
bool Exitcon;//出場條件
Numeric MyFlag(0);//全局變量標識,用來限制每次平倉后開新倉。
Begin
if(BarStatus == 0) //在開始時定義全局變量
{
SetGlobalVar(0,0);
}
//初始化全局變量
MyFlag=GetGlobalVar(0);
//入場和出場條件
Entercon=(Data1.Q_BidPrice-Data0.Q_AskPrice)>=Bpionts;//基差變大時,買近賣遠
Exitcon=(Data1.Q_AskPrice-Data0.Q_BidPrice)<=Spionts;//基差變小時,賣近買遠
//入場
if (( Entercon&& MyFlag==0))
{
if(Data0.A_BuyPosition>=0 &&Data1.A_SellPosition>=0&&Data0.A_BuyPosition<=maxposition&&Data1.A_SellPosition<=maxposition)
{
Data0.A_SendOrder(Enum_Buy ,Enum_Entry,lots,Q_AskPrice+MinMove*PriceScale);//買近月,以盤口賣一價減一跳
Data1.A_SendOrder(Enum_Sell,Enum_Entry,lots,Q_BidPrice-MinMove*PriceScale);// 賣遠月,以盤口買一價加一跳
if(Data0.A_BuyPosition!=0&&Data1.A_SellPosition!=0&&Data0.A_BuyPosition==Data1.A_SellPosition) SetGlobalVar(0,1);
if(Data0.A_BuyPosition-Data1.A_SellPosition==1)
{
Data1.A_SendOrder(Enum_Sell,Enum_Entry,lots,Q_BidPrice-MinMove*PriceScale);
SetGlobalVar(0,1);
}
if(Data0.A_BuyPosition-Data1.A_SellPosition==-1)
{
Data0.A_SendOrder(Enum_Buy ,Enum_Entry,lots,Q_AskPrice+MinMove*PriceScale);
SetGlobalVar(0,1);
}
}
}
//出場
if (Exitcon&& MyFlag==1)
{
if(Data0.A_BuyPosition!=0&&Data1.A_SellPosition!=0&&Data0.A_BuyPosition==Data1.A_SellPosition)
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice-MinMove*PriceScale);//賣近月,以盤口買一價加一跳
Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice+MinMove*PriceScale); //買遠月,以盤口賣一價減跳
if(Data0.A_BuyPosition==0 &&Data1.A_SellPosition==0)
{ SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
if(Data0.A_BuyPosition==0 &&Data1.A_SellPosition!=0)
{
Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice+MinMove*PriceScale);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
if(Data0.A_BuyPosition!=0 &&Data1.A_SellPosition==0)
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice-MinMove*PriceScale);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
}
}
//14時59分撤掉所有未成交單
if(time>0.1458)
{
Data0.A_DeleteOrder;
Data1.A_DeleteOrder;
}
End - TB技術人員:
我看到了一大堆的嵌套if語句,呵呵。。。
我也是菜鳥。。 - TB客服:
wilsonkor 發表于 2012-5-11 10:45
我看到了一大堆的嵌套if語句,呵呵。。。
我也是菜鳥。。
嗚嗚,不要嘲笑,心里明白就行,哈哈! - 網友回復:
基于基差的跨期套利模型啊。。。 - 網友回復:
wilsonkor 發表于 2012-5-11 12:27
基于基差的跨期套利模型啊。。。
您能幫我解決下單腿問題么?我都弄暈了,
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:實盤系統。
- 下一篇:沒有了!
相關文章
-
沒有相關內容