![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите пожалуйста как на mql5 будет следующий код не пойму
в частотности как получить текущий час?Держите
stringo:
Т.е. серьёзные проблемы вызывает реализация вот такого варианта?:
Именно так. Дело в том, что торговля и очередь сообщений никак не синхронизированны. По одному и тому же тикету может прийти куча сообщений.
Кроме того, когда Вы получаете первое сообщение из этой кучи, Вы ничего не знаете о наличии следующих сообщений по этому же тикету. Вы кинулись обрабатывать модификацию тикета, а тикета-то уже нет, он уже в истории закрытых позиций. Что делать? Неизвестно.
Сейчас, когда приходит обезличенное торговое событие, Вы тут же можете узнать текущее состояние открытых позиций и истории торговли. У Вас нет номера тикета, и Вам не на что ориентироваться, кроме как на текущее состояние.
Был пару дней без связи.
Может быть, конечно, имеются разные варианты использования возможных параметров из функции OnTrade(), но я нацелен вот на такой вариант:
1. Ордеры. Получив очередное сообщение "из кучи", по тикету ордера узнаю, находится ли ордер в списке открытых ордеров (OrderSelect), или в списке исторических ордеров (HistoryOrderSelect). Т.е. получаю самую актуальную информацию о текущем нахождении конкретного ордера относительно списков ордеров.
2. Позиции. Получив очередное сообщение "из кучи", по имени символа узнаю, каково состояние позиции по этому символу (PositionSelect). Т.е. также получаю самую актуальную информацию о текущем состоянии позиции.
Далее - работа с свойствами конкретного инструмента, по необходимости.
Тем самым стараюсь избежать излишнего применения циклических проверок.
Что пишет то? Какие симптомы?
Ничего непишет! пробую открыть демо счёт ( пробовал на разных ДЦ)
выдаёт
а дальше не может создать счёт
Большинству трейдеров нужно знать сработал стоп-лосс или тэйк-профит и на каком инструменте. Остальные торговые события - экзотика, имеющая малое отношение к торговле. ИМХО. Поэтому, если бы в функции OnTrade() сообщался символ, то сравнивая, например, значения баланса текущего с предыдущим, можно было бы определить что сработало sl или tp. Сделайте хотя бы символ.
Ничего непишет! пробую открыть демо счёт ( пробовал на разных ДЦ)
выдаёт
а дальше не может создать счёт
Разработчикам
Постоянный снос информации от торговом счете на Win 2003 SP2 (в терминальном режиме) это баг или так все и было задумано для повышения безопасности?
Верней так, если поочередно пользоваться одной и той же копией программы в обычном и терминальном режиме с разными учетными записями данные о счете периодически исчезают. Видимо если просто в терминальном режиме под разными учетными записями работать будет аналогичная ситуация (это пока не проверял).
Большинству трейдеров нужно знать сработал стоп-лосс или тэйк-профит и на каком инструменте. Остальные торговые события - экзотика, имеющая малое отношение к торговле. ИМХО. Поэтому, если бы в функции OnTrade() сообщался символ, то сравнивая, например, значения баланса текущего с предыдущим, можно было бы определить что сработало sl или tp. Сделайте хотя бы символ.
Большинству трейдеров нужно знать сработал стоп-лосс или тэйк-профит и на каком инструменте. Остальные торговые события - экзотика, имеющая малое отношение к торговле. ИМХО. Поэтому, если бы в функции OnTrade() сообщался символ, то сравнивая, например, значения баланса текущего с предыдущим, можно было бы определить что сработало sl или tp. Сделайте хотя бы символ.
В "защиту тикета" :) Я вот предпочитаю работать с отложенными ордерами и отслеживать их судьбу от рождения и до пенсии. Какая же это "экзотика, имеющая малое отношение к торговле"? Напротив, точечное отслеживание судьбы ордеров по их тикетам - требование времени. - Для того, чтобы не выставить повторный отложеннный ордер или не проспать срабатывание уже установленного. При наличии параметров, о которых писал выше, блок точечного слежения за ордерами можно будет перенести в функцию OnTrade().