Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 25

 
fyords:

Выставлен то да, а вот когда он сработает...

Или такой пример: есть отложенный ордер, цена его на 1 пункт отличается от текущей, при следующем тике цена прыгает не на 1 пункт, а, допустим, на 3-5, итог - открытие не на нужной цене. Явный пример - гэп. 

А может я не понял вопроса и туплю.

Тут скорее моё недопонимание работы OrderGetTicket. Функция возвращает непонятно что попеременно то false то true.  Даже если учесть, что ордер выставлен не по той цене, она должна просто возвращать false. А она попеременно ...


UPD: В общем дело было в забытом NormalizeDouble в передаче цены. Как обычно:) Сама функция работает нормально.


 
Скажите пожалуста, возможно ли писать 
 if (OrderTicket=OrderGetTicket(i)) {//Возвращает тикет соответствующего ордера и автоматически выбирает ордер

Функция, если ордер ни выбран, выдает ноль? 

То есть, если равно не двойное, простое, это будет здесь присвоение, а не сравнение? Ноль-это не то же, что нет? 

Ошибки сразу не выдало, но я сам позже понял, что я не понял, что написал! 

 
Dimka-novitsek:
Скажите пожалуста, возможно ли писать 

Функция, если ордер ни выбран, выдает ноль? 

То есть, если равно не двойное, простое, это будет здесь присвоение, а не сравнение? Ноль-это не то же, что нет? 

Ошибки сразу не выдало, но я сам позже понял, что я не понял, что написал! 

Выражение верное, в описании функции написано что в случае неудачи функция вернёт ноль. Ноль для if это false. Так что конструкция будет работать нормально.

Другое дело что торговый функционал настолько быстр, что на одном тике вы сделали отправку ордера, а на другом он уже в истории, так что эта конструкция очень часто (но не всегда) будет выдавать false.

Чтоб вы поняли что вы написали поясню, в приведённом коде вы отслеживаете выставленные но ещё не исполненные ордера. Для их контроля есть более приспособленная для этих целей функция OnTradeTransaction().

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
СПАСИБО!!!
 
Не представляю, как разобраться с классами, виртуальными функциями. Читаю-читаю, читаю-чтаю..  Час уже, и не первый раз. Написанно как-то тяжело, непонятно, главное пирисыпано новыми и новыми терминами-знай сибе ходи по ссылкам.  Вот, написано  ( Классы и структуры могут иметь явный конструктор и деструктор ) иду смотреть Конструкторы и деструкторы  Написано (Конструктор - это специальная функция, которая вызывается автоматически при создании объекта структуры или класса и обычно используется для инициализации членов класса)  Короче, непонятно.
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
Dimka-novitsek:
Не представляю, как разобраться с классами, виртуальными функциями. Читаю-читаю, читаю-чтаю..  Час уже, и не первый раз. Написанно как-то тяжело, непонятно, главное пирисыпано новыми и новыми терминами-знай сибе ходи по ссылкам.  Вот, написано  ( Классы и структуры могут иметь явный конструктор и деструктор ) иду смотреть Конструкторы и деструкторы  Написано (Конструктор - это специальная функция, которая вызывается автоматически при создании объекта структуры или класса и обычно используется для инициализации членов класса)  Короче, непонятно.

Конструктор - это функция, вызываемая автоматически при создании объекта класса, используется для инициализации объекта.

Так понятнее? если нет я бессилен.

 
Спасибо! Хорошо. Щас уйду, в футбик зову играть. Приду, собирусь и спрошу. Щас спрошу. Виртуальная функция-это как? Она работает когда хочет? Что такое слово динамический?
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Виртуальные функции - Документация по MQL5
 

Так вот. Написано, что мол Выбор того, какое определение функции вызвать для виртуальной функции, происходит динамически (на этапе выполнения). 

Определение функции-то, что в скобках ,  то-есть, приказы машине делать что-то определенное,   так вроде? , а тут что же получается, машина сама делает когда и что хочет, как мой друг Вася? Правда, уже 100 раз читал фразу, ну не могу понять? Хоть головой бейся!  Щас еще попробую внимательно-внимательно вчитаться в примеры.. 

А начал я читать про класс- это оттуда, что б понять, я пиришол на функцию! 

 
Dimka-novitsek:

Так вот. Написано, что мол Выбор того, какое определение функции вызвать для виртуальной функции, происходит динамически (на этапе выполнения). 

Определение функции-то, что в скобках ,  то-есть, приказы машине делать что-то определенное,   так вроде? , а тут что же получается, машина сама делает когда и что хочет, как мой друг Вася? Правда, уже 100 раз читал фразу, ну не могу понять? Хоть головой бейся!  Щас еще попробую внимательно-внимательно вчитаться в примеры.. 

А начал я читать про класс- это оттуда, что б понять, я пиришол на функцию! 

Дуркуем?

научись правильно ставить вопросы, и в большинстве их не придётся задавать.

Виртуальные функции имеют смысл лишь в контексте наследования.

Фишка наследования не только в том что код может быть размазан по многим классам (по мере нарастания наследования),

но и в том что изначально объявив динамичный объект предка, потом можно доопределить его как наследника.

Ну например нужно чтоб объект был объявлен глобально, но в точке объявления нет знания о том какого класса должен быть объект. Тогда классы наследуются от общего предка, в глобальной области объявляется динамичный объект предка, а уже когда известно какого класса должен быть объект доопределяется оператором new.

Слово динамичный подчёркнуто потому что со статисным этого делать нельзя, статичный определяется сразу и полностью.

 
Так, это сразу в голове не очень укладывается, но что-то доходит. Спасибо. Если можно, я буду спрашивать по ходу. 
Причина обращения: