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

标题: avgentryprice的疑问 [打印本页]

作者: chinaoracle    时间: 2019-1-21 21:45:29     标题: avgentryprice的疑问

If(MarketPosition ==1 and c<=AvgEntryPrice*0.98);
{
  sell(0,0);
}

If(MarketPosition ==-1 and c>=AvgEntryPrice*1.02);
{
   BuyToCover(0,0);
}
本想表达:收盘价小于等于建仓价的0.98时,平多仓;收盘价大于等于建仓价的1.02时,平空仓;
但是,写进上述语句后,就会令buy和sell,sellshort和buy to cover成对的在同一bar上出现。
请老师解释下。
作者: chinaoracle    时间: 2019-1-21 22:11:12

是否和我公式中买卖指令有关?买卖指令为Buy(shou,Max(o,h[1]),SellShort(shou,Min(o,l[1])
}
作者: 小米    时间: 2019-1-22 09:24:49

if()后面不能加分号。
使用了分号,条件就不能限制下面的语句了。
作者: chinaoracle    时间: 2019-1-22 14:06:29

感谢多多。
原来是语句逻辑错误。以为编译通过了就没问题。
作者: chinaoracle    时间: 2019-1-22 14:33:40

如果使用指数合约映射主力合约做交易,公式中的avgentryprice的取值是指数合约的吧?
作者: 小米    时间: 2019-1-22 17:12:36

chinaoracle 发表于 2019-1-22 14:33
如果使用指数合约映射主力合约做交易,公式中的avgentryprice的取值是指数合约的吧? ...

是的。取的是指数合约上图表信号的开仓平均价格,与帐户实际持仓的价格无关。
作者: chinaoracle    时间: 2019-1-30 14:54:27

avgentryprice似乎不是一个固定的值?1楼的平仓语句,在满足现价《=0.98买入均价后,仍无法执行。为什么?因为进仓的当根bar离开了bar的样本数之外?
作者: 小米    时间: 2019-1-30 15:34:03

chinaoracle 发表于 2019-1-30 14:54
avgentryprice似乎不是一个固定的值?1楼的平仓语句,在满足现价《=0.98买入均价后,仍无法执行。为什么? ...

只要开仓信号稳定 avgentryprice就是一个固定的值 。
关键是你的条件里,在实时行情中CLOSE却不是一个固定的值 。所以用收盘价来判断条件,是容易导致信号忽闪或消失的。
作者: chinaoracle    时间: 2019-1-30 17:29:35

avgentryprice应该就是交易账户中的“买均价”或“卖均价”吧?没有新交易,而“买均价”的数值一直在变化,为何?
作者: chinaoracle    时间: 2019-1-30 17:39:44

譬如,现在,“买均价”是11480(胶),我记得,模型成交的价格是11810(数据合约),照理,依1楼的语句,早就平仓了。何况,运行的是10秒周期k线。
作者: chinaoracle    时间: 2019-1-30 21:47:46

小米 发表于 2019-1-30 15:34
只要开仓信号稳定 avgentryprice就是一个固定的值 。
关键是你的条件里,在实时行情中CLOSE却不是一个固 ...

难道当每个bar没有走完时,每个即时成交的价位都是close?这意味着唯有这个bar走完后,其close才是确定的?
所以,要得到确定的close,必须使用close[x],是这样吗?
作者: 小米    时间: 2019-1-31 09:11:57

chinaoracle 发表于 2019-1-30 21:47
难道当每个bar没有走完时,每个即时成交的价位都是close?这意味着唯有这个bar走完后,其close才是确定的 ...

avgentryprice并非记录帐户的平均持仓价,而是记录图表信号上的开仓均价。
是的,使用close[1]是稳定的。




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