Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме
Страница 13 из 13
Первая ... 3 12 Последняя

Показаны сообщения: с 241 по 250 из 250

Тема: ООП для MQL4/MQL5 - это очень просто. Курс для начинающих.

 Перейти в классический вид темы
     
  1. ТОП сообщений
    2018-01-14   22:44
    Лучший ответ #1
    Накопленные выплаты 98800 RUB

    Всем привет! Открываю тему по изучению объектно-ориентированного программирования с нуля. Будем использовать языки MQL4, MQL5, возможно, С++ в составе DLL. Будет желание, зацепим и C# с Matlab'ом Кратенько о себе. Программист с более чем 25-летним стажем, работал в крупных отечественных и зарубежных компаниях по разработке ПО и различной электроники. В мае 2010 г. понял, что наемная работа мешает мне развиваться в программировании на форексе, с тех пор работаю дома и вполне доволен. Активно использую в работе MQL4, MQL5, VS 2017 C++, C#, Matlab. Ну и всякое разное по мелочи. Краткий план курса Структуры От структур к классам Абстрактные классы, виртуальные функции Интерфейсы Что дальше? И вопрос к модераторам. Хотелось бы сделать меню, чтобы участники могли ориентироваться в разделах темы. Если я сделаю меню в начальных постах, как долго у меня будет доступ на редактирование поста с меню? Надо ли мне будет раз в несколько дней делать там изменения, чтобы пост не "заморозился"? Сможете ли вы в крайнем случае (например, я отсутствовал больше разрешенного срока) разморозить пост с меню? Или лучше продублировать меню на независимом ресурсе, например FB? Жду вашего ответа и начинаю сегодня.

    2018-01-16   03:47
    Лучший ответ #2
    Накопленные выплаты 98800 RUB

    Ну что, начнем осваивать классы. С вашего позволения я сделаю для начала небольшой лирический отступ. Среди новичков есть мнение, что классы - это очень сложно, что понять смысл ООП может только профессиональный программист и т.д. Заявляю с полной ответственностью - это полная ерунда. Как обычно, я всему учу на своем примере. Я по образованию вообще электронщик, программирование освоил самостоятельно. Тем не менее за душой куча проектов, как для России, так и по аутсортингу. Так что прочь сомнения, день-другой, и вы поймете, как работают классы! -------------- Итак, для учебных целей придумаем простенькую структуру struct SSimple1 { int ticket; double profit; }; Как нам преобразовать ее в класс? Элементарно, Ватсон! Заменяем слово struct на class class CSimple1 { int ticket; double profit; }; И пишем проверочный код. Да, друзья, чтобы чему-то научиться, надо писать код. Самому. Ручками. Читать мои посты недостаточно. Так что пиво в сторону, открывайте редактор MQL4 или 5 и пишем скрипт. void OnStart() { SSimple1 ss1; CSimple1 cs1; ss1.ticket = 123; cs1. // заметили, что после точки у вас не развернулся список из 2-х переменных? // попробуйте насильно вбить cs1.ticket = 123; // получите ошибку компиляции. Что делать, щеф?? Дело в том, что классы исторически произошли от структур, по крайней мере в Си-подобных языках. И если в структуре все ее члены, методы(функции) и поля(переменные) открыты внешнему миру, то в классах есть три уровня защиты, это уровни private, protected, public. Начнем с самого "доброго" уровня - с public Все, что находится в секции public, видно окружающему миру так же, как и все, что есть в структуре. Делаем эксперимент. class CSimple1 { public: // объявили секцию, где все будет доступно снаружи int ticket; double profit; }; И еще раз прогоняем OnStart. Обратите внимание, после печатанья точки cs1. у вас вдруг стал доступен список из 2-х переменных? Это компилер увидел секцию public и решил, что теперь вы имеете доступ к этим двум переменным. Далее разберемся с правами доступа поглубже и перейдем к наследованию. Потом забубеним что-то практическое, желательно мультиплатформенное, для мт4 и мт5 одновременно. ---------------------------------------- Друзья, Дамы и Господа. Я буду все больше давать практических заданий, очень рекомендую не просто читать эти посты, а делать их. Времени это будет занимать немного, но у вас наработается практика. Тупое чтение никогда ничего не дает. В этой жизни надо действовать, а не тупо читать!

    2018-07-19   20:34
    Лучший ответ #3
    Накопленные выплаты 27419 RUB

    полуавтомат хочу, и в тестере хочу погонять его, лень писать 2 версии (тестер/реал), надеюсь решить проблему имитации в тестере событий мыши полуавтомат хочу в виде панели, в которой можно чекбоксом выделить необходимый ордер и перевести этот ордер в отдельное сопровождение (доливки, трал, усреднение и пр.), а сам советник будет выставлять ордера по основному алгоритму - вот такая вот идея

    2018-01-15   00:53
    Лучший ответ #4
    Накопленные выплаты 98800 RUB

    У нас в процессе торговли может быть множество открытых и отложенных ордеров. Конечно, можно было бы тупо сделать каждый параметр динамическим массивом массивом, но представьте все неудобства такого подхода. При каждом увеличении количество ордеров сверх размера массива надо его менять для каждого параметра. И вопрос, что делать с дырами, которые получаются на месте закрытых ордеров? int ticket[], cmd[], slippage[], magic[]; double volumeSend[], volumeReal[], priceSend[], priceReal[], stoploss[], takeprofit[]; Гораздо проще и красивее упаковать все параметры в контейнер, который называется структурой. Для того, чтобы использовать структуру, надо сначала объявить ее тип. Это делается один раз и в дальнейшем мы можем создавать экземпляры этой структуры, или говоря по другому переменные типа объявленной структуры. struct SOrderParams // объявили имя типа. Теперь в программе помимо стандартных типов int, double и др. появился наш пользовательский тип структуры с именем SOrderParams { int ticket, cmd, slippage, magic; double volumeSend, volumeReal, priceSend, priceReal, stoploss, takeprofit; }; Допускается после объявления типа сразу же создавать переменные этой структуры struct SOrderParams // объявили имя типа. Теперь в программе помимо стандартных типов int, double и др. появился наш пользовательский тип структуры с именем SOrderParams { int ticket, cmd, slippage, magic; double volumeSend, volumeReal, priceSend, priceReal, stoploss, takeprofit; } order1, order2, orders;

    2018-01-15   13:22
    Лучший ответ #5
    Накопленные выплаты 98800 RUB

    Продолжим. Структуры, подобные SOrderParams, то есть имеющие в составе только целые и вещественные типы данных, называются простыми. Например, если в состав структуры входит строка или указатель на класс, она теряет невинность и простоту Простые типы структур можно присваивать, при этом данные будут копироваться. oparams_local2 = oparams_local3; Но тут есть важное замечание. Для компилятора идентичными структурами будут структуры одного типа. А тип определяется однозначно по имени типа, компилятор не анализирует, как там структура устроена внутри. Имя другое - все, значит и структура другая. Рассмотрим на примере. struct SOrderParams2 // та же структура, что и SOrderParams, но с другим именем типа - для компилятора она не идентична SOrderParams { int ticket, cmd, slippage, magic; double volumeSend, volumeReal, priceSend, priceReal, stoploss, takeprofit; } order2_1, order2_2, orders2; SOrderParams oparams_global; // глобальная переменная структуры, все поля обнулены void OnStart() { SOrderParams oparams_local1; // локальная переменная структуры, в полях в общем случае может быть мусор от предыдущих вызовов (именно в данном случае не будет, так как однопроходный скрипт) SOrderParams oparams_local2 = {0}; // обнулили все поля принудительно SOrderParams oparams_local3 = {123, ORDER_TYPE_SELL/* OP_SELL*/, 25, 456789, 0.5, 0.5, 1.25468, 1.25465, 1.25860, 1.25410}; // обнулили все поля принудительно Print(oparams_local2.priceReal, ", ", oparams_local2.stoploss, ", ", oparams_local3.magic, ", ", oparams_local3.stoploss); oparams_local2 = oparams_local3; // order2_1 = oparams_local2; // ошибка компиляции 'operator=' - illegal operation use Structures.mq5 30 13 } Структуры разных типов можно копировать только отдельно по полям // order2_1 = oparams_local2; // ошибка компиляции 'operator=' - illegal operation use Structures.mq5 30 13 // поэтому копируем по полям order2_1.cmd = oparams_local2.cmd; order2_1.magic = oparams_local2.magic; order2_1.priceReal = oparams_local2.priceReal; order2_1.priceSend = oparams_local2.priceSend; // и так далее

    2018-01-14   23:25
    Лучший ответ #6
    Накопленные выплаты 98800 RUB

    Курс будет рассчитан на людей, знакомых с программирование на MQL4/5, но не владеющих ООП. То есть я не буду объяснять, что такое циклы, функции и т.д. Смело задавайте вопросы в рамках темы, обязательно всем отвечу. Огромная просьба не скатываться во флейм и не устраивать священные войны а-ля "ООП vs процедурное программирование", именно из-за флейма я ушел с форума разработчиков Metatrader и пришел сюда. Надеюсь, тут народ подисциплинированнее, а модераторы построже В первых постах возможны ошибки с кодами оформления, т.к. нет особого опыта на этом движке, прошу указывать и поправлять. ------ Поехали! ------- Начну с того, что, вопреки ошибочному мнению, языки MQL4 и MQL5 практически одинаковы, поэтому все, что касается ООП, будет работать и там и там. Отличия касаются только API (application program interface - программный интерфейс приложений), это торговые функции, работа с таймсериями, индикаторами и т.д. Но сами языки идентичны. Основная цель структуры - упаковать набор разнородных данных в единый контейнер. Например, имеем набор переменных int ticket, cmd, slippage, magic; double volumeSend, volumeReal, priceSend, priceReal, stoploss, takeprofit; Как вы поняли, в них будут хранится параметры открытого ордера (код для MQL4), для MQL5 параметры будут немного другие. Поэтому я постараюсь писать кросс-платформенный код, как давно делаю в своих роботах. В дальнейшем мы будем разрабатывать класс по управлению сеткой виртуальных ордеров и надо будет как-то хранить параметры сетки и параметры уже открытых ордеров. Для этого будем использовать структуру. Продолжение через 30 минут. !!!!!!!!!!!!!!! почему MQL код не оформился? Подскажите плз, как правильно сделать

  2. Линк#1
    Знающий
    Очень рад
     
    VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь Аватар для VDev
    Регистрация:
    14.07.2010
    Пол:
    Мужчина
    Сообщений:
    3,252
    Деньги за посты (Подробнее):
    98800 RUB
    Поставил лайков:
    713
    Получено лайков:  2,656
    в 1,548 сообщениях
    82%
    Всем привет!

    Открываю тему по изучению объектно-ориентированного программирования с нуля. Будем использовать языки MQL4, MQL5, возможно, С++ в составе DLL. Будет желание, зацепим и C# с Matlab'ом
    Кратенько о себе. Программист с более чем 25-летним стажем, работал в крупных отечественных и зарубежных компаниях по разработке ПО и различной электроники. В мае 2010 г. понял, что наемная работа мешает мне развиваться в программировании на форексе, с тех пор работаю дома и вполне доволен. Активно использую в работе MQL4, MQL5, VS 2017 C++, C#, Matlab. Ну и всякое разное по мелочи.

    Краткий план курса
    1. Структуры
    2. От структур к классам
    3. Абстрактные классы, виртуальные функции
    4. Интерфейсы
    5. Что дальше?

    И вопрос к модераторам. Хотелось бы сделать меню, чтобы участники могли ориентироваться в разделах темы. Если я сделаю меню в начальных постах, как долго у меня будет доступ на редактирование поста с меню? Надо ли мне будет раз в несколько дней делать там изменения, чтобы пост не "заморозился"? Сможете ли вы в крайнем случае (например, я отсутствовал больше разрешенного срока) разморозить пост с меню? Или лучше продублировать меню на независимом ресурсе, например FB?
    Жду вашего ответа и начинаю сегодня.

    Последний раз редактировалось Gold; 17.01.2018 в 11:23. Причина: Добавил ссылки для п.1 и п.2

  3. Device
  4. Линк#246
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,543
    Деньги за посты (Подробнее):
    50481 RUB
    Поставил лайков:
    270
    Получено лайков:  581
    в 526 сообщениях
    38%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Вот такой еще вопрос, такое у меня бывало и на мт4, это вроде как некритические ошибки и эксперты работали после такой компиляции. Но тем не менее хотелось бы их устранить, но вот какова причина. На сколько я понимаю компилятор ругается на тип данных некоторых переменных, кроме отмеченной на скрине ему не нравится еще stoplevel. Они заданы в области глобальных переменных с типом int, определить значение я так же пытаюсь соответствующей функцией SymbolInfoInteger, да и чисто логически , такие свойства как уровень стопов и количество знаков после запятой это всегда целое число. Что не так. ? Вложение 3440091

    Про твой int DIGITS, читай внимательно справку.

    Справка:
    Первый вариант:
    long SymbolInfoInteger(
    string name, // символ
    ENUM_SYMBOL_INFO_INTEGER prop_id // идентификатор свойства
    );
    Второй вариант:
    bool SymbolInfoInteger(
    string name, // символ
    ENUM_SYMBOL_INFO_INTEGER prop_id, // идентификатор свойства
    long& long_var // сюда примем значение свойства
    );


  5. post_thanks Получено лайков: 2

    ILLANER (13.02.2020), Незарегистрированный (1 пользователь)

  6. Линк#247
    Знающий
    В раздумьях
     
    ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь Аватар для ILLANER
    Регистрация:
    02.09.2016
    Пол:
    Мужчина
    Сообщений:
    2,794
    Деньги за посты (Подробнее):
    82880 RUB
    Поставил лайков:
    847
    Получено лайков:  2,736
    в 1,451 сообщениях
    98%
    Всем добрый вечер, огромное спасибо за ответ в прошлом посте, с этим я разобрался но осталось еще 8 таких же не критических ошибок которые касаются типа данных переменной принимающей номер тикета функции OrderSend, непонятка еще в том что ордерную систему я переделывать не стал а применил библиотеку MT4Orders. В мт4 тип данных int, там компилятор на нее не жалуется. Какой тип данных нужно ставить в мт5 ? Заранее благодарен за ответ.


  7. Линк#248
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,543
    Деньги за посты (Подробнее):
    50481 RUB
    Поставил лайков:
    270
    Получено лайков:  581
    в 526 сообщениях
    38%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Всем добрый вечер, огромное спасибо за ответ в прошлом посте, с этим я разобрался но осталось еще 8 таких же не критических ошибок которые касаются типа данных переменной принимающей номер тикета функции OrderSend, непонятка еще в том что ордерную систему я переделывать не стал а применил библиотеку MT4Orders. В мт4 тип данных int, там компилятор на нее не жалуется. Какой тип данных нужно ставить в мт5 ? Заранее благодарен за ответ.
    Вопрос мягко говоря непонятный.
    Для пятерки, тип данных, в соответствии с типами данных структуры. (У тебя, что, редактор без справки? )
    Что там происходит в библиотеке, так смотри по месту.
    Кликай на ошибке, и будешь в том месте кода, где компилятору, что то не нравиться.

    Код:
    struct MqlTradeRequest
    {
       ENUM_TRADE_REQUEST_ACTIONS action;  // Тип выполняемого действия
       ulong magic;                                              // Штамп эксперта (идентификатор magic number)
       ulong order;                                               // Тикет ордера
       string symbol;                                            // Имя торгового инструмента
       double volume;                                          // Запрашиваемый объем сделки в лотах
       double price;                                              // Цена 
       double stoplimit;                                        // Уровень StopLimit ордера
       double sl;                                                  // Уровень Stop Loss ордера
       double tp;                                                  // Уровень Take Profit ордера
       ulong deviation;                                         // Максимально приемлемое отклонение от запрашиваемой цены
       ENUM_ORDER_TYPE type;                          // Тип ордера
       ENUM_ORDER_TYPE_FILLING type_filling;   // Тип ордера по исполнению
       ENUM_ORDER_TYPE_TIME type_time;         // Тип ордера по времени действия
       datetime expiration;                                    // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED)
       string comment;                                         // Комментарий к ордеру
       ulong position;                                           // Тикет позиции
       ulong position_by;                                      // Тикет встречной позиции
    };
    
    struct MqlTradeResult
    {
       uint retcode;                // Код результата операции
       ulong deal;                  // Тикет сделки, если она совершена
       ulong order;                // Тикет ордера, если он выставлен
       double volume;            // Объем сделки, подтверждённый брокером
       double price;                // Цена в сделке, подтверждённая брокером
       double bid;                  // Текущая рыночная цена предложения (цены реквота)
       double ask;                  // Текущая рыночная цена спроса (цены реквота)
       string comment;           // Комментарий брокера к операции (по умолчанию заполняется расшифровкой кода возврата торгового сервера)
       uint request_id;            // Идентификатор запроса, устанавливается терминалом при отправке 
       uint retcode_external;   // Код ответа внешней торговой системы
    };

    Последний раз редактировалось MonyaMaker; 16.02.2020 в 00:54.

  8. post_thanks Получено лайков: 3

    ILLANER (16.02.2020), Незарегистрированный (2 пользователя)

  9. Линк#249
    Знающий
    В раздумьях
     
    ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь Аватар для ILLANER
    Регистрация:
    02.09.2016
    Пол:
    Мужчина
    Сообщений:
    2,794
    Деньги за посты (Подробнее):
    82880 RUB
    Поставил лайков:
    847
    Получено лайков:  2,736
    в 1,451 сообщениях
    98%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    Кликай на ошибке, и будешь в том месте кода, где компилятору, что то не нравиться.
    Это то понятно, я так и делаю, потому и задаю вопрос конкретно про то место куда указывает компилятор.
    В библиотеке написан такой вот коментарий " При переводе MQL4 -> MQL5 ордерную систему трогать СОВСЕМ не требуется.
    // Достаточно внести только одну строчку в начале (если исходник способен компилироваться в MT4 при #property strict): ". А получается что придется все таки кое что менять, вот я и запутался. Еще раз огромное спасибо за разъяснение . Теперь стало все понятно , поменял на ulong , ошибок больше нет.


  10. Линк#250
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,060
    Деньги за посты (Подробнее):
    159751 RUB
    Поставил(а) лайков:
    912
    Получено лайков:  7,170
    в 3,425 сообщениях
    102%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Теперь стало все понятно , поменял на ulong , ошибок больше нет.
    И снова пальцем в небо... То что при компиляции ошибок нет еще совсем не значит, что они не появятся в процессе работы. Вообще-то, когда используются какие либо мультиплатформенные либы нужно использовать типы, которые объявлены в этих либах. В данном случае это будет тип TICKET_TYPE, который специально для этого случая там и описан. Если посмотреть на "подноготную" этого типа то там для MQL4 используется тип int, а для MQL5 тип long, но никак не ulong.
    Код:
    #ifdef MT4_TICKET_TYPE
      #define TICKET_TYPE int
      #define MAGIC_TYPE  int
    
      #undef MT4_TICKET_TYPE
    #else // MT4_TICKET_TYPE
      #define TICKET_TYPE long
      #define MAGIC_TYPE  long
    #endif // MT4_TICKET_TYPE

    Последний раз редактировалось ir0407; 16.02.2020 в 12:19.

  11. post_thanks Получено лайков: 1

    ILLANER (16.02.2020)

  12. Линк#251
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,543
    Деньги за посты (Подробнее):
    50481 RUB
    Поставил лайков:
    270
    Получено лайков:  581
    в 526 сообщениях
    38%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Это то понятно, я так и делаю, потому и задаю вопрос конкретно про то место куда указывает компилятор.
    В библиотеке написан такой вот коментарий " При переводе MQL4 -> MQL5 ордерную систему трогать СОВСЕМ не требуется.
    // Достаточно внести только одну строчку в начале (если исходник способен компилироваться в MT4 при #property strict): ". А получается что придется все таки кое что менять, вот я и запутался. Еще раз огромное спасибо за разъяснение . Теперь стало все понятно , поменял на ulong , ошибок больше нет.
    Не знаю, что там по исправлял, исправил и исправил, предупреждений нет, но надеюсь, что ты понимаешь, что рано или поздно тебе придется от этой либы отказаться, по причине потери ею актуальности, и написать все как надо.
    Так, что не стесняйся, пробуй, как это работает без либы.
    Заодно и с типами и разберёшься.


  13. post_thanks Получено лайков: 1

    ILLANER (16.02.2020)

  14. Линк#252
    Знающий
    В раздумьях
     
    ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь ILLANER авторитетный пользователь Аватар для ILLANER
    Регистрация:
    02.09.2016
    Пол:
    Мужчина
    Сообщений:
    2,794
    Деньги за посты (Подробнее):
    82880 RUB
    Поставил лайков:
    847
    Получено лайков:  2,736
    в 1,451 сообщениях
    98%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    Так, что не стесняйся, пробуй, как это работает без либы.
    Заодно и с типами и разберёшься.
    Это только начало. Мой первый эксперт для мт5. Но думаю ты прав, придется учится думать своей головой без лейбов. Бывает такие ошибки выдает, кликаешь на ошибку а компилятор выкидывает тебя из эксперта и перенаправляет в лейбу, да еще не в ту которую я применил. Я конечно понимаю что та лейба использует еще что то , всякие разные файлы из мт5. Сидишь блин, репу чешешь глаза в кучу и думаешь как в старой рекламе про электрика " Е мое , чегож я сделал то ". В этом случае конечно ошибка вылезает не одна, покликаешь по другим ошибкам , вроде разберешься. Но в конечном итоге я пришел выводу, что лейбы возможно еще больший геморой чем изучение чистого языка мт5. Но как я уже говорил это экспериментальный эксперт, без индикаторов с минимальным набором параметров, но и с тем расчетом что бы он выдавал хоть какой то более или менее адекватный результат торговли. Мне еще просто хотелось поскорей попробовать возможности тестера мт5. Попробовал,это просто сказка , по сравнению с мт4. По этому поводу хочу еще раз выразить свою благодарность хозяину темы, за то что он убедил меня в острой необходимости перехода на мт5


  15. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  16. Линк#253
    Знающий
    Очень рад
     
    VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь Аватар для VDev
    Регистрация:
    14.07.2010
    Пол:
    Мужчина
    Сообщений:
    3,252
    Деньги за посты (Подробнее):
    98800 RUB
    Поставил лайков:
    713
    Получено лайков:  2,656
    в 1,548 сообщениях
    82%
    Цитата Сообщение от ILLANER Посмотреть сообщение

    Так в дебаггере есть же "Шаг с обходом - F10", тогда не будешь заходить в ненужные библиотечные функции, а то там и правда можно блуждать очень долго . А уж если случайно залез, есть "Шаг наружу - Shift F11". Это прогон текущей функции и выход из нее в вышестоящий код.

    "Чистого языка МТ5" не существует в природе Есть функции API (Application program interface - программный интерфейс), то есть набор функций, специфичных для МТ5, например, торговые функции. А сами языки MQL4 и MQL5 почти ничем не отличаются. А с учетом того, что Метаквоты все же выпускают обновления для МТ4 (крайнее build 1260 от 24.01.2020 ) думаю, они дополнения в язык MQL5 вносят и в MQL4. Да и API МТ5 дополняется функциями из МТ4 с небольшими улучшениями, чисто для облегчения перехода.

    Спасибо за спасибо, я всех давно агитирую за переход на пятерку, смысл ездить на Запоре, когда дают бесплатную Беху )).


  17. post_thanks Получено лайков: 1

    ILLANER (Вчера)

  18. Линк#254
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,543
    Деньги за посты (Подробнее):
    50481 RUB
    Поставил лайков:
    270
    Получено лайков:  581
    в 526 сообщениях
    38%
    Цитата Сообщение от VDev Посмотреть сообщение
    не будешь заходить в ненужные библиотечные функции,
    А кто ж тебе скажет, нужная библиотека или нет, в ней ошибка или глюк, или нет, если ты сам её не писал, и что там внутри вообще происходит не в курсе, и ты сам тоже не везде в курсе.

    Последний раз редактировалось MonyaMaker; Вчера в 19:33.

  19. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

    <a href="https://www.instaforex.com/ru/forexcopy_system">Форекс портал</a>
  20. Линк#255
    Знающий
    Очень рад
     
    VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь VDev авторитетный пользователь Аватар для VDev
    Регистрация:
    14.07.2010
    Пол:
    Мужчина
    Сообщений:
    3,252
    Деньги за посты (Подробнее):
    98800 RUB
    Поставил лайков:
    713
    Получено лайков:  2,656
    в 1,548 сообщениях
    82%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    А кто ж тебе скажет, нужная библиотека или нет, в ней ошибка или глюк, или нет, если ты сам её не писал, и что там внутри вообще происходит не в курсе, и ты сам тоже не везде в курсе.
    )) Если либа в скомпилированном виде, при дебаге ты в нее физически не уйдешь - нет исходников с дебаг-информацией.

    Немного в сторону. Мы же не работаем на убогом Python, где все кишки наружу и скорость работы в 400 раз медленнее, чем MQL5. Когда я говорю медленнее, я имею в виду скорость на выходе убогого интерпретатора.

    По теме - приведи реальный пример. Если это либа с исходниками, ты можешь в нее нырнуть. Если нет - пролетишь со свистом ))


  21. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)


Страница 13 из 13
Первая ... 3 12 Последняя

Похожие темы

  1. MQL4 для начинающих
    от Nick'Otin в разделе MQL-программирование, АТС
    Replies: 2400
    Последнее сообщение: 18.12.2019, 21:16
  2. Программирование MQL4/MQL5, для начинающих, в вопросах и ответах.
    от Aleksandr Bereznyak в разделе MQL-программирование, АТС
    Replies: 55
    Последнее сообщение: 01.05.2019, 10:13
  3. Баги и ошибки в MQL4 и MQL5
    от Mihey85 в разделе MQL-программирование, АТС
    Replies: 2
    Последнее сообщение: 06.03.2016, 18:25
  4. Бесплатный курс для начинающих трейдеров
    от bogo в разделе Доска объявлений
    Replies: 31
    Последнее сообщение: 09.08.2013, 16:01
  5. mql4->mql5. ищу программиста
    от artemserebryakov в разделе Доска объявлений
    Replies: 0
    Последнее сообщение: 28.07.2011, 22:24