平仓开仓使用不同的主力合约,请问高手门,版主
IF(FLAG==1) sell(lots,o);//需要上一个主力合约以及价格平仓buy(lots,o);// 需要当前主力合约开及价格开仓
123
本帖最后由 cts2015deng 于 2020-12-6 21:26 编辑//DATA0为指数,DATA1为888
//------------------------------------------------------------------------
Params
Numeric lots(1);
Numeric length2(35);
Numeric n(3);
Vars
dic<array<string>> my_roll("TB_ROLLOVER");
array<String> my_symbol;
Array<String> my_symbol2;
Array<Numeric> multiples;
Series<Numeric> hh;
Series<Numeric> ll;
Numeric MinPoint;
Events
onBar(ArrayRef<Integer> indexs)
{
multiples=lots;
if(data1.my_roll <> data1.my_roll )//
{ DATA1.my_symbol=data1.my_roll;
data1.my_symbol2=data1.my_roll;
data1.Commentary("00000:"+DATA1.my_symbol);
data1.Commentary(" 11111:"+DATA1.my_symbol2);
data1.PlotBool("pan",true);
{ if(MarketPosition==1){SetOrderMap2AppointedSymbol(my_symbol, multiples); sell(lots,o); //映射到上一个主力合约
SetOrderMap2MainSymbol(); Buy(lots,o); } //映射到当前主力合约 }
if(MarketPosition==-1){ SetOrderMap2AppointedSymbol(my_symbol, multiples); BuyToCover(lots,o);
SetOrderMap2MainSymbol(); SellShort(lots,o);}
}}
//my_Rollover = my_Rollover + value(my_roll) - open;
//data1.callhuanye(1);
hh=Highest(h,length2);
ll=Lowest(l,length2);
if(L<LL-n*minpoint and MarketPosition<>-1 ) //SetOrderMap2MainSymbol();
SellShort(lots, Min(LL-(n+1)*minpoint,o-minpoint));
if(H>hh+n*minpoint and MarketPosition<>1 )
//SetOrderMap2MainSymbol();
Buy(lots,Max(HH+(n+1)*minpoint,o+minpoint));
//if(barssinceentry>length2)
//Sell(0,o);
}
// 加了后面这在四行这段后依然不能实现,还闪起来了图表 if(MarketPosition==1){SetOrderMap2AppointedSymbol(my_symbol, multiples); sell(lots,o); //映射到上一个主力合约
SetOrderMap2MainSymbol(); Buy(lots,o); } //映射到当前主力合约 }
if(MarketPosition==-1){ SetOrderMap2AppointedSymbol(my_symbol, multiples); BuyToCover(lots,o);
SetOrderMap2MainSymbol(); SellShort(lots,o);}
页:
[1]