ObjectCreate("arr0"+ArrowIdx, OBJ_TEXT, 0, dt, FastBuffer[i]+dprice);
// "arr0"+ArrowIdx - формируем уникальное имя стрелки// FastBuffer[i]+dprice - тут формируется цена, на которой будет рисоваться стрелка
ObjectSetText("arr0"+ArrowIdx, sup, ArrowFontSize, "Wingdings", ColorArrowDown);
ArrowIdx++; // для каждой стрелки нужно уникальное имя
有没有人有一个代码例子,可以在指标图上画一些图标,如箭头,当线条交叉时,如果有两条,或当 "0 "线被越过时,或任何其他标准?最好是在自动缩放指示窗口的顶部和底部。
按 "加载"。只有最后的2048条是自动加载的,其余的必须要踢掉。
这就是在 "负载 "之后出现的情况......。
你好!
也许有人有一个示例代码,可以在越过线时(如果有两条),或越过 "0 "线时,或任何其他标准,画出一些图标,例如指标图上的箭头?最好是在自动缩放指示窗口的顶部和底部。
这是我的一只火鸡,也许会有帮助。该代码适用于MT4,就像现在这样。它也适用于日志。
Вот из моего индюка, может, поможет. Код для МТ4, выкладываю, как есть. Там еще работа с логами.
在你的例子中,它是通过对象。我想知道是否有可能通过数组来实现,这样当我改变比例时,它们总是在窗口的上下边界?
阿列克谢-沃尔昌斯基。
感谢Alexey的反馈!
在你的例子中,它是通过对象。我想知道是否有可能通过数组来做,这样当我改变比例时,它们总是在窗口的顶部和底部?
我不明白关于数组的问题。见评论,我添加了
此外,如果你需要在上边框上作画,请做以下工作
阅读编辑器的帮助;这里有详细的描述和例子
MQL4 参考 / 标准常数、枚举和结构 / 图表常数 / 使用图表的例子
我不明白关于数组的问题。见评论,我添加了
此外,如果你需要在上边框上作画,请做以下工作
阅读编辑器的帮助;这里有详细的描述和例子
MQL4 参考 / 标准常数、枚举和结构 / 图表常数 / 使用图表的例子
变化
对象应在离窗口边界一定的距离上被强制重绘
随着变化
对象将不得不被迫在离窗口边界一定距离的地方重新绘制。
旧的物品将留在它们的位置上--以旧的价格。如果你需要将它们移动到边界,你将不得不手动重新绘制它们。我并不完全了解你的问题。
你可以使用OnChartEvent 来跟踪窗口变化。
旧的物品将留在它们的位置上--以旧的价格。如果你要把它们移到边界上,你就得用手重新画。我只是不完全了解你的任务。
你可以使用OnChartEvent来跟踪窗口变化。
在指标窗口中有一条任何震荡器的线,它以不同的振幅相对 "0 "移动。
实际的问题是。
- 在从下到上的 "0 "交叉处,在指示器窗口的底部边界画一个箭头。
- 在 "0 "处从上往下交叉,在指示器窗口的上边界 附近画一个箭头。
- 在指标窗口中的振荡器图表的自我缩放中,箭头应自动保持在指标窗口的边界上。
即,在历史上前后滚动图表或改变其水平比例,箭头始终保持在指标窗口的边界上。
乍一看,这个任务似乎就像三个戈比一样简单。但是!....
在指标窗口中有一条任何振荡器的线,它以不同的振幅相对 "0 "旋转。
实际的问题是。
- 在从下到上的 "0 "交叉处,在指示器窗口的底部边界画一个箭头。
- 在 "0 "处从上往下交叉,在指示器窗口的上边界 附近画一个箭头。
- 在指标窗口中的振荡器图表的自我缩放中,箭头应自动保持在指标窗口的边界上。
即,在历史上前后滚动图表或改变其水平比例,箭头始终保持在指标窗口的边界上。
这个任务是也很简单。
当窗口被改变或滚动时,OnChartEvent 被调用,它传递一个没有参数的事件。
CHARTEVENT_CHART_CHANGE图表变化事件
如果这个事件发生了,我们就确定左边和右边的可见栏,并在这些范围内找到指标窗口中的所有箭头。如果发现,我们就把它移到必要的边界。在创建箭头时,给它们命名,如UpArrow*****和DownArrow*****,以避免与分析有关的麻烦。然后为了以防万一,调用ChartRedraw。