请教这样编写有什么问题 [开拓者 TB]
- 咨询内容: 以下这样编写在模拟中与预想的不一样。原来想要持仓一直保持只有1手,已经有持仓就不能连续开仓,但交易结果是不停开仓。请问哪里出错了,应该怎样更改。另外,请教怎样把K线时间周期设置为每根8.5分钟。谢谢
Params
Numeric length(10);
Numeric lots(1);
Vars
NumericSeries MA1;
Begin
MA1=XAverage(Close,length);
If(Close>MA1&&MarketPosition<>1)
{
Buy(lots,Close);
}
If(Close<MA1&&MarketPosition<>-1)
{
SellShort(lots,Close);
}
PlotNumeric("MA1",MA1);
End - TB技术人员: 另外,我的原意是在收盘价判断突破之后才发出交易委托,但是实际是盘中突破了就开仓了。请老师指点一下错在哪里。谢谢
- TB客服: 以你的公式来看,应该是不可以加仓的。
不停开仓的表现是什么样的?方便的话截个图看一下信号。
条件里使用了close来做判断,实时中价格条件满足了就会委托 ,不会待到收盘之后的。
使用close这样的条件判断。有信号消失的可能性,请注意。。。
你前面所说的不停开仓的表现,如果信号只一个,而帐户却多次开仓,则应该是与此信号消失有关了。 - 网友回复: 实时行情中,在一根K线走完之前,其Close,High,Low都可能随之改变,所以在条件判断中使用Close可能这一Tick突破了,下一Tick又回到突破价以下
所以信号消失
而Marketposition是以图上的表示为准,而不是以你账户里实际的仓位为准,所以当价格再次突破时就会出现同一Bar上反复开仓的结果
所以要么你用Close[1]进行判断
或者你干脆用A函数和Q函数。。。。
但 - 网友回复: 我是新手,请教什么是A函数和Q函数,在哪里可以学习到。谢谢
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容