帆布与标签 - 页 17

 
Mihail Matkovskij:

关于g代码的问题,我可以通过争论我说的每一个字来找到你的g代码!这是很重要的。不像你,指责......找到了吗?

我不是一个程序员。我是自学成才。你可以戳我的任何代码,并称其为任何你想要的东西,但无论你怎么看,我的代码都远远不是最合适的。

 
Artyom Trishkin:
一个感兴趣的话题被捣毁了......什么样的人...

这个主题本可以很有趣。但可惜的是,这将永远不会发生。

 
Alexey Viktorov:

我不是一个程序员。我是自学成才。你可以戳我的任何代码,并称其为任何你想要的东西,但无论你怎么看,我的代码都远远不是最合适的。

但是社区其他成员的守则,对你来说,是...嗯,你显然是自学成才。所以你不需要不成文的规定,说你不能糟蹋 你的同事。

现在是代码问题https://www.mql5.com/ru/code/24076。 当然,我不会像你一样,说这是垃圾代码......但我还是要发表我的意见。

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   calculate();
   ArrayFill(extImg1, 0, IMG_WIDTH1*IMG_HEIGHT, 0);
   textComment(dts(lots[0])+" ", IMG_WIDTH1, 1, extImg1);
   textComment(dts(lots[1])+" ", IMG_WIDTH1, 2, extImg1);
   textComment(dts(lots[2])+" ", IMG_WIDTH1, 3, extImg1);
   textComment(dts(lots[3])+" ", IMG_WIDTH1, 4, extImg1);
   textComment(dts(lots[4])+" ", IMG_WIDTH1, 5, extImg1);
   textComment(dts(lots[5])+" ", IMG_WIDTH1, 6, extImg1);
   textComment(dts(lots[6])+" ", IMG_WIDTH1, 7, extImg1);
   textComment(dts(lots[7])+" ", IMG_WIDTH1, 8, extImg1);
   ResourceCreate("::bbb", extImg1, IMG_WIDTH1, IMG_HEIGHT, 0, 0, IMG_WIDTH1, clr_format);
  //ChartRedraw();
//--- return value of prev_calculated for next call
   return(rates_total);
}

如果BitmapLabel能在测试中工作,为什么对它的更新频率没有任何限制,在 "所有刻度 "模式下?你希望现代的铁会消化一切吗?)优化在哪里?当我在寻找一种从高负荷进程中输出文本的方法时,你向我提出了这个建议(在测试器中输出,在"所有刻度 "模型上,以及 循环的 图表上)?

而当我说它对我不起作用时每一个刻度 上更新信息 ...

https://www.mql5.com/ru/forum/1111/page2979#comment_21212761

为什么不使用CCanvas,它是专门为此目的而设计的?的确,我看了一下,你在某个地方写道,据说它调用了不必要的函数等等。所以你没有为测试器做更新频率的限制,但同时,CCanvas的功能在某种程度上阻碍了你......:)

很奇怪...


现在轮到你告诉我为什么你认为我的代码是 "G代码 "了。只是,要有论据,而不是空谈!

 
Artyom Trishkin:
你把一个有趣的话题弄得乱七八糟......。什么样的人...

我所做的只是接受了参与测试的提议,这导致我需要向被邀请者提出几个问题......

 
Mihail Matkovskij:

...

如果BitmapLabel要在测试器中运行,在 "所有刻度 "模式下,为什么对BitmapLabel的更新频率没有限制?你是希望现代的铁能消化一切吗?)优化在哪里?这就是你给我的建议,当我在寻找一种从高负荷进程中输出文本的方法时(在测试器中输出,在所有ticks 模型中输出,在循环 的图表中输出)?

...

为什么呢,因为你自己声称位图标签比普通标签快。而在这种情况下,一个单一的普通标签在性能上几乎是看不见的。

 
Dmitry Fedoseev:

我所做的只是接受了一个参加测试的邀请,这导致我不得不向被邀请者提出几个问题......

"盗贼的帽子着火了"?任何人都可以下载源代码,并重复我上面介绍的测量方法!你只有抱怨和冤屈。发明,"断链 "之类的...
Dmitry Fedoseev:

为什么呢,因为你自己声称,位图标签比普通标签快。

我没有这么说。而我说的是在不止一行上输出信息。这就是为什么我做了一个显示器来输出大量的线来测量它。

输出到标签可以优化图表。而在BitmapLabel中,你需要传递一个像素数组,预先填满它。在这种情况下,它正在填充像素数组并 向其输出文本。所有这些操作,如果调用得太频繁,会给应用程序带来压力。而对于标签,你只需要传递一个字符串。这一点上面已经提到过了。

你可以通过比较CCanvas和标签在不同模式下的速度测量来了解更多的速度:https://www.mql5.com/ru/forum/364640/page13#comment_21314045

 
Mihail Matkovskij:

但是,社区其他成员的代码为你提供了便利。嗯,你显然是自学成才。这就是为什么你不需要不成文的规定,说你不能糟蹋 你的同事。

而现在是关于代码的问题。我不会像你一样,说这是垃圾代码.........但我还是要发表我自己的意见。

如果BitmapLabel能在测试器中工作,为什么对它的更新频率没有限制,在 "所有刻度 "模式下?你希望现代的铁会消化一切吗?)优化在哪里?当我在寻找一种从高负荷进程中输出文本的方法时,你向我提出了这个建议(在测试器中输出,在"所有刻度 "模型上,以及 循环的 图表上)?

而当我说它对我不起作用时,你就开始向我表达你的不满......据称,我什么都不懂,不得不无情地调用TextOut - ResourseCreate - ChartRedraw。的确,ChartRedraw由于某种原因被注释掉了...


为什么不使用专门为此目的而设计的CCanvas呢?的确,我看到你在某处写道,据说它调用了不必要的函数,等等。所以你没有对测试者的更新频率做限制,但同时,CCanvas的功能又在某种程度上阻碍了你......:)

很奇怪...


现在轮到你告诉我为什么你认为我的代码是 "G代码 "了。只是,要有论据,而不是空谈!

  1. 你住在哪个星球上?你在哪里找到这样的规则?来到任何一个服务站,都能听到关于上次是谁修理了你的车。即使是现在和你说话的人。而且这不仅仅是汽车。这只是一个最明显的例子。
  2. 我提供给你的这段代码是一个例子,并不是要你盲目地复制它。
  3. 所有的检查和延迟都会使代码超载,使用这样的代码作为例子就比较困难。
  4. 如果不是交易型的EA,我们谈论的是什么样的优化?其中有哪些参数需要优化?
  5. 在你拒绝了我的提议后,尼古拉开始向你解释所有细节。我只是建议看一下他在Canvas上的主题。你撒谎说你已经读了所有的东西。你想让他们如何对待骗子(说句不好听的)?

让苍蝇和屎壳郎在你的代码中戳来戳去。我有足够的其他有趣和有用的事情要做。

 
Mihail Matkovskij:
"小偷的帽子着火了"?任何人都可以下载源代码,并重复我上面介绍的测量方法!而你呢,除了抱怨和不满,什么都没有。发明,"断链 "之类的...

我没有这么说。而我说的是在不止一行上输出信息。因此,为了测量,我做了一个显示器来输出大量的行数。

输出到标签可以优化图表。而在BitmapLabel中,你需要传递一个像素数组,预先填满它。在这种情况下,它正在填充像素数组并 向其输出文本。所有这些操作,如果调用得太频繁,会给应用程序带来压力。而对于标签,你只需要传递一个字符串。这一点上面已经提到过了。

你可以通过比较CCanvas和标签在不同模式下的速度测量来了解更多的速度:https://www.mql5.com/ru/forum/364640/page13#comment_21314045

总的来说,就是不加掩饰的无耻和厚颜无耻。

 
这条评论 中有一段带链接的引用。这些链接仍然允许你下载一个没有limitFps字段的类的文件,但它被引用了。还告诉我,我自己 "画 "了这样的链接。
 
Alexey Viktorov:
  1. 你住在哪个星球上?你在哪里找到这样的规则?去任何一家汽车服务机构,你都会听到关于上次是谁修理了你的车。即使是现在和你说话的人。而且这不仅仅是汽车。这只是一个最明显的例子。

显然,如果你遵循这种模式,我们是在不同的星球上...!

汽车修理厂给了我一个例子......:)好吧,至少你今天早上已经振作起来了。:)

阿列克谢-维克多罗夫

我为你提供了这个代码作为例子...

然后我再问,Kanvas和我有什么区别?它以同样的方式运作。只有你需要的功能才不会被扔掉,比如你的。唯一的区别是,它是OOP,是一个完全不同的层次,不是你的程序化编程。:)

阿列克谢-维克多罗夫

所有的检查和延迟都会使代码超载,这样的代码就更难作为例子使用。

当然了,当然了...覆盖...你的代码也不是很好!你可能会得到一个借口:嗯,我不是一个程序员......:)你只是想教 别人。:)

阿列克谢-维克多罗夫

如果专家顾问不是交易型的,我们在谈论什么样的优化?我应该在其中优化哪些参数?

我在术语方面感到困惑 :)我是在说优化位图标签的刷新率。你没有做到这一点,并向我提供了你的例子,以用于高负荷的过程。

阿列克谢-维克多罗夫
  1. 我的提议被拒绝后,尼古拉开始向你解释所有的微妙之处。我只是建议你看一下他关于坎瓦的主题。你撒谎了,说你已经读完了。你想如何对待骗子(说得轻巧)?

在这种情况下,说谎者是你!"。因为我没有这么说。我所说的是为什么我需要另一个基于Canvas的库。事实上,另一个Kanvas。你给我提供了同样的Canvas,而且效果完全一样。尼古拉并不想解释如何做才能使Kanvas在我的任务中快速工作。而你显然不具备相应的知识。你告诉尼古拉 "不要在他身上浪费你的时间"。他说 "我同意"。这是你和尼古拉的解释。程序员...

阿列克谢-维克多罗夫

让苍蝇和屎壳郎在你的代码中戳来戳去。我有足够的其他有趣和有用的事情要做。

我不会说你的是真的......但有一点我同意你的说法。你真的不必如此。为什么我需要一个业余人士的结论......?最好去汽车修理厂...

就这样了。我不会给你任何更详细的答案。因为这是在浪费时间。我宁愿做一些有用的事情!