求助版主,为什么平仓单平不了,需人工一键撤单才可。请帮助检查语句! [开拓者 TB]
- 咨询内容:
Params
Numeric c5(5);//定义均线5常量
Numeric c10(10);//定义均线10常量
numeric c20(20);//定义均线20常量
Vars
NumericSeries mc5;//均线5
NumericSeries mc10;//均线10
NumericSeries mc20;//均线20
Bool zuoduo;//做多判断
Bool zuokong;//做空判断
Bool pingduo;//平多判断
Bool pingkong;//平空判断
Begin
mc5=AverageFC(Close,c5);//不解释
mc10=AverageFC(Close,c10);//不解释
mc20=AverageFC(Close,c20);//不解释
zuoduo= close[1]>mc5[1] and close[1]>mc10[1] and close[1]>mc20[1];//做多条件
zuokong= close[1]<mc5[1] and close[1]<mc10[1] and close[1]<mc20[1];//做空条件
pingduo= close[1]<mc5[1];//平多条件
pingkong= close[1]>mc5[1];//平空条件
PlotNumeric("cytshort",AverageFC(Close,c5));//画线
PlotNumeric("cytlong",AverageFC(Close,c10));//画线
PlotNumeric("cytshort",AverageFC(Close,c20));//画线
If(!CallAuctionFilter()) Return;//不解释
If ( zuokong And Marketposition <> -1 ) //若持仓不是空单(无仓位或持多单)且符合做空条件,就开空单。已持多单应平多反手空
{
SellShort( 1,Open );
} Else IF ( zuoduo And Marketposition <> 1 ) //若持仓不是多单(无仓位或持空单)且符合做多条件,就开多单。已持空单应平空反手多
{
Buy( 1,Open );
}
If ( pingkong And MarketPosition == -1 ) //若符合平空条件且持空单,则平空
{
BuyToCover(1,Open);
} Else IF ( pingduo And MarketPosition == 1 ) //若符合平多条件且持多单,则平多
{
Sell( 1, open );
}
End
在模拟操作中,经常出现已持单无法平仓。我手工平仓也不行,最后检查发现,在交易区里得先一键撤单成功后,才能手工平仓。郁闷啊!
请问版主,这事是咋回事呢?是我的语句执行的有问题呢,还是顺序有问题呢,还是数据传输问题(实盘中不会出现数据传输延迟缓慢的问题吧)?
- TB技术人员:
版主,难道我先把平仓条件语句放在开仓条件语句前面。那么先执行的就是平仓语句,等平仓语句执行完毕,再执行开仓语句。这样的话,把<>-1 改为==0 即可。
可否?请版主及各位高手明示! - TB客服:
版主 @小米
什么函数或公式能实现:若本K收盘时符合入场或离场条件,那就以收盘价离开。
这里面有一个纠结的地方:既然是收盘价,那么肯定是收盘了,若收盘了,再谈什么进场离场,就不可能。这就是绕圈子了。
所以咋办?难道规定14点59分55秒符合条件,那么57秒执行?
这有点点郁闷了把,尤其那些尾盘巨量盘!
请赐教!
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容