Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кретин.
Я так и понял, что Вы это о себе.
А как же "Захочет - разберется."?
Мне проще одним постом ответить, чем десятки плодить с "рекомендациями".
Захочет - разберется.
Когда-то я хотел... Но ваш код, это что-то с чем-то.
В данном случае нужно немного только знать MT4/5.
В данном случае нужно немного только знать MT4/5.
К несчастью я знаю чуть больше чем немного.
Я вам уже однажды говорил, вы по делу и без дела суёте свой код как в каждую бочку затычку. Кому это надо он давно этим пользуется и некоторые даже рекламируют его. Но навязывать его где не очень нужно просто неприлично. Особенно там где человек хочет понять и разобраться в программировании на mql5 а не через выверты.
К несчастью я знаю чуть больше чем немного.
Я вам уже однажды говорил, вы по делу и без дела суёте свой код как в каждую бочку затычку. Кому это надо он давно этим пользуется и некоторые даже рекламируют его. Но навязывать его где не очень нужно просто неприлично. Особенно там где человек хочет понять и разобраться в программировании на mql5 а не через выверты.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обработка транзакций OnTradeTransaction
fxsaber, 2019.02.08 13:24
Решение задачи автора ветки покажите.
Понимаете, когда делаете некоторые утверждения, неплохо бы их хоть как-то подтверждать на деле. За несколько страниц так и не появилось OnTradeTransaction-решения. И если и появится, тогда станет быстро понятно, почему предоставленное решение именно такое, а не иное. В решении должна быть видна логика, а не черти что. От того, что уберу инклуд, исходник в своей логике ни капли не потеряет. А только логику (идею) и нужно понять, не более.
Согласен с этим высказыванием. Как только логика понятна, идет выбрасывание всех инклудов и создается чисто свое. Именно этот путь и предлагается: освоить не инклуд, а кодом показать и не отпугнуть, как может работать задача, решение которой требуется.
Вот вернулся я к источнику проблемы. И возникают вопросы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обработка транзакций OnTradeTransaction
Илья Ребенок, 2019.02.07 20:08
Добрый вечер.
Ребята, прошу помочь разобраться. Проблема вероятно не нова, но однозначного решения не нашел (ни на практике, ни на форумах).
В терминале на 2 инструментах запускаю 2 разных робота. Мэджики везде разные. Робот выставляет отложенные лимитки, в процедуре OnTradeTransaction отлавливаю транзакции совершения сделки и на основе нее выставляю отложенные стоп ордера.
Ниже код на транзакцию сделки
Код функции проверки принадлежности сделки к роботу
Код процедуры по выставлению отложенных стоп ордеров
Код функции поиска ордера в истории и не в истории
В лог вывожу информацию о приходе транзакций в порядке их поступления в терминал. Теперь проблема, с которой столкнулся при торговле на демо счете:
Периодически транзакции приходят в таком порядке TRADE_TRANSACTION_ORDER_DELETE, затем TRADE_TRANSACTION_DEAL_ADD, затем TRADE_TRANSACTION_HISTORY_ADD. Зачастую в этом случае после совершения сделки стоп ордера не выставляются. По моему предположению это связано с тем, что ордер уже удален, но в историю еще не попал. То есть мы не можем найти ордер из сделки ни в истории, ни в терминале. Хотя это сомнительно, но факт остается фактом - стоп ордера не выставляются, так как робот после поиска ордера во всех измерениях его не находит (isFindOrder=false). Порядок транзакций может быть и правильным, но ордера все равно нигде нет. Во всех случаях робот сделку определяет верно, но до выставления ордеров не доходит. При этом также периодически все работает правильно и ордера выставляются.
Пробовал разные подходы, ничего не помогает. Сейчас думаю добавить в начало процедуры по выставлению отложенных ордеров sleep в 1 секунду, может не хватает времени. В общем даже не знаю, куда еще копать.
Поделитесь опытом и идеями пожалуйста.
Как можно совместить выделенное со следующей фразой:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обработка транзакций OnTradeTransaction
Илья Ребенок, 2019.02.07 20:20
Забыл добавить, что режим неттинговый. Позиция одна для всех роботов. То есть один робот купил позицию, второй купил ее, события TRADE_TRANSACTION_DEAL_ADD пришли в обратном порядке и в итоге первый робот ее не увидел.
Да и мне по логике требуется получать комментарий ордера из сделки, позиция тут особо не поможет.Не будем обращать внимание на опечатку, один купил второй купил... Главное что выходит будто-бы два советника работают на одном инструменте при типе счёта netting... Или я чего-то не совсем понимаю?
Не будем обращать внимание на опечатку, один купил второй купил... Главное что выходит будто-бы два советника работают на одном инструменте при типе счёта netting... Или я чего-то не совсем понимаю?
На одном неттинг-символе несколько советников - норма. Например, сеточники. Поэтому вполне возможна ситуация, когда неттинг-поза нулевая, но при этом есть два SL и два TP. Задачу четко сформулировал выше.
На одном неттинг-символе несколько советников - норма. Например, сеточники. Поэтому вполне возможна ситуация, когда неттинг-поза нулевая, но при этом есть два SL и два TP. Задачу четко сформулировал выше.
Мы додумывать можем всё что угодно. Мне хотелось-бы услышать "Начальника транспортного цеха". Ведь я его сообщения цитировал.
Мы додумывать можем всё что угодно. Мне хотелось-бы услышать "Начальника транспортного цеха". Ведь я его сообщения цитировал.
Думается начальника так "запугали", что он более не появиться :)
Не совсем понял вас. Вот же у меня обработка транзакции
По поводу статуса ордера в сделке. Вы же понимаете, что я не сам придумываю. Во всех транзакциях deal_add такой статус ордера. Обратите внимание, что он рыночный стал, а был отложка.
Сейчас еще порция непонимания прилетела. Прилетела транзакция Deal_add, а позиция не появилась и отложки по несуществующей позе выставились.
Добавлено.
Прилетела транзакция Deal_add, а позиция не появилась и отложки по несуществующей позе выставились. Тип сделки продажа, тип ордера - покупка. Хотя изначально лимитка была Sell_limit
Видимо, либо где-то не чистится старая инфа, либо берётся неинициализированная.
У меня по приходу deal_add ордер обычно уже в истории, или уже удалён, но в истории ещё не появился.
Хотя бывает и так, что ордер ещё есть, и тогда он в состоянии placed.
Но вот started он в это время едва ли может быть.
Проверять там, где выбирается ордер или история, что они _действительно_ выбираются.