OnBar(ArrayRef<Integer> indexs) {
If(GetDicTime(fRollover, 0) <> GetDicTime(fRollover, 1) And fRollover[0][1] <> InvalidString And fRollover[0][2] <> InvalidString) {
If( MarketPosition == 1) {
Lots = CurrentContracts;
Sell( 0, Value(fRollover[0][1]), Enum_Signal_UnCorrectPrice );
Buy( Lots, Value(fRollover[0][2]), Enum_Signal_UnCorrectPrice );
Alert(DateTimeToString(Date + Time) + \" Sell\" + SymbolName + \"原 \" + fRollover[0][1]);
Alert(DateTimeToString(Date + Time) + \" Buy \" + SymbolName + \"新 \" + fRollover[0][2]);
}Else If( MarketPosition == -1) {
Lots = Abs(CurrentContracts);
BuyToCover( 0, Value(fRollover[0][1]), Enum_Signal_UnCorrectPrice );
SellShort( Lots, Value(fRollover[0][2]), Enum_Signal_UnCorrectPrice );
Alert(DateTimeToString(Date + Time) + \" BuyToCover\" + SymbolName + \"原 \" + fRollover[0][1]);
Alert(DateTimeToString(Date + Time) + \" SellShort \" + SymbolName + \"新 \" + fRollover[0][2]);
}
}
}
帮我看看我这样写的商品换月代码有什么问题吗?
换月是平老仓,开新仓。
你用buy sell ,那么交易的不是同一个合约么,平掉合约再开同一个合约,这样操作真的能换月么?
是这个问题, 那么这么实现平老仓呢?谢谢, 能给我一段代码吗?我参考一下 ,
谢谢
用buy和sell是实现不了的
如果一定要实现,恐怕不是一段代码那么简单
一般都是用监控器去实现的,更方便。这个功能如果硬要写进自己模型里,就算拿到源代码,也要知道往哪里加,怎么加,如果一点都不懂,基本上不太可能成功。