Добрый день, спасибо за статью, но есть вопрос...)
Почему бы не использовать стандартный класс и уже его нагружать дополнительными функциями, ведь это максимально просто и удобно, чем придумывать свой велосипед?
А Вы наверное сами пробовали дополнять CExpert и у Вас даже получилось?
Да, вот пример как можно с помощью наследования от базового класса CExpert, в новом классе CExpertCustom :
1. Реализована возможность дополнять позиции новыми сделками (мультивход)
так как базовый класс имеет виртуальные функции они были переопределены в классе потомке и скрыты от дальнейшего использования в будущих классах наследниках от CExpertCustom
2. Реализована возможность изменить базовый символ эксперта, что дает возможность создавать мультивалютных экспертов
Итого:
Стандартный класс CExpert имеет высокую скорость работы
Максимально надежный и проверенный
Его легко дополнять и сопровождать
Есть возможность создавать мультивалютного эксперта в одном боте, если унаследоваться от нового класса CExpertCustom
Благодаря тому, что стандартный класс активно использует наследование и полиморфизм, есть возможность создавать советников, работающих по абсолютно разной логике, но обработка и последовательность для базовых функций у них будет одинаковая
Конструктор советников при этом, можно использовать по шаблону из терминала с необходимыми индикаторами и ММ...
Да, вот пример как можно с помощью наследования от базового класса CExpert, в новом классе CExpertCustom :
1. Реализована возможность дополнять позиции новыми сделками (мультивход)
так как базовый класс имеет виртуальные функции они были переопределены в классе потомке и скрыты от дальнейшего использования в будущих классах наследниках от CExpertCustom
2. Реализована возможность изменить базовый символ эксперта, что дает возможность создавать мультивалютных экспертов
Итого:
Стандартный класс CExpert имеет высокую скорость работы
Максимально надежный и проверенный
Его легко дополнять и сопровождать
Есть возможность создавать мультивалютного эксперта в одном боте, если унаследоваться от нового класса CExpertCustom
Благодаря тому, что стандартный класс активно использует наследование и полиморфизм, есть возможность создавать советников, работающих по абсолютно разной логике, но обработка и последовательность для базовых функций у них будет одинаковая
Конструктор советников при этом, можно использовать по шаблону из терминала с необходимыми индикаторами и ММ...
CExpert и всё сгенерированное им уже давно не проходит проверки. Поэтому и был сделан свой набор торговых функций: с множеством проверок. Показанный Вами класс не имеет и доли функционала моего подхода.
CExpert и всё сгенерированное им уже давно не проходит проверки. Поэтому и был сделан свой набор торговых функций: с множеством проверок. Показанный Вами класс не имеет и доли функционала моего подхода.
Стандартные библиотек, которые вы использовали:
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\DealInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Expert\Money\MoneyFixedMargin.mqh>
В вашем функциональном файле "Trading engine 4" используются точно такие же библиотеки, что в классе CExpert, просто обработку вы писали самостоятельно для класса Trade, а проверки и о подобная механика, которую вы разработали уже реализована в классах CExpertBase, CExpertTrade и других..., про это говорю речь, по этому и говорю про создание очередного велосипеда, ведь можно было переработать класс CExpert, чтобы он прошел проверку, если у вас по какой-то причине не прошел, сделав это 1 раз, больше такой проблемы бы не возникло.
Считаю, что у вас получился хороший набор базовых функций с которыми очень сложно работать, если их использовать в крупном проекте, но вот копировать функции из вашего донор проекта в свои, многим очень даже понравиться, но использовать целиком будет тяжело в отличии от класса CExpert, который легко развернуть из коробки, через тот же "MQL Wizard", который упоминается в статье.
Архив в файлами:
привет Vladimir,
У меня вопрос о «Pending Orders» и соответствующем параметре «Maximum Spread» в торговом движке 4.004;
Как долго эта функция ожидает установки отложенных ордеров до достижения соответствующего спреда?
Другими словами, если спред не уменьшится до указанного значения через определенный период времени, не будет ли отложенный ордер отменен? Как работает этот цикл?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Почти конструктор для создания советника:
Предлагаю свой набор торговых функций в виде готового советника. Представленный способ позволяет получать множество торговых стратегий простым добавлением индикаторов и изменением входных параметров.
Советник, созданный конструктором, имеет сразу очень много настроек, компонуя которые можно создавать уникальные стратегии. В версии 4.XXX применяются такие правила:
Что такое 'points' всегда можно увидеть на графике символа, если перетащить инструмент Перекрестие:
Рис. 1. Points
Автор: Vladimir Karputov