Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проверил, не работает( Хорошо, как узнать время закрытия сделки?
Проверил, не работает( Хорошо, как узнать время закрытия сделки?
Проверил, не работает( Хорошо, как узнать время закрытия сделки?
если в т
если в тестере проверяете то Sleep в тестере не работает
Попробовал записать в переменную формата datetime значение DEAL_ENTRY_OUT В результате записалось вот это Alert: 1970.01.01 00:00:01
Может это потому, что сегодня нет реальных торгов, посмотрю что запишет завтра на демосчете, или я что то не так сделал?
DEAL_ENTRY_OUT это направление сделки, как время использовать нельзя, надо выбрать все сделки в истории с помощью функции HistorySelect(),
затем в цикле перебрать все доступные сделки и найти сделку самую последнюю по времени (функция HistoryDealGetInteger() с модификатором DEAL_TIME),
проверить её направление (функция HistoryDealGetInteger() с модификатором DEAL_ENTRY), проверить пренадлежность к торгуемому символу
(функция HistoryDealGetString() с модификатором DEAL_SYMBOL), если используете Magic то надо проверить и его (функция HistoryDealGetInteger() с модификатором DEAL_MAGIC),
если все параметры совпадают и в рынке нет позиции по инструменту, фиксируем время совершения сделки (функция HistoryDealGetInteger() с модификатором DEAL_TIME) и
от полученного времени отмеряете необходимую паузу
Подскажите, все эти функции для эксперта писать в OnTick или OnInit? Или это отдельные функции в программе, но тогда их вызывать из OnTick?
Такой код Alert ( HistorySelect(0,TimeCurrent()) ); выдает результат true, хотя вроде должен перебрать всю историю ордеров.
Может есть какой-нибудь пример реализации задержки по времени, не получается самостоятельно разобраться. Ну или можно изменить алгоритм без задержки временной, но тогда надо знать момент закрытия сделки, чтобы робот пропустил бар на котором сделка закрылась, а потом снова начал торговать. Пробовал вот так if (HistoryDealGetInteger(ticket,DEAL_ENTRY)==DEAL_ENTRY_OUT), но здесь надо знать тикет последнего ордера. Что такое тиккет, как программно узнать? Справочник читал, не понимаю, там пример приводится по известному тиккету находят ордер, а у меня тиккет неизвестен. Может кто поможет конкретным примером?
вот функция подсчета прибыли по закрытым сделкам, как сюда вставить поиск по времени,думаю сообразите