Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 918
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В каком метатрейдере вы создаёте символы на МТ5?
Да, на МТ5
Нельзя.
Печалька.
Делаю это после выгрузки в excel, но там тоже свои недочёты. Очень жаль, что нет такой встроенной возможности.
Но есть предчувствие, что это как-то программно можно реализовать)
Да, на МТ5
Жаль что в МТ4 нельзя создавать символы менять значения можно а создавать нельзя.
научите как избавиться от ArraySetAsSeries() !!!
вот переписал часть известного индикатора под МТ4 (Perfect trend line), все работает как и в МТ4, НО... но не могу избавиться от принудительно написанных мной ArraySetAsSeries() - иначе не правильно считает индикатор, знаю, что ArraySetAsSeries() изменит направление индексации в массиве, но за 2 дня никак сам и не победил!
научите как избавиться от ArraySetAsSeries() !!!
вот переписал часть известного индикатора под МТ4 (Perfect trend line), все работает как и в МТ4, НО... но не могу избавиться от принудительно написанных мной ArraySetAsSeries() - иначе не правильно считает индикатор, знаю, что ArraySetAsSeries() изменит направление индексации в массиве, но за 2 дня никак сам и не победил!
Можно так
Можно так
спасибо дружище! но тут дело в понимании, а не в сокращении общего "веса" текста исходника, я знаю, что можно рассчитать значения индикатора и без ArraySetAsSeries(), но почему то не вижу, что не правильно делаю, в кодобазе пытался найти простой пример, увы, там все индикаторы настолько по разному написаны, что не разберусь (((
ЗЫ: мне не нужно межплатформенный индикатор, хочу разобраться с индексациями массивов по умолчанию, принтовал уже массивы через ArrayGetAsSeries() - не разобрался
спасибо дружище! но тут дело в понимании а не в сокращении общего "веса" текста исходника, я знаю, что можно рассчитать значения индикатора и без ArraySetAsSeries(), но почему то не вижу, что не правильно делаю, в кодобазе пытался найти простой пример, увы, там все индикаторы настолько по разному написаны, что не разберусь (((
У вас расчёт индикатора идёт от начала к концу (от самых поздних исторических данных к самым свежим - к текущим). А это говорит об индексации как в таймсерии. Значит и массивы должны быть соответственно индексированы, что у вас и есть.
Что не так работает тогда?
спасибо дружище! но тут дело в понимании а не в сокращении общего "веса" текста исходника, я знаю, что можно рассчитать значения индикатора и без ArraySetAsSeries(), но почему то не вижу, что не правильно делаю, в кодобазе пытался найти простой пример, увы, там все индикаторы настолько по разному написаны, что не разберусь (((
ЗЫ: мне не нужно межплатформенный индикатор, ззочу разобраться с индексациями массивов по умолчанию, принтовал уже массивы через ArrayGetAsSeries() - не разобрался
Можете и без ArraySetAsSeries просто посмотрите для наглядности с помощью Print или Comment что выводит 0 индекс массива например open[0]. И от сюда пляшите. Это чтоб самому понять что к чему.
У вас расчёт индикатора идёт от начала к концу (от самых поздних исторических данных к самым свежим - к текущим). А это говорит об индексации как в таймсерии. Значит и массивы должны быть соответственно индексированы, что у вас и есть.
Что не так работает тогда?
да все работает один в один мой порт в MQL5 из MQL4, а вижу что код некрасивый из за ArraySetAsSeries() вот и спрашиваю
вот оба кода
ну научите образцово показательно написать этот индикатор под MT5 !!! - не красивый мой код и точка! )))
ЗЫ совсем не помню как под МТ5 писать индикаторы, сел и за 40 минут тупо переписал с помощью хелпа, но результат... имхо на троечку (((
да все работает один в один мой порт в MQL5 из MQL4, а вижу что код некрасивый из за ArraySetAsSeries() вот и спрашиваю
вот оба кода
ну научите образцово показательно написать этот индикатор под MT5 !!! - не красивый мой код и точка! )))
При обратном цикле вам нужно обязательно делать массивы таймсериями иначе индексация буферов в цикле не будет совпадать с индексацией требуемых данных - индекс цикла в массиве буферов индикатора будет идти от начала к концу, а в open[], high[], low[], close[] и остальных - от конца к началу. Ну или переворачивайте цикл для соответствия его индексации массивов open[], high[], low[], close[] и остальных с индексацией буферов, что сложнее.
Если хотите аллегории, и будет понятнее, то вот вам аллегория:
Вы стоите у ж/д полотна и смотрите на два поезда. Они либо идут в одном направлении - оба слева-направо (ArraySetAsSeries(array,true) - первый поезд и цикл от limit до 0 - второй поезд),
либо идут навстречу друг-другу - (ArraySetAsSeries(array,false) - справа-налево - первый поезд, и цикл от limit до 0 - слева-направо- второй поезд)
И, да: код не глядел - не охота скачивать, сохранять у себя (и так очень много ненужных кодов с форума), сравнивать их промеж собою...
Проще вам было выложить их кодами в сообщение - один и второй - тогда было бы видно сразу что к чему.