Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, Владимир, Но статьи пишут люди. А людям свойственно ошибаться, заблуждаться или просто иметь собственное мнение. Главную мысль этого абзаца, на мой взгляд, я выделил.
Я отталкиваюсь лишь от правил работы функции, заявленной в документации и на собственных тестах. Если функция несколько раз срабатывает на событие добавления одной уникальной сделки в историю, то какой от неё в таком случае смысл. Проще использовать тогда OnTrade(), и написать все нужные проверки самому как в MQL4.
Честно говоря, сам сижу, читаю эти статьи и чувствую себя так же, как когда начинал изучать язык программирования MQL5. Полная беспомощность перед этой функцией. Для меня понятие события - это то, что уже произошло. А когда пытаюсь вникнуть в суть статей, то получается, что событие это ещё не то, что уже произошло, а то, что может находиться в процессе того, что должно будет произойти.
Поправьте меня, если это не так, а то мозг уже взрывается!
С уважением, Владимир.
Честно говоря, сам сижу, читаю эти статьи и чувствую себя так же, как когда начинал изучать язык программирования MQL5. Полная беспомощность перед этой функцией. Для меня понятие события - это то, что уже произошло. А когда пытаюсь вникнуть в суть статей, то получается, что событие это ещё не то, что уже произошло, а то, что может находиться в процессе того, что должно будет произойти.
Поправьте меня, если это не так, а то мозг уже взрывается!
С уважением, Владимир.
В процессе не того, что должно произойти, а именно уже произошло и что можно в сей момент обработать.
Что такое сделка? Ничто иное, как переход ордера в позицию. Вот в данном случае если был отложенный ордер, цена сравнялась с ценой ордера, в этот момент происходит сделка. Фиксация исполнения приказа. Ведь ордер это ни что иное как приказ на покупку\продажу актива по заявленной цене. Так? Все условия сложились, приказ выполнен, вот вам и сделка… Сделка свершилась, получили позицию.
Ведь у вас не возникает непонимания событие OnTick(). Пришёл новый тик, выполняется функция обработки события. А почему возникает проблема с событием OnTradeTransaction не понимаю…
В процессе не того, что должно произойти, а именно уже произошло и что можно в сей момент обработать.
Что такое сделка? Ничто иное, как переход ордера в позицию. Вот в данном случае если был отложенный ордер, цена сравнялась с ценой ордера, в этот момент происходит сделка. Фиксация исполнения приказа. Ведь ордер это ни что иное как приказ на покупку\продажу актива по заявленной цене. Так? Все условия сложились, приказ выполнен, вот вам и сделка… Сделка свершилась, получили позицию.
Ведь у вас не возникает непонимания событие OnTick(). Пришёл новый тик, выполняется функция обработки события. А почему возникает проблема с событием OnTradeTransaction не понимаю…
Спасибо, Алексей! Твоему терпению моей тугодумости можно только позавидовать. Наверное нужно сделать так, как делал раньше - ещё несколько раз перечитать эти статьи, затем взять паузу, а потом попробовать самостоятельно применить эту функцию в каком-нибудь новом своём советнике.
С уважением, Владимир.
Немного дополню Алексея.
Сделка в общем случае, это транзакция, связанная так или иначе с изменением Баланса. Сделка на вход, например, это списание комиссии на вход. Выход из позиции это фиксация профита. Есть сделки на пополнение/списание баланса
Сделки на закрытие/открытие по начислению/списанию вариационной маржи, и сделки корректировки Баланса
Последние происходят НЕ на основании ордера. И позиция на их основании открывается не всегда.
P.S. В контексте темы этой ветки, конечно, сделка определённого типа отражает изменение позиции в момент её добавления в историю.
Немного дополню Алексея.
Сделка в общем случае, это транзакция, связанная так или иначе с изменением Баланса. Сделка на вход, например, это списание комиссии на вход. Выход из позиции это фиксация профита. Есть сделки на пополнение/списание баланса
Сделки на закрытие/открытие по начислению/списанию вариационной маржи, и сделки корректировки Баланса
Все они происходят НЕ на основании ордера. И позиция на их основании открывается не всегда.
Совершенно верно. Если позиция открывается по рынку, то ордер отсутствует. А сделки с изменением баланса фильтруются по типу сделки deal_type. Но с этим Владимиру легко будет разобраться когда он разберётся с событием.
А в этом случае, я говорил о позициях потому, что вопрос был связан со сделками DEAL_TYPE_BUY или DEAL_TYPE_SELL и никакими другими.
Совершенно верно. Если позиция открывается по рынку, то ордер отсутствует. А сделки с изменением баланса фильтруются по типу сделки deal_type. Но с этим Владимиру легко будет разобраться когда он разберётся с событием.
А в этом случае, я говорил о позициях потому, что вопрос был связан со сделками DEAL_TYPE_BUY или DEAL_TYPE_SELL и никакими другими.
Алексей, не вводите в заблуждение публику. При открытии любой позиции есть ордер и сделка. Причём, ID позиции всегда равна тикету открывающего её ордера.
Настоятельно рекомендую вам почитать эту статью, ссылку на которую предоставил Владимир.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопрос о функции OnTradeTransaction
Andrey Kaunov, 2023.03.21 18:51
Сделки на закрытие/открытие по начислению/списанию вариационной маржи, и сделки корректировки Баланса
Последние происходят НЕ на основании ордера. И позиция на их основании открывается не всегда.
Так такая причина проведения сделки есть. Причём, сделки по последним 4 свойствам происходят НЕ на основании ордера, как показывает практика.
Это клиринг, когда происходит зачисление/списание накопленной вариационной маржи. Далее начисление профита происходит "с нуля".
Происходит как бы закрытие и открытие той же позиции.
Это биржа, фьючерсы.
Происходит как бы закрытие и открытие той же позиции.
Переоткрытие, спасибо.