DCodec: Я с помощью F1 не могу найти ответ на свой вопрос.
Ну потому, что это один индикатор, который имеет две линии. Используйте Moving Average с теми же параметрами, что и Envelopes, для отрисовки только одной линии МА. Только к значению МА нужно прибавить значение Deviation*Point() для верхней линии, и отнять значение Deviation*Point() - для нижней линии
Приветствую всех! минут 30 искал поиском по форуму "новый бар", с грустью обнаружил, что поиск на форуме работает по своему разумению...
подскажите, что как в последних билдах mql5 в части обнаружения нового бара для индикатора работающего на одном таймфрейме, какой код сейчас кто использует?
ЗЫ: поиском нашел TimeframesFlags .. громоздкое решение, но универсальное
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
Ну потому, что это один индикатор, который имеет две линии. Используйте Moving Average с теми же параметрами, что и Envelopes, для отрисовки только одной линии МА. Только к значению МА нужно прибавить значение Deviation*Point() для верхней линии, и отнять значение Deviation*Point() - для нижней линии
Интересное решение, спасибо!
Но вот если это не Envelopes, а Bollinger Bands - тогда формулу с расчетом стандартного отклонения прописывать? Можно конечно, но неужели нет простого решения как в MQL4?
iEnvelopes
Возвращает значение технического индикатора Envelopes.
doubleiEnvelopes(
string symbol, // имя символаint timeframe, // таймфреймint ma_period, // периодint ma_method, // метод усредненияint ma_shift, // сдвиг среднейint applied_price, // тип ценыdouble deviation, // отклонение (в процентах)int mode, // индекс линииint shift // сдвиг
);
Индикатор Moving Average, у которого можно из MQL5-кода задавать значения двух уровней:
Большое спасибо за помощь, но я в процессе изучения MQL5. И поэтому пытаюсь из уже встроенных индикаторов, которые имеют несколько индикаторных линий, "вытащить" нужные значения значения с помощью iCustom.
Пока не могу сделать, но наверное это как то просто.
Большое спасибо за помощь, но я в процессе изучения MQL5. И поэтому пытаюсь из уже встроенных индикаторов, которые имеют несколько индикаторных линий, "вытащить" нужные значения значения с помощью iCustom.
Пока не могу сделать, но наверное это как то просто.
Пример создания этого индикатора (он расположен в папке "каталог данных терминала"\MQL5\Indicators\MyInd\):
...
int handle_iMA_Custom; // variable for storing the handle of the iMA indicator //+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
...
//--- create handle of the Custom indicator "Custom Moving Average Levels"
handle_iMA_Custom=iCustom(Symbol(),Period(),"MyInd\\Custom Moving Average Levels",
ma_period,
ma_shift,
ma_method,
100,
-100);
//--- if the handle is not created if(handle_iMA_Custom==INVALID_HANDLE)
{
//--- tell about the failure and output the error code PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
Symbol(),
EnumToString(Period()),
GetLastError());
//--- the indicator is stopped early return(INIT_FAILED);
}
ChartIndicatorAdd(0,0,handle_iMA_Custom);
//---return(INIT_SUCCEEDED);
}
И так с любым индикатором вызываемом через iCustom - сначала создаём хендл индикатора (не забываем, что хендл создаём ОДИН раз в OnInit()) через iCustom: Символ, Период, Путь, возможно Параметры -
Пример создания этого индикатора (он расположен в папке "каталог данных терминала"\MQL5\Indicators\MyInd\):
И так с любым индикатором вызываемом через iCustom - сначала создаём хендл индикатора (не забываем, что хендл создаём ОДИН раз в OnInit()) через iCustom: Символ, Период, Путь, возможно Параметры -
Честно, ничего не понял. Мне нужны значения верхней линии индикатора на Close[2], Close[1] и всё.
Как эти значения вытянуть из ЛЮБОГО индикатора чтобы только "не влазить" в код индикатора.
в OnTick() или OnTime() получаем данные индикатора на заданном номере БАРА с нужного ИНДИКАТОРНОГО буфера.
Да, неправильно выразился. Мне нужно значения индикатора на первом и втором барах. Но допустим у Bollinger Bands три линии. Значение какой линии он мне возвращает??? Прошу прощения за глупые вопросы, но реально СТУПОР.
Я с помощью F1 не могу найти ответ на свой вопрос.
Ну потому, что это один индикатор, который имеет две линии. Используйте Moving Average с теми же параметрами, что и Envelopes, для отрисовки только одной линии МА. Только к значению МА нужно прибавить значение Deviation*Point() для верхней линии, и отнять значение Deviation*Point() - для нижней линии
F1 часто решает многие проблемы быстрее форума.
Понимаете какое дело.. Умных к умным послали..
А меня носит по необъятным просторам форекса.. Сейчас вот на этот форум занесло.
F1 - это вообще что, кнопка такая, да? Спасибо за совет. Я попробую понажимать.
Приветствую всех! минут 30 искал поиском по форуму "новый бар", с грустью обнаружил, что поиск на форуме работает по своему разумению...
подскажите, что как в последних билдах mql5 в части обнаружения нового бара для индикатора работающего на одном таймфрейме, какой код сейчас кто использует?
ЗЫ: поиском нашел TimeframesFlags .. громоздкое решение, но универсальное
за ранее благодарен!
https://www.mql5.com/ru/articles/159
Ну потому, что это один индикатор, который имеет две линии. Используйте Moving Average с теми же параметрами, что и Envelopes, для отрисовки только одной линии МА. Только к значению МА нужно прибавить значение Deviation*Point() для верхней линии, и отнять значение Deviation*Point() - для нижней линии
Интересное решение, спасибо!
Но вот если это не Envelopes, а Bollinger Bands - тогда формулу с расчетом стандартного отклонения прописывать? Можно конечно, но неужели нет простого решения как в MQL4?
Т.е. параметр
задаёт номер линии....
А вот такой индикатор Вам не подойдёт Custom Moving Average Levels ?
Индикатор Moving Average, у которого можно из MQL5-кода задавать значения двух уровней:
А вот такой индикатор Вам не подойдёт Custom Moving Average Levels ?
Индикатор Moving Average, у которого можно из MQL5-кода задавать значения двух уровней:
Большое спасибо за помощь, но я в процессе изучения MQL5. И поэтому пытаюсь из уже встроенных индикаторов, которые имеют несколько индикаторных линий, "вытащить" нужные значения значения с помощью iCustom.
Пока не могу сделать, но наверное это как то просто.
Большое спасибо за помощь, но я в процессе изучения MQL5. И поэтому пытаюсь из уже встроенных индикаторов, которые имеют несколько индикаторных линий, "вытащить" нужные значения значения с помощью iCustom.
Пока не могу сделать, но наверное это как то просто.
С iCustom все очень просто. Сразу пример: в коде Custom Moving Average Levels есть
Пример создания этого индикатора (он расположен в папке "каталог данных терминала"\MQL5\Indicators\MyInd\):
И так с любым индикатором вызываемом через iCustom - сначала создаём хендл индикатора (не забываем, что хендл создаём ОДИН раз в OnInit()) через iCustom: Символ, Период, Путь, возможно Параметры -С iCustom все очень просто. Сразу пример: в коде Custom Moving Average Levels есть
Пример создания этого индикатора (он расположен в папке "каталог данных терминала"\MQL5\Indicators\MyInd\):
И так с любым индикатором вызываемом через iCustom - сначала создаём хендл индикатора (не забываем, что хендл создаём ОДИН раз в OnInit()) через iCustom: Символ, Период, Путь, возможно Параметры -Честно, ничего не понял. Мне нужны значения верхней линии индикатора на Close[2], Close[1] и всё.
Как эти значения вытянуть из ЛЮБОГО индикатора чтобы только "не влазить" в код индикатора.
Честно, ничего не понял. Мне нужны значения верхней линии индикатора на Close[2], Close[1] и всё.
Как эти значения вытянуть из ЛЮБОГО индикатора чтобы только "не влазить" в код индикатора.
Вы можете получить значения любого индикаторного буфера на любом БАРЕ, а не на Close... Смотрим справку по iCustom:
iCustom
Возвращает хэндл указанного пользовательского индикатора.
Порядок действия:
Вы можете получить значения любого индикаторного буфера на любом БАРЕ, а не на Close... Смотрим справку по iCustom:
iCustom
Возвращает хэндл указанного пользовательского индикатора.
Порядок действия: