关于实盘交易中图表信号价与实际委托价相差很大的问题
在实盘运行中,发现图表价与实际提交委托价相差很大的问题。 图表价格是4158,实际提交委托价位4133 下单部分代码原代码: // 开空单的条件 If( Close < ma1Value and rocCalc[1] < 0 And Low <= dnBand[1] And Low < LowestValue[1] And MarketPosition != -1){ buyPrice = Min(Open,dnBand[1]); Commentary(\"开盘价:\"+text(Open)+\",下轨价:\"+text(dnBand[1])+\",购买价格:\"+text(buyPrice)); SellShort(lots,buyPrice); } 实际上我也找到部分问题所在修正后的代码: // 开空单的条件 If( Close[1] < ma1Value And Low <= dnBand[1] And Low < LowestValue[1] And MarketPosition != -1){ buyPrice = Min(Open,dnBand[1]); buyPrice = Min(buyPrice,LowestValue[1]); // -------------->把这个打开,图表价格就和实际成交的委托价格相符合 Commentary(\"开盘价:\"+text(Open)+\",下轨价:\"+text(dnBand[1])+\",购买价格:\"+text(buyPrice)); SellShort(lots,buyPrice); } 我目前发现可能出现的问题1. Close < ma1Value 价格出现闪烁,但是根据当前画线数据来看,不存在信号闪烁. // 不是本次价格偏差的原因。 2. 判断条件中 Low < LowestValue[1] ,但是实际下单为buyPrice = Min(Open,dnBand[1]);,存在偷价,增加buyPrice = Min(buyPrice,LowestValue[1]); 即可,我发现,如果价上这个代码,实际委托价和图表中的价格就相对一致了。 通过检查发现,出现信号的时候,价格应当是4133,但是我委托价填写的是4158,但是实际报单依然以4133来提交委托的,所以我想问, 所以,假如我做空,现在最低价是4133,出信号的时候 我委托4158空, SellShort(lots,4158) 这个可以吗? 还是说,你们会自动改价格为 SellShort(lots,4133)转换为代码就是:If(low <4133 And MarketPosition != -1){ SellShort(1,4158);} 我想问,不考虑价格偏移的情况,此时委托价到底是多少,到底是4158还是4133我理解的SellShort函数,就是以填写的价格提交委托,但是目前看又不是的,咨询客服,客服说,出现信号的时候是4133,所以以4133作为委托价,然后再价格偏移报单。 在实盘运行中,发现图表价与实际提交委托价相差很大的问题。 图表价格是4158,实际提交委托价位4133 下单部分代码原代码: // 开空单的条件 If( Close < ma1Value and rocCalc[1] < 0 And Low <= dnBand[1] And Low < LowestValue[1] And MarketPosition != -1){ buyPrice = Min(Open,dnBand[1]); Commentary(\"开盘价:\"+text(Open)+\",下轨价:\"+text(dnBand[1])+\",购买价格:\"+text(buyPrice)); SellShort(lots,buyPrice); } 实际上我也找到部分问题所在修正后的代码: // 开空单的条件 If( Close[1] < ma1Value And Low <= dnBand[1] And Low < LowestValue[1] And MarketPosition != -1){ buyPrice = Min(Open,dnBand[1]); buyPrice = Min(buyPrice,LowestValue[1]); // -------------->把这个打开,图表价格就和实际成交的委托价格相符合 Commentary(\"开盘价:\"+text(Open)+\",下轨价:\"+text(dnBand[1])+\",购买价格:\"+text(buyPrice)); SellShort(lots,buyPrice); } 我目前发现可能出现的问题1. Close < ma1Value 价格出现闪烁,但是根据当前画线数据来看,不存在信号闪烁. // 不是本次价格偏差的原因。 2. 判断条件中 Low < LowestValue[1] ,但是实际下单为buyPrice = Min(Open,dnBand[1]);,存在偷价,增加buyPrice = Min(buyPrice,LowestValue[1]); 即可,我发现,如果价上这个代码,实际委托价和图表中的价格就相对一致了。 通过检查发现,出现信号的时候,价格应当是4133,但是我委托价填写的是4158,但是实际报单依然以4133来提交委托的,所以我想问, 所以,假如我做空,现在最低价是4133,出信号的时候 我委托4158空, SellShort(lots,4158) 这个可以吗? 还是说,你们会自动改价格为 SellShort(lots,4133)转换为代码就是:If(low <4133 And MarketPosition != -1){ SellShort(1,4158);} 我想问,不考虑价格偏移的情况,此时委托价到底是多少,到底是4158还是4133我理解的SellShort函数,就是以填写的价格提交委托,但是目前看又不是的,咨询客服,客服说,出现信号的时候是4133,所以以4133作为委托价,然后再价格偏移报单。