求助:数K线 新评论 fxhzj 2008.11.12 05:46 我想以两根均线交叉时的那根K线为基准,数一下现价的K线柱到均线交叉的那根K线有几根,不知道怎么实现?可否用计算时间的方法来数。例如两根均线交叉时的那根K线的时间,到现价K线柱的时间差.不知道可不可以实现.如可以实现的话,应该怎么样编.请指教.谢谢 如图上中所示,我想数一下红线到黄线之间的K线柱,不知道怎么样实现? fasterMAnow = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit); fasterMAprevious = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit+1); fasterMAafter = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit-1); slowerMAnow = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit); slowerMAprevious = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit+1); slowerMAafter = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit-1); tm1=(TimeDay(TimeCurrent())-1)*24*60+TimeHour(TimeCurrent())*60+TimeMinute(TimeCurrent()); if ((fasterMAnow > slowerMAnow) && (fasterMAprevious < slowerMAprevious) && (fasterMAafter > slowerMAafter)) {//up myprice=slowerMAafter; tm=tm1; } else { if ((fasterMAnow < slowerMAnow) && (fasterMAprevious > slowerMAprevious) && (fasterMAafter < slowerMAafter)) {//down myprice=slowerMAafter; tm=tm1; } } 运行后,发现均线交叉后再运行二根K线,TM就为O了,不知道哪里错了,请高人帮忙解决一下 请教均线交易的代码,谢谢! 十字架! 自己改写了一个EA望大家看一下问题到底在哪里,为什么不下订单。 zhq7876780 2008.12.07 18:48 #1 点下十字光标拉下不就知道了 heyigeng 2012.05.11 01:41 #2 分别将当时的ibars赋值给不同变量,两者一减就行了 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我想以两根均线交叉时的那根K线为基准,数一下现价的K线柱到均线交叉的那根K线有几根,不知道怎么实现?可否用计算时间的方法来数。例如两根均线交叉时的那根K线的时间,到现价K线柱的时间差.不知道可不可以实现.如可以实现的话,应该怎么样编.请指教.谢谢
如图上中所示,我想数一下红线到黄线之间的K线柱,不知道怎么样实现?
fasterMAnow = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit);
fasterMAprevious = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit+1);
fasterMAafter = iMA(NULL, 0, ma1, 0, my_mode1, PRICE_CLOSE, limit-1);
slowerMAnow = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit);
slowerMAprevious = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit+1);
slowerMAafter = iMA(NULL, 0, ma2, 0, my_mode2, PRICE_CLOSE, limit-1);
tm1=(TimeDay(TimeCurrent())-1)*24*60+TimeHour(TimeCurrent())*60+TimeMinute(TimeCurrent());
if ((fasterMAnow > slowerMAnow) && (fasterMAprevious < slowerMAprevious) && (fasterMAafter > slowerMAafter))
{//up
myprice=slowerMAafter;
tm=tm1;
}
else
{
if ((fasterMAnow < slowerMAnow) && (fasterMAprevious > slowerMAprevious) && (fasterMAafter < slowerMAafter))
{//down
myprice=slowerMAafter;
tm=tm1;
}
}
运行后,发现均线交叉后再运行二根K线,TM就为O了,不知道哪里错了,请高人帮忙解决一下