voix_kas: ... Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).
...
我还能说什么呢?一个位图的工作速度(!)比26个普通标签慢一个数量级。我试图从OnTick()操作中排除将图案复制到工作画布(数组uint 250*410),即在一个画布上的操作。只有在实时的情况下才能感受到收益。在测试器中也 是如此,绝对的生产力下降。使用了COLOR_FORMAT_ARGB_NORMALIZE 模式,因为其他模式给人一种不太美观的感觉。说到这里,我应该说,在一个画布上工作是很困难的,因为你必须跟踪以前的重叠部分(清晰的区域)。
...
谢谢你,我知道。vdv2001 有某种问题。
//---
想看看他是怎么做的,才发现他有个毛病。
然后是帮助中的另一句话
图表_mouse_scroll
用鼠标左键水平滚动图表。如果三个属性中的任何一个被设置为 "true",垂直滚动也是可用的:CHART_SCALEFIX、CHART_SCALEFIX_11或CHART_SCALE_PT_PER_BAR。
bool
是的,对象被选中了,但它不能用鼠标移动(就像在终端4)。
或者现在移动所有由Expert Advisor创建的对象都必须由事件来处理。
啊,我知道这是什么了。)) 在MT5中,当一个对象被选中 时,我必须将光标准确地放在匹配点上。在MT4中,它是自动的。我个人更喜欢通过事件来移动对象而不需要选择。上面Rosh 展示了启用/禁用图表滚动的属性,所以它不会干扰移动对象。
把图形增加到最大,把鼠标放在所选物体的锚点上,把鼠标左键 "按 "到地板上,施加最大的努力,......。
该物体停留在原地。
要重复这个过程并不困难,创建一个对象CChartObjectTrend,设置它的属性并尝试移动它。我没有成功。
CHART_MOUSE_SCROLL 我试了一下,图表停止了移动,但对象还没有移动。
P.S.
虽然,如果通过事件处理一个物体的运动,它是正确的(我知道旧的坐标)。我将通过活动来做。谢谢你,问题结束。
将图形增加到最大,将鼠标放在所选物体的锚点上,将鼠标左键 "按 "在地上,施加最大的努力,...
该物体停留在原地。
重复这个过程并不难,创建一个CChartObjectTrend对象,设置其属性并尝试移动它。这对我来说并不奏效。
...
这就是它的工作方式,如果有的话。
有没有人设法重复voix_kas 的壮举?
...
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).
...
你的测试器中是否有OBJ_BITMAP_LABEL 类型的对象以可视化模式显示?
//---
或者是打错了?)))
这就是它的工作方式,如果有的话。
对了,我想明白了为什么不动,我设置了对象属性OBJPROP_TIMEFRAMES,之后对象就不再动 了。
例如,对于分钟图,我设置的属性是
obj.Timeframes(OBJ_PERIOD_M1);
和物体停止移动,这似乎是一个故障。
切换图表周期后,一切都开始正常工作,比如切换到M2,然后切换到M1,一切都很好。
voix_kas:
我还能说什么呢?一个位图的工作速度(!)比26个普通标签慢一个数量级。我试图从OnTick()操作中排除将图案复制到工作画布(数组uint 250*410),即在一个画布上的操作。只有在实时的情况下才能感受到收益。在测试器中也是如此,绝对的生产力下降。使用了COLOR_FORMAT_ARGB_NORMALIZE 模式,因为其他模式给人一种不太美观的感觉。展望未来,我应该说,在一块画布上工作是很困难的,因为你必须跟踪以前的铭文(清洁区)的叠加。1.你如何衡量速度?
2.你能附上来源吗(在私人信息或CD中)?
1.你如何测量速度?
2.你能附上源代码吗(在私信或CD中)?
不幸的是,由于缺乏兴趣,我没有保存代码。一般来说。
OnInit()。
1.在图表上创建一个位图。
2.创建两个画布(uint 250*410):一个模板和一个工作 画布。在模板上应用了13个带有统计参数名称的标签(TextOut)。
OnTick()。
1.模板被复制到工作画布上。
2.13个带有相应统计参数值的标签被应用 到工作画布上(TextOut)。
3.创建一个资源。
4.工作画布被更新。
我没有特别计时,因为很明显,速度下降了一个数量级。在测试器中,以及在实时中(当滚动图相当明显的冻结/抽搐)。
我试图从OnTick()中删除第1点。在实时情况下,它变得可以容忍,但测试人员几乎没有爬行。同样,这也不能实时进行,因为在工作画布上以前的标记位置没有进行清洁。
同样,我使用了COLOR_FORMAT_ARGB_NORMALIZE 模式,因为标签(TextOut)在没有alpha通道的情况下看起来不美观。