![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рабочим кодом должен быть этот
Но обнаружился баг в MT5, поэтому до исправления он работать не будет - iMA от iMA через кастомный хэндл.
Локализовали баг, поэтому обходится, и код становится рабочим
Локализовали баг, поэтому обходится, и код становится рабочим
До чего-же тяжёлые для понимания коды вы пишете...
До чего-же тяжёлые для понимания коды вы пишете...
Писал код, ориентируясь только на документацию. Первый раз в своем коде использовал iMA и, похоже, iCustom. Про хэндл в iMA узнал из этой ветки. Так что все очень даже стандартно.
Писал код, ориентируясь только на документацию. Первый раз в своем коде использовал iMA и, похоже, iCustom. Про хэндл в iMA узнал из этой ветки. Так что все очень даже стандартно.
А в CodeBase хоть один индикатор смотрел? Если это стандартное написание, то в CodeBase тогда что? :)))))))
Всё равно спасибо. Может быть когда ни будь смогу разобраться в таком стандарте написания.
А в CodeBase хоть один индикатор смотрел? Если это стандартное написание, то в CodeBase тогда что? :)))))))
КБ не смотрел, т.к. в документации все оказалось.
Сейчас специально посмотрел код нескольких индикаторов в КБ - все так же. Не увидел только такого, но ООП массово не жалуют, видимо.
Если правильно понимаю, после появления Маркета поток немного нестандартных решений в кодобазе сильно уменьшился. ООП-индикаторов не нашел, например.
А в CodeBase хоть один индикатор смотрел? Если это стандартное написание, то в CodeBase тогда что? :)))))))
Всё равно спасибо. Может быть когда ни будь смогу разобраться в таком стандарте написания.
Использован минималистичный понятный стиль, и десяток строк не растянуты на пять прокруток монитора, как это в кодобазе по-умолчанию
Я конечно самоучка и многого не знаю и даже о многом не слышал. Для меня стандартное написание это последовательность выполнения кода предлагаемая компилятором
В вашем-же коде OnInit() заменён на const bool Init я даже не сразу это увидел.
const int handleMA0 = FlagCustomData..... в глобальной области что я вижу впервые. Всегда объявляли переменную в глобальной области и в OnInit() получали хендл индикатора...
И в конце концов само вычисление индикатора.... надо долго разбираться чтобы что-то сказать об этом. И самое непонятное, зачем так указывать период МА? Просто на столько непривычно, да и за много лет неиспользования знаний полученных в школе, наверное не я один, забыл что такое 1е2
В общем в таком коде для меня разобраться гораздо сложней. Но главное, я понял что можно в индикаторе получить хендл "самого себя".
Я конечно самоучка и многого не знаю и даже о многом не слышал.
Тоже не программер.
Можно написать любой код, который будет выполняться до OnInit и после OnDeinit. Поэтому эти обе функции совсем не обязательны. Могут совсем отсутствовать индикаторные буферы, при этом не всегда возможно конвертировать такой индикатор в советник с тем же визуальным результатом.
Все скрипты могут быть переписаны с пустой OnStart - не нужна. И т.д.
Все эти утверждения никак не противоречат Документации, а наоборот - вытекают из нее.
В Документации нигде не написано, что надо писать шаблонно. Скорее, это авторы в кодобазе навязывают какое-то шаблонное написание.
В общем, смотрите на MQL-программы несколько шире. А некоторые элементы ООП дают еще больше гибкости.
ЗЫ 1e7 и 10000000 - что понятнее?
ЗЫЫ Если глобальные инициализации пугают, можно все запихать в OnCalculate
Единственная недокументированная возможность, что проскочила в коде
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Базовые индикаторы, применяемые к кастомному инструменту
fxsaber, 2017.09.29 22:22