Здравствуйте, подскажите, как получить значение индикатора, если параметры индикатора рассчётные?
Тоесть в примерах экспертов, хэндл получают в oninit (), но к этому моменту ещё нет рассчётных параметров индикатора.
А когда есть параметры, уже нельзя получить свежий хэндл...
Здравствуйте, подскажите, как получить значение индикатора, если параметры индикатора рассчётные?
Тоесть в примерах экспертов, хэндл получают в oninit (), но к этому моменту ещё нет рассчётных параметров индикатора.
А когда есть параметры, уже нельзя получить свежий хэндл...
Спасибо за ответы.
Читать значения индикаторов я научился, тут не проблем. Сложность в другом:
Мне нужно получать значения индикаторов, с РАССЧЁТНЫМИ входными параметрами.
Например не Ма с периодом 30, а МА с N-ным периодом, где N-ный период рассчитывается по формуле.
В mql4 это было легче лёгкого, а тут - неужели индикатор включать в код эксперта... ?
Спасибо за ответы.
Читать значения индикаторов я научился, тут не проблем. Сложность в другом:
Мне нужно получать значения индикаторов, с РАССЧЁТНЫМИ входными параметрами.
Например не Ма с периодом 30, а МА с N-ным периодом, где N-ный период рассчитывается по формуле.
В mql4 это было легче лёгкого, а тут - неужели индикатор включать в код эксперта... ?
... для каждого нового параметра необходимо создавать индикатор ....
Так это я и хочу узнать!
Можно ли создать индикатор в процессе работы эксперта, вне функции онинит (не прописывая ему жестких параметров в ините).
Т.к. если есть несколько индикаторов с 3-мя входными значениями, то прописывать все варианты, входных параметров в ините - чистейшей воды безумие.
Не говоря уже о расходе памяти..
Так это я и хочу узнать!
Можно ли создать индикатор в процессе работы эксперта, вне функции инит.
Т.к. если есть несколько индикаторов с 3-мя входными значениями, то прописывать все варианты в ините - чистейшей воды безумие.
Не говоря уже о памяти..
Сергей, привидите пожалуйста пример создания индикатора в функции OnTick()
И если есть такая возможность, то также его удаления.
Сергей, привидите пожалуйста пример создания индикатора в функции OnTick()
И если есть такая возможность, то также его удаления.
В ОнТике создавать индикатор не очень выгодно и правильно. Это я бы даже сказал с определенной точки зоения является форменным самоубийством. По большому счету индикатор не успеет рассчитаться и принести желаемый итог (по крайней мере в большинстве случаев).
С этой точки зрения гораздо удобней использовать таймер с заранее известным и достаточно большим периодом выполнения. При этом можно в самом таймере и создавать и уничтожать индюки.
PS
Хотя я лично считаю что единственно верным и разумным способом получения хендлов для индюков является блок инициализации. В вашем случае может помочь массив из хендлов или специализированных структур, который будет определенным образом организован и сформирован.
Сергей, привидите пожалуйста пример создания индикатора в функции OnTick()
И если есть такая возможность, то также его удаления.
В ОнТике создавать индикатор не очень выгодно и правильно. Это я бы даже сказал с определенной точки зоения является форменным самоубийством. По большому счету индикатор не успеет рассчитаться и принести желаемый итог (по крайней мере в большинстве случаев).
С этой точки зрения гораздо удобней использовать таймер с заранее известным и достаточно большим периодом выполнения. При этом можно в самом таймере и создавать и уничтожать индюки.
PS
Хотя я лично считаю что единственно верным и разумным способом получения хендлов для индюков является блок инициализации. В вашем случае может помочь массив из хендлов или специализированных структур, который будет определенным образом организован и сформирован.
Вот интересно, все, всё время твердят про онИнит, и совершенно не хотят слышать что НЕТ ТАМ ПАРАМЕТРОВ ещё... ПАРАМЕТРЫ мы получаем в онТик...
Короче хотелось бы услышать ответ от разработчиков с конкретным примером, как нужно делать, если ПАРАМЕТРЫ индикаторов мы получаем ТОЛЬКО в онТик. Т. е. несколько разных индикаторов, и каждый индикатор расчитывается несколько(или много) раз с РАЗНЫМИ параметрами. В МТ4 все летало, и было одинаково и в тестере и в терминале. Здесь в терминале вроде работает(хотя говорят что может не работать), а в тестере что бы работало нужно уже исхищряться всячески...
Вот для примера как я сделал, но так две функции получается, для получения всего лишь значения индикатора...
if(ХендлAlligator(ТФФильтраОткрытияпоМА3,ПериодФильтраОткрытияМедленнМА3,ПериодФильтраОткрытияБыстраяМА3,ПериодФилОткрСамаяБыстраяМА3,МетодУсредненияМА3,ТипЦеныМА3,2)==true) { Челюсти=Alligator(0,i); Зубы=Alligator(1,i); Губы=Alligator(2,i); } //+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ //Функция создания и проверки хендла Alligator 0 - GATORJAW_LINE(челюсти - медленнвя МА), 1 - GATORTEETH_LINE(зубы - средняя МА), 2 - GATORLIPS_LINE(губы - быстрая МА). MQL5 | //+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ bool ХендлAlligator(ENUM_TIMEFRAMES период,int периодчелюсти,int периодзубы,int периодгубы,ENUM_MA_METHOD методусреднения,ENUM_APPLIED_PRICE типцены,int бар) { Alligator=iAlligator(СИМВОЛ,период,периодчелюсти,0,периодзубы,0,периодгубы,0,методусреднения,типцены); for(int i=0;i<100;i=i+1) { if(BarsCalculated(Alligator)>бар) return(true); Sleep(50); } return(false); } //+------------------------------------------------------------------+ //Функция Alligator MQL5 | //+------------------------------------------------------------------+ double Alligator(int буфер,int бар) { double ЗначениеAlligator[1]; CopyBuffer(Alligator,буфер,бар,1,ЗначениеAlligator); return(ЗначениеAlligator[0]); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, подскажите, как получить значение индикатора, если параметры индикатора рассчётные?
Тоесть в примерах экспертов, хэндл получают в oninit (), но к этому моменту ещё нет рассчётных параметров индикатора.
А когда есть параметры, уже нельзя получить свежий хэндл...