Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть VIII): События модификации ордеров и позиций" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Артем, еще раз спасибо!
Метод "void CEventsCollection::CreateNewEvent(COrderControl* order)" служит для создания торгового события в зависимости от типа изменения ордера, тоесть он создает событие связаное с любым изменением ордера.....
А причина изменения ордера посылается в созданное событие одна: EVENT_REASON_STOPLIMIT_TRIGGERED
Если я прав прошу исправить, если нет прошу объяснить что не увидел.
Большое спасибо за библиотеку вы упростили мой труд в несколько раз,
особенно когда работа основная не связана с программированием.
Артем, еще раз спасибо!
Метод "void CEventsCollection::CreateNewEvent(COrderControl* order)" служит для создания торгового события в зависимости от типа изменения ордера, тоесть он создает событие связаное с любым изменением ордера.....
А причина изменения ордера посылается в созданное событие одна: EVENT_REASON_STOPLIMIT_TRIGGERED
Если я прав прошу исправить, если нет прошу объяснить что не увидел.
Большое спасибо за библиотеку вы упростили мой труд в несколько раз,
особенно когда работа основная не связана с программированием.
Без привязки к точному месту расположения цитируемых строк я не могу понять о чём именно вы говорите - просто поиском (Shift+Ctrl+F) не нашёл такого кода во всех файлах библиотеки...
event.SetProperty(EVENT_PROP_REASON_EVENT,EVENT_REASON_STOPLIMIT_TRIGGERED);
Где это находится?
Без привязки к точному месту расположения цитируемых строк я не могу понять о чём именно вы говорите - просто поиском (Shift+Ctrl+F) не нашёл такого кода во всех файлах библиотеки...
Где это находится?
Вот строки из описания в самой части этой статьи и соответсвенно кода в конце статьи: подчеркнул эту строчку!
На данный момент - в текущей версии библиотеки, метод выглядит так:
Т.е., либо то была ошибка, и она давно исправлена, либо в обсуждаемой версии библиотеки это не критично. Я уже и не вспомню как там точно всё обстояло с этим...
На данный момент - в текущей версии библиотеки, метод выглядит так:
Т.е., либо то была ошибка, и она давно исправлена, либо в обсуждаемой версии библиотеки это не критично. Я уже и не вспомню как там точно всё обстояло с этим...
Это очень важно, от автора это еще важнее. Если вы не отказались от вашей первоначальной идеи. Своей работой помочь начинающим программистам, таким как мне. Когда ты еще начинающий (ученик) и только познаешь язык программирования, или вообще программирование, очень много появляется сомнений и вопросов при изучении вашей работы (библиотеки). В данном случае я до последнего не был уверен, что это ошибка или вы так задумали. Прошелся не один раз по вашему коду. И для меня это очень важно: "или я не понял смысл автора, или это просто опечатка автора в его большом проекте."
И как вы утверждаете, что это не критично?! Это не правильно с вашей стороны, тем самым вы и я с вами просто путаем читателей. Которые изучают или учатся как и я, по вашей библиотеки.
Это очень важно, от автора это еще важнее. Если вы не отказались от вашей первоначальной идеи. Своей работой помочь начинающим программистам, таким как мне. Когда ты еще начинающий (ученик) и только познаешь язык программирования, или вообще программирование, очень много появляется сомнений и вопросов при изучении вашей работы (библиотеки). В данном случае я до последнего не был уверен, что это ошибка или вы так задумали. Прошелся не один раз по вашему коду. И для меня это очень важно: "или я не понял смысл автора, или это просто опечатка автора в его большом проекте."
И как вы утверждаете, что это не критично?! Это не правильно с вашей стороны, тем самым вы и я с вами просто путаем читателей. Которые изучают или учатся как и я, по вашей библиотеки.
:)
Я ж показал код, в котором цветом выделены исправления. Внесите их в версию библиотеки, прилагаемую к этой статье.
Конечно же я уже не помню - ошибка это моя была, или в данной версии это не критично, и поэтому прошло мимо моего взора при отладке. Ведь уже сорок с лишним статей, и эта было так давно. Скорее всего всё-таки ошибка, исправление которой было внесено в последующих статьях - очень многое в библиотеке уже создаётся "на лету". Конечно была, и не одна, тестовые версии библиотеки. Но с началом описания её создания многое было пересмотрено и добавлено. Именно поэтому цикл статей позиционируется как описание создания библиотеки. Таким образом я пытаюсь вовлечь читателя в сам процесс её создания. С пробами и ошибками, и с указанием как их исправить - чтобы был весь процесс на виду - раскрыть, так сказать, "все муки созидания" :)
Потому, прошу прощения за внесённую сумятицу в вашем осознании происходящего...
Просто внесите предложенные выше изменения. Или оставьте до той статьи, в которой это будет исправлено.
Я хочу получить символ последнего событья, тикет и тип (открытия, закрытия, модификация), как это правильно сделать?
Я смотрю Артём так занят, что вообще не появляется на форуме.))) Может у меня получится подсказать, когда-то я экспериментировал с его библиотекой. Сегодня полазил по тем экспериментам и обнаружил такую функцию. В комментарии сказано, что функция получает список всех открытых позиций.
К сожалению объяснить что для чего я уже не могу, всё благополучно забыл, но может сможете разобраться…
Ну… если не получится, подождите. Артём найдёт время и ответит.
При поступлении тика, по которому устанавливается и одновременно активируется (триггерится) отложенный ордер (я тестировал с Buy Stop) ваш движок не регистрирует все события...
Приходит событие TRADE_EVENT_PENDING_ORDER_PLASED, но не TRADE_EVENT_PENDING_ORDER_ACTIVATED.
Код у меня примерно такой:
Сначала в цикле нахожу индекс старого (обработанного) события, а затем, начиная с него, перебираю все новые до конца. Так вот, в ситуации, когда по одному тику лимитный ордер установлен и стриггерен приходит одно событие об установке... Прокомментируйте, пожалуйста.
ProcessTradeEvents() вызываю в OnTick() следом за engine.OnTick(rates_data).