多图层问题
2023-09-04 21:41

今天遇到一个bug。多图层,第0图层是11月份合约,第1图层是1月份合约。第0图层上的多头合约被平仓了,第1图层上的没有平仓, 检查图标,都没有交易信号,不知是什么原因.

评论区
zhengmb2012

请帮忙看下多图层的这种触发指令的方式是否可靠稳定?

2023-09-05 07:57
zhengmb2012

补仓:想写一个跨期套利的程序,如果不同月份的合约差价扩大到一个阈值,就同时开仓,如果价格缩小到一定值,就全部平仓。

代码:

Params

Integer bkLen(240);

Integer fixLots(10);

Numeric maxDist(30);

Numeric minDist(30);

Integer offset(1);

Vars

Integer splitdot(1);

Series<Integer> bsLock(0);

Events

OnBar(ArrayRef<Integer> indexs)

{

Commentary(\"status=nmAnt23v0829tb2008\");

splitdot = offset*MinMove()*PriceScale();

If(Data[1].O-Data[0].O < minDist) {

}

// new

If(Data[1].O-Data[0].O > maxDist

&& bsLock!=1) {

Commentary(\"exit = 0\");

Data[0].BuyToCover(0,Data[0].O+splitdot);

Data[1].Sell(0,Data[1].O-splitdot);

Data[0].Buy(fixLots,Data[0].O+splitdot);

Data[1].SellShort(fixLots,Data[1].O-splitdot);

bsLock = 1;

}

If(Data[1].O-Data[0].O < minDist

&& bsLock!=-1) {

Commentary(\"exit = 0\");

Data[1].BuyToCover(0,Data[1].O+splitdot);

Data[0].Sell(0,Data[0].O-splitdot);

Data[1].Buy(fixLots,Data[1].O+splitdot);

Data[0].SellShort(fixLots,Data[0].O-splitdot);

bsLock = -1;

}

}

2023-09-04 21:49
顶部