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