如何使XY绘制的对象平稳变化(MT4 vs MT5) - 页 10

 
Vitaliy Kuznetsov:

谢谢你,好的模板,它将派上用场。从你的工作中学习到非常多和有趣的东西。

德米特里,我仍然认为你是一个能够表现出高技能的程序员。

如果有建议代码,建设性的想法,与快乐(不仅是我)将采用你的经验。

P.S. 看到一次代码,比听到100次要好。

是的,排着队,站着队,抱着胳膊......。什么的代码?

 
Nikolai Semko:

我怀疑这在自由职业中是可以做到的。那些能做的人都被工作压得喘不过气来,而那些空闲的人可能比你更不 了解坎瓦。

这就是为什么我不喜欢物体,因为它们在流动中拥有自己的生命,你无法控制。相反,有了kanvas,一切都在你的掌握之中。这就是为什么我必须为测试员写额外的代码,用画布在每个tick上计算帧的速度不超过每秒30次。
另外,在MT5中使用TFs和历史加载工作是非常不合理和低效的。只有M1被加载,而且是以未打包的形式,而其他的只根据M1计算。因此,如果你第一次启用MN1,100条的加载时间将超过10秒。我不得不自己写条形负载,并将M1转换为打包形式,并在内存中拥有所有计算的TF。我的所有TF和M1一起占用的内存空间只比MT5中的普通M1多出一小部分。

这是一种忏悔,还是一种喜悦?

 
Алексей Тарабанов:

是悔改,还是狂喜?

你看,情况恰恰相反。你创造了一个程序--它是一个按你的法则生活的世界。你做了一个面向对象的东西:你催生了一个像阿米巴虫一样的东西,或者是冷却器,独立生活。

 
Алексей Тарабанов:

这是悔改,还是狂欢?

这是基于不充分的自我的胡言乱语。而且与在MT5中工作的现实情况相差甚远。

 
Nikolai Semko:

那么首先,根据我给你的这个算法,用物体固定你的指标。

尼古拉,如果不困难的话,你对固定指标在测试器中随时间推移而转移的事实有什么看法?如果你试图用鼠标改变比例,它就会被固定。

帆布也是如此。要么不移位,要么移位不正确(经过一段时间),直到你手动改变图表比例。计算和警报本身是正确的,但图形...

当然,一定有一个解决方案,我看不到。或者是测试器出了问题?

 
Vitaliy Kuznetsov:

尼古拉,如果你不介意的话,你对测试器中的修正指标随时间推移而变化有什么看法。如果你试图用鼠标改变比例,它就会被纠正。

帆布的情况也是如此。要么不移位,要么移位不正确(经过一段时间),直到你手动改变图表比例。计算和警报本身是正确的,但图形...

当然,一定有一个解决方案,我看不到。或者是测试器有问题?

我 在OnChartEvent中 添加了一行内容

if (id == CHARTEVENT_CHART_CHANGE ) Draw (); 
监控一个图表变化事件(一个新的条形图也是一个图表变化事件)。
  • 我在测试者模式的OnCalculate中添加了一行,以便在新条形图出现时重新绘制,因为OnChartEvent在测试者中不起作用:
     if(rate_total != prev_calculated ) if (Canvas.tester) {ChartChanged (); Draw ();}
  • 如果它在MT4中不工作,这意味着CHARTEVENT_CHART_CHANGE事件有问题。我现在不能检查,还没有报价。



     
    Nikolai Semko:

    谢谢你的提示。还没来得及做,今天就试试吧