//+------------------------------------------------------------------+//| Функция включает/выключает режим отображения ценового графика с |//| отступом от правого края. |//+------------------------------------------------------------------+bool ChartShiftSet(constbool value,constlong chart_ID=0)
{
//--- сбросим значение ошибкиResetLastError();
//--- установим значение свойстваif(!ChartSetInteger(chart_ID,CHART_SHIFT,0,value))
{
//--- выведем сообщение об ошибке в журнал "Эксперты"Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- успешное выполнениеreturn(true);
}
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
//+------------------------------------------------------------------+ //| Функция устанавливает размер отступа нулевого бара от правого | //| края графика в процентах (от 10% до 50%). Для включения режима | //| отступа, нужно установить значение свойства CHART_SHIFT равным | //| true. | //+------------------------------------------------------------------+ bool ChartShiftSizeSet(constdouble value,constlong chart_ID=0)
{
//--- сбросим значение ошибки ResetLastError();
//--- установим значение свойства if(!ChartSetDouble(chart_ID,CHART_SHIFT_SIZE,value))
{
//--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- успешное выполнение return(true);
}
你能给我一个提示吗?
在mql4中,有一个基于开盘价的MA的指标,它允许避免在当前条形上重新渲染。通过int start(),它运行良好。它清楚地显示了一切。
在mql5中,同样的指标不通过int start工作,它通过int OnCalculate工作。它不断地重新计算和绘制,一秒钟内图像就消失了,而且可能有不同的值,因为两个MAs的交叉点的边界情况,虽然两个MAs之间的距离被设定了,但它没有帮助。我想我不取第0个值,而是取MA缓冲区的第1个值,但没有成功,我还想在新条形图到来之前跳过这个函数,也没有成功(我甚至试图停止显示任何东西)。如何克服这种情况?
当从右到左翻转图表时,也会闪烁指示器并不断重新计算。
你能给我一个提示吗?
在mql4中,有一个基于开盘价的MA的指标,它允许避免在当前条形上重新绘制。通过int start(),它工作正常。它清楚地显示了一切。
在mql5中,同样的指标不通过int start工作,它通过int OnCalculate工作。它不断地重新计算和绘制,一秒钟内图像就消失了,而且可能有不同的值,因为两个MAs的交叉点的边界情况,虽然两个MAs之间的距离被设定了,但它没有帮助。我想我不取第0个值,而是取MA缓冲区的第1个值,但没有成功,我还想在新条形图到来之前跳过这个函数,也没有成功(我甚至试图停止显示任何东西)。如何克服这种情况?
当从右到左翻转图表时,也会闪烁指示器并不断重新计算。
在这里提出问题--他们一定会提供帮助。
你能给我一个提示吗?
在mql4中,有一个基于开盘价的MA的指标,它允许避免在当前条形上重新渲染。通过int start(),它运行良好。它清楚地显示了一切。
在mql5中,同样的指标不通过int start工作,它通过int OnCalculate工作。它不断地重新计算和绘制,一秒钟内图像就消失了,而且可能有不同的值,因为两个MAs的交叉点的边界情况,虽然两个MAs之间的距离被设定了,但它没有帮助。我想我不取第0个值,而是取MA缓冲区的第1个值,但没有成功,我还想在新条形图到来之前跳过这个函数,也没有成功(我甚至试图停止显示任何东西)。如何克服这种情况?
当从右到左翻转图表时,也会闪烁指示器并不断重新计算。
图形上有这样一个东西
如果我没记错的话,我见过它用任何颜色做的。
如何?
图形上有这样一个东西
如果我没记错的话,我见过它用任何颜色做的。
如何?
F8和。
但这也是网格的颜色,所以不要选中
F8和
但这也是网格的颜色,所以不要选中
明白了,谢谢!
网格是需要的,太糟糕了,它没有分开。
P.S. 如何以编程方式从右侧边缘转移15个小节?明白了,谢谢!
网格是需要的,太糟糕了,它没有被划分。
P.S. 如何以编程方式从右边缘转移15个小节?这个怎么样?
这个怎么样?
是的,但这是把按钮推开了
当你用手拖动标记时,它在到达右边缘之前会有相当程度的停顿--这是对终端的一个根本性的错误限制!
当你按下按钮时,最外层的条形图几乎粘到了右边缘,所以图表的信息值就会丢失。
你应该在没有达到15-20条时就按下按钮,而不是在每次出现新的条形图时都进行这种操作。只压缩一次。
P.S. 为什么有这样的限制和这么多的空位?
是的,但这是把按钮推开。
当你用手拖动标记时,它在到达右边的边缘之前经常停留在那里--这是对终端的一个根本性的错误限制。
当你按下按钮时,最外层的条形图几乎粘到了右边缘,所以图表的信息值就会丢失。
你应该在没有达到15-20条时就按下按钮,而不是在每次出现新的条形图时都进行这种操作。只压缩一次。
百分比
百分比
工作,但最低限度是可以用手设定的缩进,并且至少是
在视觉上,大约是10%的最低值。为什么5%不起作用