Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
  • #1 Свернуть

    MQL5 OrderSend закрытие позиции

    Здравствуйте все! Вопрос по MQL5.

    Мне хочется вставлять комменты в функцию закрытия сделки по тикету.

    Пока пользовался классом CTrade, но он не даёт такую возможность.

    То есть надо использовать OrderSend, правильно?

    Тут я не понимаю: https://www.mql5.com/ru/docs/constan...de_action_deal в примере пишется функция OnStart. Или можно прописать всё в пользовательскую функцию и вызывать её при необходимости?

    Надо ли что-то добавлять в OnInit?

    И не будет ли конфликтов, если я закрытие напишу через OrderSend, а открытия и модификации оставлю на базе класса CTrade?

    Спасибо!
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сообщение от kofesutra Посмотреть сообщение
    Здравствуйте все! Вопрос по MQL5.

    Мне хочется вставлять комменты в функцию закрытия сделки по тикету.

    Пока пользовался классом CTrade, но он не даёт такую возможность.

    То есть надо использовать OrderSend, правильно?

    Тут я не понимаю: https://www.mql5.com/ru/docs/constan...de_action_deal в примере пишется функция OnStart. Или можно прописать всё в пользовательскую функцию и вызывать её при необходимости?

    Надо ли что-то добавлять в OnInit?

    И не будет ли конфликтов, если я закрытие напишу через OrderSend, а открытия и модификации оставлю на базе класса CTrade?

    Спасибо!
    Мне хочется вставлять комменты в функцию закрытия сделки по тикету.
    Не понял, в функцию, или коменты в журнал писать по закрытой сделке?

    Пока пользовался классом CTrade, но он не даёт такую возможность.
    Скопируй класс и в скопированный допиши, то чего не хватает. С вызовами разберёшься.

    То есть надо использовать OrderSend, правильно?
    Что именно исправить ты хочешь?

    Тут я не понимаю: https://www.mql5.com/ru/docs/constan...de_action_deal в примере пишется функция OnStart. Или можно прописать всё в пользовательскую функцию и вызывать её при необходимости?
    Смотри получишь рекурсию.
     

    Комментарий

    • #3 Свернуть

      MonyaMaker, спасибо за ответ!
      Сообщение от MonyaMaker Посмотреть сообщение
      Не понял, в функцию, или коменты в журнал писать по закрытой сделке?
      Да, писать комменты в журнал сделок (отчёт тестера и терминала). Просто CTrade позволяет менять коммент при входе в сделку и при модификации позиции, а при закрытии позиции нет. Если же закрывать через OrderSend, то можно.
      Зачем мне это: стратегия предполагает закрытие позиции по нескольким сигналам и хочется иметь в отчёте указание по какому именно сигналу было закрытие сделки.
      Сообщение от MonyaMaker Посмотреть сообщение
      Скопируй класс и в скопированный допиши, то чего не хватает
      Ну, да, можно и так, Вы правы. Но мне думается, что разумнее вставить функцию в код советника.
       

      Комментарий

      • #4 Свернуть

        Сообщение от kofesutra Посмотреть сообщение
        Но мне думается, что разумнее вставить функцию в код советника.
        Разумнее доработать под себя класс.
         

        Комментарий

        • #5 Свернуть

          Сообщение от kofesutra Посмотреть сообщение
          MonyaMaker, спасибо за ответ!

          Да, писать комменты в журнал сделок (отчёт тестера и терминала). Просто CTrade позволяет менять коммент при входе в сделку и при модификации позиции, а при закрытии позиции нет. Если же закрывать через OrderSend, то можно.
          Зачем мне это: стратегия предполагает закрытие позиции по нескольким сигналам и хочется иметь в отчёте указание по какому именно сигналу было закрытие сделки.

          Ну, да, можно и так, Вы правы. Но мне думается, что разумнее вставить функцию в код советника.
          Подумай после того как попробуешь, лучше думается. В этом случае думать перед тем, как ещё нет предмета для "думанья" - бесполезная трата времени, просто сделай и посмотри. Я обычно пару-тройку вариантов "думаю", легче выбирать потом.
          Из класса есть возможность вернуть код завершения обработки? Его потом и обрабатывай, запиши во временную переменную или массив, в зависимости от количества ордеров. А после обработки, зачисть до следуюшего события.
             

          Комментарий

          • #6 Свернуть

            Спасибо, камрады!

            Сообщение от MonyaMaker Посмотреть сообщение
            Подумай после того как попробуешь, лучше думается.
            Жжоте!

            Сообщение от ir0407 Посмотреть сообщение
            Разумнее доработать под себя класс.
            ОК! Доверяюсь Вашему мнению.

            Тогда скопирую штатный CTrade и подпилю его маленько.
               

            Комментарий

            • #7 Свернуть

              Сообщение от kofesutra Посмотреть сообщение
              Спасибо, камрады!


              Жжоте!


              ОК! Доверяюсь Вашему мнению.

              Тогда скопирую штатный CTrade и подпилю его маленько.
              Доверяться не надо, ты просто проверь. Скопируй, исправления корректно внеси, конструкторы, деструкторы.....
                 

              Комментарий

              • #8 Свернуть

                MonyaMaker, ir0407, дорогие мои! Действительно, скопировать файл с классом CTrade и переточить его маленько оказалось проще и удобнее. Огромное спасибо!
                   

                Комментарий

                • #9 Свернуть

                  Сообщение от kofesutra Посмотреть сообщение
                  Тогда скопирую штатный CTrade
                  Сообщение от MonyaMaker Посмотреть сообщение
                  Скопируй, исправления корректно внеси,
                  Сообщение от kofesutra Посмотреть сообщение
                  Действительно, скопировать файл с классом CTrade и переточить его маленько оказалось проще и удобнее.
                  Я не представляю, что и куда вы там копируете, но в данном случае все должно решаться через наследование. А "копировать" чего-то куда-то совершенно не нужно.
                     

                  Комментарий

                  • #10 Свернуть

                    Сообщение от ir0407 Посмотреть сообщение
                    Я не представляю, что и куда вы там копируете, но в данном случае все должно решаться через наследование. А "копировать" чего-то куда-то совершенно не нужно.
                    Я так понял, что наследовать нечего было. Ну а оригинал сохранить - святое дело. Если не трудно, черкни, что надо было сделать?
                       

                    Комментарий

                    • #11 Свернуть

                      Сообщение от MonyaMaker Посмотреть сообщение
                      Я так понял, что наследовать нечего было.
                      Как это нечего? Если есть какой-то класс, то его всегда можно унаследовать в собственном классе. И ничего никуда не нужно копировать, сохранять и изменять оригинал.

                      Сообщение от MonyaMaker Посмотреть сообщение
                      Если не трудно, черкни, что надо было сделать?
                      А че там черкать? Все есть в справке. И с примерами...
                         
                      Последний раз редактировалось ir0407; 12.04.2017, 21:03.

                      Комментарий

                      • #12 Свернуть

                        Сообщение от ir0407 Посмотреть сообщение
                        Как это нечего? Если есть какой-то класс, то его всегда можно унаследовать в собственном классе. И ничего никуда не нужно копировать.


                        А че там черкать? Все есть в справке. И с примерами...
                        Если у него внутри класса сообщений не было, рэт- кодов тоже, насколько я понял, то смысл наследовать то чего нет? Или я чего то не понял?
                        Ссыль я посмотрю. Спасибо.
                           

                        Комментарий

                        • #13 Свернуть

                          Сообщение от MonyaMaker Посмотреть сообщение
                          Если у него внутри класса сообщений не было, рэт- кодов тоже, насколько я понял, то смысл наследовать то чего нет? Или я чего то не понял?
                          Смысл, как раз в том и состоит, чтобы в своем классе наследнике сделать то, чего нет в родительском классе. Наследуем класс и перекрываем у него "неправильный" метод на свой правильный(либо просто дополняем функционал родителя своими методами), с нужным нам функционалом. Всего делов-то... Работы минимум, удовлетворения максимум...
                             

                          Комментарий

                          • #14 Свернуть

                            Сообщение от ir0407 Посмотреть сообщение
                            Смысл, как раз в том и состоит, чтобы в своем классе наследнике сделать то, чего нет в родительском классе. Наследуем класс и перекрываем у него "неправильный" метод на свой правильный(либо просто дополняем функционал родителя своими методами), с нужным нам функционалом. Всего делов-то... Работы минимум, удовлетворения максимум...
                            У меня извращённая логика, я не понимаю, зачем перехватывать и исправлять, если надо (можно) сразу написать (дописать/перписать), потратив времени в разумных пределах, чтобы меньше телодвижений в итоге было. Поправку сделай, что это субъективная оценка и мнение. Психологически фактор, типа.
                               

                            Комментарий

                            • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
                            • #15 Свернуть

                              Сообщение от MonyaMaker Посмотреть сообщение
                              У меня извращённая логика, я не понимаю, зачем перехватывать и исправлять, если надо (можно) сразу написать (дописать/перписать), потратив времени в разумных пределах, чтобы меньше телодвижений в итоге было. Поправку сделай, что это субъективная оценка и мнение. Психологически фактор, типа.
                              Ну, со своей "извращённой логикой" тебе самому и жить. А я говорю о том, что является стандартом де факто в программировании и поголовно везде используется по всему миру. Так что в данном случае именно твое мнение является субъективным и именно тебе и для себя нужно делать какие-то там "поправки".
                                 

                              Комментарий

                              Сейчас онлайн

                              working...
                              X