Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем,
Я хотел бы знать, является ли это правильным способом вычисления значения индикатора в цикле for (по всем доступным барам):
int OnCalculate(...)
{
//...
ArraySetAsSeries(SignalLine,false);
//...
for(int i=0; i<Bars; i++)
{
double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);
//...
SignalLine=ma;
}
//...
}
//...
return rates_total
}
P.S. Логически в этом простом случае я хотел бы представить и построить репликацию MA с помощью объекта iMA. Но я не уверен в том, как я задаю цикл. Я получаю небольшую разницу по сравнению с тем, что рассчитывается с помощью встроенного MT4. Я не могу понять, почему!
Спасибо
Привет всем,
Я хочу знать, является ли это правильным способом вычисления значения индикатора в цикле for (по всем доступным барам):
int OnCalculate(...)
{
//...
ArraySetAsSeries(SignalLine,false);
//...
for(int i=0; i<Bars; i++)
{
double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);
//...
SignalLine=ma;
}
//...
}
//...
return rates_total
}
P.S. Логически в этом простом случае я хотел бы представить и построить репликацию MA с помощью объекта iMA. Но я не уверен в том, как я задаю цикл. Я получаю небольшую разницу по сравнению с тем, что рассчитывается с помощью встроенного MT4. Я не могу понять, почему!
СпасибоКогда вы используете iMA(), порядок не имеет значения.
Но правильный способ должен быть for(int i=Bars-1; i>=0; i--) - так вы избежите ошибок во многих случаях.
Спасибо, mladen. Итак, если я устанавливаю ArraySetAsSeries(SignalLine,false), я должен выполнить итерацию с
for (int i = 0; i < Bars; i++)
в то время как, наоборот, если ArraySetAsSeries(SignalLine,true), я должен итерировать с
for (int = Bars - 1; i >= 0; i--)
Это правильно?
Спасибо, mladen. Это потому, что мы используем функцию ArraySetAsSeries(), тогда мы должны делать обратный итерационный переход по массиву, правильно? Спасибо!
Это ничего не меняет - вы получите элемент 0 с текущим значением, а когда придет новое текущее значение, этот элемент 0 SignalLine будет перезаписан новым значением.
Если SignalLine является буфером, просто не используйте ArraySetAsSeries(SignalLine,false) ;
Здравствуйте mladen mr tools и Igorad
Сердечное спасибо за мудрость, которой вы поделились, и предложенную помощь.
Я тоже обращаюсь к вам за помощью снова после долгого периода беременности, так что надеюсь, что привлеку ваше внимание, ваш индикатор T3 adaptive ma _ica.mq4 является моим любимым инди для торговли, хотя визуально хорошо трудно следовать вручную из-за отсутствия времени, поэтому я хотел бы, чтобы кто-нибудь помог мне в кодировании советника с этим индикатором стрелки как сигналы на покупку продажу принимать ордера с обычными удобствами советника, как трейлинг, bep и sl,tp наряду с размером лота.
Mladen и Igorad должны быть заняты - если они могут помочь, то я одарен, если нет, то кто-то, кто готов помочь, может помочь мне с этим. Если вам нужно, я могу прикрепить индикатор тоже. Это страница, где находится индикатор T3 adaptive ma"https://c.mql5.com/forextsd/forum/167/t3_adaptive_ma_i-ca_2.01_alerts_nmc.mq4
Я могу также запросить другие инди с t3 cci, но каждый инди работает отдельно в одном советнике с использованием true или false опции.Между всеми, кто заинтересован в lukas стрелки и кривые индикатор на основе EA- все еще нуждается в улучшении в анализе реальной кривой разворота цены, так как он основан на ma, цена не анализируется, но это все ОГРАНИЧЕННЫЕ в Форекс иначе каждый будет миллионером по выбору.
Надеюсь, это для живой торговли в кратчайшие сроки с помощью друзей форума.Я пытался закодировать его, но я не программист, так что все осталось тщетным, поэтому я поднимаю просьбу о помощи здесь.Без навыков кодирования определенно трудно придать очень сложные индикаторы, такие как T3 адаптивный с супер мозгом mladen.Трудно кодировать для новичка и не технаря.
Мечта велика, но то, что в руках - крошечное.
О, ок... Спасибо!
В C++ таких проблем не было...
Здравствуйте Младен
Надеюсь, вы рассмотрите эту помощь, пожалуйста, взгляните на это сообщение -#5118 одним сообщением выше вашего сообщения #5220.
Это был бы лучший подарок для меня с четкими руками, как у вас.
О, ок... Спасибо! В C++ таких проблем не было...
Поскольку я всегда работаю с массивами в режиме, подобном C/C++, индексация в этих массивах идет от 0 (самый старый) до Bars-1 (самый новый) бар. Если вы используете индекс 0 для самого нового бара, он всегда будет переписывать 0-й элемент.
Если вы хотите использовать это как в C/C++, используйте массив, проверьте, равен ли его размер Bars, если нет, измените размер до размера Bars, а затем присвойте значения элементам, используя Bars-i-1 в качестве индекса.
Если это буфер, то индексация инвертируется по сравнению с C/C++ способом, и тогда вам не нужно ничего менять в этом цикле - просто удалите часть, которая устанавливает массив как серию в false.
Да, я видел! Я тоже догадался... В любом случае, просто небольшие различия между MQL и C++. В MQL очень много C, насколько я видел! Но мне определенно нравится MQL.
Я хочу поделиться своим индикатором, когда он будет готов (и если я смогу понять, полезен ли он) и дать руку вам, ребята!
Ага, я видел! Я тоже догадался... В любом случае, между MQL и C++ есть небольшие различия. В MQL много C, насколько я видел! Но мне определенно нравится MQL Я хочу поделиться своим индикатором, когда он будет готов (и если я смогу понять, полезен ли он) и дать руку вам, ребята!
Даже если они выглядят похожими, они далеко не похожи, когда вы их запускаете. ex4 - это P-код. Его скорость выполнения по крайней мере в 100 раз ниже, чем у равноценного аналога на C/C++.
Если вы можете, напишите важные части в C/C++ dll - это будет намного быстрее.