开拓者期货期权程序化系统交易论坛

标题: 交易映射的问题 [打印本页]

作者: jianghuifei    时间: 2018-5-5 20:17:39     标题: 交易映射的问题

代码一做空:If(Close <= LL[1] - MinMove * PriceScale)
                {
                        SellShort(0, data1.Close);
                        SendOrderThisBar = True;  //当前Bar有过交易
                }
代码二做多:If(Close >= HH[1] + MinMove * PriceScale)
                {
                        Buy(0, data1.Close);
                        SendOrderThisBar = True;  //当前Bar有过交易
                }

以上两个代码,交易价格都是映射到data1.close,但是做多开仓价格是正确的(以data1.close开仓),而做空的代码测试的时候却仍是以data0的收盘价成交。
这是怎么回事呢?
作者: jianghuifei    时间: 2018-5-6 13:00:45

我又仔细看了下,实际情况是:同一个超级图标里面,有一些交易开仓价格是按照我代码里写的映射到了data1.close;但是有另外一些开仓信号价格却是以data0的最低价
作者: 小米    时间: 2018-5-7 09:07:30

jianghuifei 发表于 2018-5-6 13:00
我又仔细看了下,实际情况是:同一个超级图标里面,有一些交易开仓价格是按照我代码里写的映射到了data1.cl ...

在历史K线中,图表信号的标识价格位置是一定在这个K线有有效价格范围之内的,即一定是在最高与最高低价之间。
实时交易中,会以公式写的价格进行委托 ,但是历史K线中则会自动按上述规则进行处理,于是会有你所说的表现。
公式里的价格表达方式并不是合理的。。
如果使用了委托映射,需要配合设置委托偏移,这样公式里不用写data1.价格,也可以使用其对手盘价格加减偏移点进行委托了。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2