ademen Опубликовано 10 мая, 2024 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 мая, 2024 11 часов назад, mishastar сказал: Классический копировальщик тут как то не подошел.. Любая информация во благо!!! Бери основу общение терминалов как в копировщике, и меняй под себя Ссылка на сообщение Поделиться на другие сайты More sharing options...
fearnt Опубликовано 25 июня, 2024 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 июня, 2024 Привет, может кто подсказать или скинуть пример мультивалютного индикатора с OnCalculate. Такое вообще возможно сделать? Имеется индикатор, но не мультивалютный, хочу переделать чтобы каждую пару не открывать каждый раз и не кидать его туда, да и терминал виснет, ппц. Mt4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ar4i Опубликовано 30 июля, 2024 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июля, 2024 Здравствуйте всем! Хочу реализовать одну вещь. А именно что бы главным условием было то, что бы после открытия ордера цена должна пройти определенное количество пунктов в любую из сторон. А уже потом реагировать на другие условия. Для этого у меня есть функция определения цены по которой был открыт ордер. Она рабочая, я ее проверял через Commetnt(). Далее я пишу условие if((Bid>=(FindLastOrderPrice()+200*_Point)) || (Bid<=(FindLastOrderPrice()-200*Point)) {...} Но хочется так что бы: цена должна пройти определенное количество пунктов, после чего даже если она вернется назад то ордер уже мог бы открываться по другим условиям. Короче я так понимаю что в условие должно быть обнуление после того как цена прошла заданные пункты. Как это сделать? Изменено 30 июля, 2024 пользователем Ar4i Ссылка на сообщение Поделиться на другие сайты More sharing options...
Capital Plus Опубликовано 1 декабря, 2024 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 декабря, 2024 В 30.07.2024 в 16:35, Ar4i сказал: Здравствуйте всем! Хочу реализовать одну вещь. А именно что бы главным условием было то, что бы после открытия ордера цена должна пройти определенное количество пунктов в любую из сторон. А уже потом реагировать на другие условия. Для этого у меня есть функция определения цены по которой был открыт ордер. Она рабочая, я ее проверял через Commetnt(). Далее я пишу условие if((Bid>=(FindLastOrderPrice()+200*_Point)) || (Bid<=(FindLastOrderPrice()-200*Point)) {...} Но хочется так что бы: цена должна пройти определенное количество пунктов, после чего даже если она вернется назад то ордер уже мог бы открываться по другим условиям. Короче я так понимаю что в условие должно быть обнуление после того как цена прошла заданные пункты. Как это сделать? Основное действие в таком случае должно активировать флаг Если оно не выполнено, то flag = false. Этот флаг нужно вставить в это самое условие if((Bid>=(FindLastOrderPrice()+200*_Point) && !flag) || (Bid<=(FindLastOrderPrice()-200*Point) && !flag) {...} В 25.06.2024 в 15:29, fearnt сказал: Привет, может кто подсказать или скинуть пример мультивалютного индикатора с OnCalculate. Такое вообще возможно сделать? Имеется индикатор, но не мультивалютный, хочу переделать чтобы каждую пару не открывать каждый раз и не кидать его туда, да и терминал виснет, ппц. Mt4 Когда приходит котировка, терминал начинает исполнять код всех индикаторов по очереди. Для каждой валютной пары или для любого другого финансового инструмента производится свой собственный расчёт. Данный расчёт число логически не зависит от количества индикаторов и количества графиков, он будет произведён для каждого инструмента отдельно даже если находится в одном индикаторе. В последнем случае используют цикл перебора списка валютных пар или других инструментов, с которыми итерационно происходит один и тот же расчёт, что был и в обычном сингл-режиме, когда на каждом графике стояло по копии одного индикатора. Если для Вас критерий - это кратное увеличение производительности, то МТФ-режим в таком случае — не спасёт. Расчёт будет незначительно отличаться, Вы его даже не заметите. Если расчётная часть содержит избыток циклов перерасчёта, как в индикаторе ТМА, то такой индикатор будет виснуть как в сингл-режиме, так и в МТФ. Создать МТФ - это продублировать часть кода на все валютные пары: дополнительно прибавить количество буферов для отображения остальных валютных пар, или расчётных буферов, если отрисовывать ничего не нужно и тд. По сути при каждой итерации терминал бегает по одному и тому же расчётному коду для разных валютных пар - это ничем неотличается от сингл режима. И оптимизационная часть там может быть лишь условной: использовать одни и теже переменные, не создавая дополнительных и тд. Это всё мелкие операции для терминала, они не заметны. Изменено 1 декабря, 2024 пользователем Capital Plus Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти