В mql4 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
В mql4 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
В mql4 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
P.S. А как программно сдвинуть на 15 баров от правого края?
Может так?
//+------------------------------------------------------------------+//| Функция включает/выключает режим отображения ценового графика с |//| отступом от правого края. |//+------------------------------------------------------------------+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
Когда тащишь маркер руками, то он упирается не доходя до правого края довольно много - это в корне неверное ограничение терминала!
Когда отжать кнопку, то крайний бар почти прилипает к правому краю, получается информативность графика потеряна.
Нужно поджать программно не доходя баров 15-20, при этом не проводить эту операцию при появлении каждого нового бара. Поджать единожды.
В процентах
//+------------------------------------------------------------------+ //| Функция устанавливает размер отступа нулевого бара от правого | //| края графика в процентах (от 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 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
Подскажите, пожалуйста.
В mql4 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
Здесь вопрос задайте - точно помогут.
Подскажите, пожалуйста.
В mql4 был индикатор на основе МА по цене открытия, это позволяло избежать перерисовки на текущем баре. через int start() работал нормально. Все показывал четко
В mql5 этот же индикатор через int start не работает, работает через int OnCalculate. И постоянно пересчитывает и перерисовывает, на мили секунды пропадает изображение и заного появляются уже могут быть другие значения, так как граничная с пересечением двух МА ситуация, хотя задано растояние между двумя МА, не помогает. И то что по ценам открытия тоже не помогает, были мысли взять не 0-ое, а 1-ое значения из буфера МА, но не помогло, была мысль отключить выполнение до прихода нового бара, тоже не помогло (вообще перестал что-либо отображать. Как победить эту ситуацию?
При перелистывании графика вправо влево, тоже мерцание индикатора с постоянными перерасчетами
Есть такая штука на графике
Встречал, что её делают любым цветом, если не ошибаюсь.
Как?
Есть такая штука на графике
Встречал, что её делают любым цветом, если не ошибаюсь.
Как?
F8 и
Но это и цвет сетки, поэтому снять флажок
F8 и
Но это и цвет сетки, поэтому снять флажок
Понял, спасибо!
Сетка нужна, жаль что не разделено.
P.S. А как программно сдвинуть на 15 баров от правого края?Понял, спасибо!
Сетка нужна, жаль что не разделено.
P.S. А как программно сдвинуть на 15 баров от правого края?Может так?
Может так?
Да, но это отжимает кнопку
Когда тащишь маркер руками, то он упирается не доходя до правого края довольно много - это в корне неверное ограничение терминала!
Когда отжать кнопку, то крайний бар почти прилипает к правому краю, получается информативность графика потеряна.
Нужно поджать программно не доходя баров 15-20, при этом не проводить эту операцию при появлении каждого нового бара. Поджать единожды.
P.S. Зачем такое ограничение и столько пустого места?
Да, но это отжимает кнопку
Когда тащишь маркер руками, то он упирается не доходя до правого края довольно много - это в корне неверное ограничение терминала!
Когда отжать кнопку, то крайний бар почти прилипает к правому краю, получается информативность графика потеряна.
Нужно поджать программно не доходя баров 15-20, при этом не проводить эту операцию при появлении каждого нового бара. Поджать единожды.
В процентах
В процентах
Работает, но минимум - это отступ, который можно установить руками и не менее
Визуально - примерно 10% минимум. Почему не работает 5%