为什么MT5终端中的指标(线、箭头、柱状图)会闪烁? - 页 7 12345678910 新评论 Dmitry Melnichenko 2017.06.09 18:06 #61 我不知道这是否有帮助,但我是这样解决这个问题的:在像for(int i=rates_total-prev_calculate; i>=0;i--)这样的循环的代码中,将rates_total-prev_calculate替换为1500的数值,闪烁就停止了! Eugene Myzrov 2017.06.19 14:47 #62 Dmitry Melnichenko: 我不知道是否有帮助,但我是这样解决这个问题的:我在循环的代码中用数值1500代替了rate_total-prev_calculate,for (int i=rates_total-prev_calculate; i>=0;i--),闪烁停止了奇怪的是,你这样做只是把循环中要处理的条数限制在1500条,也就是说,你注意到如果你急剧限制要处理的条数(一个数量级,甚至两个数量级),那么闪烁就会消失。也许这里面有什么东西,我将不得不检查一下。 那么,本主题第一个例子中的OnCalculate()函数 将看起来像这样。//+------------------------------------------------------------------+ //| Custom indicator iteration function //+------------------------------------------------------------------+ int OnCalculate (const int rates_total, // размер входных таймсерий const int prev_calculated, // обработано баров на предыдущем вызове const datetime& time[], // Time const double& open[], // Open const double& high[], // High const double& low [], // Low const double& close[], // Close const long& tick_volume[], // Tick Volume const long& real_volume[], // Real Volume const int& spread[]) // Spread { // int N=rates_total-prev_calculated; if (N>MAX_PERIOD) N-=MAX_PERIOD; for (int i=1500; i>0 && !IsStopped(); i--) { double ma_fast=getMA(ma_fast_handle, i); double ma_slow=getMA(ma_slow_handle, i);; aom=ma_fast-ma_slow; if (aom>last_aom) {aUP[i]=aom; aDN[i]=EMPTY_VALUE;} else {aDN[i]=aom; aUP[i]=EMPTY_VALUE;} last_aom=aom; } aUP[0]=EMPTY_VALUE; aDN[0]=EMPTY_VALUE; return(rates_total); }但是,如果我们需要在整组条形图上显示指标的话,它并不能从整体上解决这个问题。 Sergey Chalyshev 2017.06.19 19:23 #63 显然,终端并没有向经纪人发送确认报价历史已经改变的信息。(也许杀毒软件在抵制)。但经纪人(经纪人的服务器)发送和发送,"我们需要改变报价历史"。或者你的电脑太弱,MT5没有时间在经纪人发送新的报价前改变报价历史。 Aleksey Vyazmikin 2017.06.19 19:25 #64 Sergey Chalyshev:显然,该终端没有向经纪人发送确认,即报价历史已经改变。(也许杀毒软件在抵制)。但经纪人(经纪人的服务器)发了又发,"你需要改变报价历史"。或者你的电脑太弱,无法在经纪人发送新的报价历史之前改变报价历史。 ZZ在周末也会闪烁其词。 Sergey Chalyshev 2017.06.19 19:36 #65 -Aleks-: ZZ在周末也会闪烁其词。这取决于经纪人和其服务器设置。例如,MQL演示服务器在3小时后重写了历史记录。也许我错了,希望平台的开发者会来解释。 Aleksey Vyazmikin 2017.06.19 20:14 #66 Sergey Chalyshev: 这取决于经纪人和其服务器设置。例如,MQL演示服务器在3小时后重写了历史记录。也许我错了,希望平台的开发者会来解释。我有一个叫 "Otkritie "的经纪人--不是一个模拟账户。开发商作为游击队员沉默不语。 Sergey Chalyshev 2017.06.19 20:17 #67 -Aleks-:我有一个叫Otkritie的经纪人--不是一个模拟账户。开发商作为一个党派的人,沉默不语。图表重绘导致指定的图表被强行重绘。它在代码中吗? Aleksey Vyazmikin 2017.06.19 20:31 #68 Sergey Chalyshev: 图表重绘导致指定的图表被强行重绘。代码中是否有一个? 没有。 Sergey Chalyshev 2017.06.19 20:42 #69 -Aleks-: 没有。这个 特定的指标是否有故障?我将在闲暇时研究一下。 Aleksey Vyazmikin 2017.06.19 21:18 #70 Sergey Chalyshev: 这个 特定的指标是否有故障?我将在闲暇时研究一下。 我说的是MT5的标准ZigZag指标。 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
奇怪的是,你这样做只是把循环中要处理的条数限制在1500条,也就是说,你注意到如果你急剧限制要处理的条数(一个数量级,甚至两个数量级),那么闪烁就会消失。也许这里面有什么东西,我将不得不检查一下。
那么,本主题第一个例子中的OnCalculate()函数 将看起来像这样。
但是,如果我们需要在整组条形图上显示指标的话,它并不能从整体上解决这个问题。
显然,终端并没有向经纪人发送确认报价历史已经改变的信息。(也许杀毒软件在抵制)。
但经纪人(经纪人的服务器)发送和发送,"我们需要改变报价历史"。
或者你的电脑太弱,MT5没有时间在经纪人发送新的报价前改变报价历史。
显然,该终端没有向经纪人发送确认,即报价历史已经改变。(也许杀毒软件在抵制)。
但经纪人(经纪人的服务器)发了又发,"你需要改变报价历史"。
或者你的电脑太弱,无法在经纪人发送新的报价历史之前改变报价历史。
ZZ在周末也会闪烁其词。
这取决于经纪人和其服务器设置。例如,MQL演示服务器在3小时后重写了历史记录。
也许我错了,希望平台的开发者会来解释。
这取决于经纪人和其服务器设置。例如,MQL演示服务器在3小时后重写了历史记录。
也许我错了,希望平台的开发者会来解释。
我有一个叫 "Otkritie "的经纪人--不是一个模拟账户。
开发商作为游击队员沉默不语。
我有一个叫Otkritie的经纪人--不是一个模拟账户。
开发商作为一个党派的人,沉默不语。
图表重绘
导致指定的图表被强行重绘。
它在代码中吗?
图表重绘
导致指定的图表被强行重绘。
代码中是否有一个?
没有。
这个 特定的指标是否有故障?我将在闲暇时研究一下。
这个 特定的指标是否有故障?我将在闲暇时研究一下。