Обновление платформы MetaTrader 4 build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ - страница 39
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Боюсь, мы с Вами не договоримся.
В общем-то я решил свою локальную задачу, тем не менее остаюсь при своём мнении, что фраза в справке
не соответствует действительности.
Помню, что обсуждалась возможность и вроде как допиливалась реализация возможности импорта функций не только из библиотек, но и из прочих экспертов и индикаторов, но не могу найти деталей.
Интересует прописываемый путь. Вызов импортируемых функций
Поиск импортируемой библиотеки EX4 производится в следующей последовательности:
Это первый пункт надо юзать? И как это должно выглядеть, если к примеру эксперт вызывает функции из индикатора?
И как это должно выглядеть, если к примеру эксперт вызывает функции из индикатора?
Так ведь речь идет о вызове функций из библиотеки. Кстати, не пробовал импортировать функции из индикатора. Разве можно?
Так ведь речь идет о вызове функций из библиотеки. Кстати, не пробовал импортировать функции из индикатора. Разве можно?
#import "имя_файла"
func1 define;
func2 define;
...
funcN define;
#import
По WebRequest:
Подскажите, как отловить событие закрытия ордера по S/L или T/P.
Подскажите, как отловить событие закрытия ордера по S/L или T/P.
Такое системное событие появилось в МТ5 OnTrade() , к сожалению аналога нет в MT4.
Ловить можно разными способами
1) вставить в таймер обработку ордеров - таймер запускать раз в секунду - или чаще - этот метод плох тем что будет тормозить
2) на каждом тике конкретной пары - пробегать по ордерам - держа в памяти предыдущее состояние ордеров - более оптимальный способ чем п1
т е имеем массив ордеров типа
moOrdersOpenPrice[]
moOrdersOpenType[]
moOrdersTP[]
moOrdersSL[]
и т д
если при очередной итерации ( приходе тика ) количество ордеров стало меньше - искать в истории ордер который сработал по ТП или SL
---
Но идеально , если разработчики добавят событие OnTrade() при изменении ордера - как это реализовано в МТ5
Такое системное событие появилось в МТ5 OnTrade() , к сожалению аналога нет в MT4.
Ловить можно разными способами
1) вставить в таймер обработку ордеров - таймер запускать раз в секунду - или чаще - этот метод плох тем что будет тормозить
2) на каждом тике конкретной пары - пробегать по ордерам - держа в памяти предыдущее состояние ордеров - более оптимальный способ чем п1
т е имеем массив ордеров типа
moOrdersOpenPrice[]
moOrdersOpenType[]
moOrdersTP[]
moOrdersSL[]
и т д
если при очередной итерации ( приходе тика ) количество ордеров стало меньше - искать в истории ордер который сработал по ТП или SL
---
Но идеально , если разработчики добавят событие OnTrade() при изменении ордера - как это реализовано в МТ5
Я потому и спрашиваю, что у меня учет ордеров идет списком. Иногда получается так, что ордера закрываются и сразу появляется сигнал на открытие ордера, советник начинает просчитывать стратегию отталкиваясь от ордеров в списке, но там их уже нет, а следующий анализ списка происходит на следующем тике, в результате получаем ошибку.
На каждом тике делать анализ всего списка ордеров тоже накладно, т.к. в отличие от массивов список хоть и легче в обработке (не нужно постоянно проводить операции с выделением памяти под массив и т.д., в списке элемент просто удаляется без перезаписи всего списка), но не хотелось бы лишним анализом списка грузить стратегию советника.
Видимо пока остается только способ анализа состояния цены по отношению к уровням S/L или T/P.