2025-11-27 22:45:49 +03:00 | | | //+------------------------------------------------------------------+
|
2025-11-28 16:01:27 +03:00 | | | //| SimpleCandles-xxx.mq5 |
|
2026-02-03 15:26:42 +03:00 | | | //| Copyright 2024-2026, Yuriy Bykov |
|
2025-11-27 22:45:49 +03:00 | | | //| https://www.mql5.com/ru/users/antekov |
|
| | | //+------------------------------------------------------------------+
|
2026-02-03 15:26:42 +03:00 | | | #property copyright "Copyright 2024-2026, Yuriy Bykov"
|
2025-11-28 16:01:27 +03:00 | | | #property link "https://www.mql5.com/ru/articles/19684"
|
2025-11-27 22:45:49 +03:00 | | | #property description "Итоговый советник, объединяющий много экземпляров торговых стратегий:"
|
| | | #property description " "
|
| | | #property description "Стратегии открывают позиции после нескольких однонаправленных свечей."
|
| | | #property description "Открытие происходит в сторону, противоположную направлению предыдущей свечи."
|
| | | #property description "Позиции закрываются только по SL или TP."
|
2025-11-28 16:01:27 +03:00 | | | #property version "1.05"
|
2025-11-27 22:45:49 +03:00 | | |
|
2025-11-28 16:01:27 +03:00 | | | // 1. Определяем константу - признак наличия входных параметров
|
2025-11-27 22:45:49 +03:00 | | | #define __INPUT_PARAMS__
|
2025-11-28 16:01:27 +03:00 | | |
|
| | | // 2. Подключаем нужную стратегию
|
| | | #include "Strategies/SimpleCandlesStrategy.mqh";
|
| | |
|
| | | // 3. Подключаем шаблон советнника
|
| | | #include "../Adwizard/Experts/Expert.mqh"
|
| | |
|
| | | // 4.
|
2025-11-27 22:45:49 +03:00 | | | //+------------------------------------------------------------------+
|
| | | //| Входные параметры |
|
| | | //+------------------------------------------------------------------+
|
| | | input group "::: Использовать группу стратегий"
|
2026-02-03 15:26:42 +03:00 | | | sinput int groupId_ = 1; // - ID группы из новой библиотеки (0 - последняя)
|
2025-11-28 16:01:27 +03:00 | | | sinput bool useAutoUpdate_ = false; // - Использовать автообновление?
|
2025-11-27 22:45:49 +03:00 | | |
|
| | | input group "::: Управление капиталом"
|
2025-12-02 11:11:03 +03:00 | | | sinput double expectedDrawdown_ = 7.5; // - Максимальный риск (%)
|
2025-11-28 16:01:27 +03:00 | | | sinput double fixedBalance_ = 0; // - Используемый депозит (0 - использовать весь) в валюте счета
|
2025-11-27 22:45:49 +03:00 | | | input double scale_ = 1.00; // - Масштабирующий множитель для группы
|
| | |
|
| | | input group "::: Менеджер закрытия"
|
2025-11-28 16:01:27 +03:00 | | | input bool cmIsActive_ = true; // - Активен?
|
| | | input double cmStartBaseBalance_ = 200000; // - Базовый баланс
|
2025-11-27 22:45:49 +03:00 | | | input ENUM_CM_CALC_LOSS
|
2025-11-28 16:01:27 +03:00 | | | cmCalcLossLimit_ = CM_CALC_LOSS_PERCENT_BB; // - Способ расчёта убытка
|
| | | input double cmLossLimit_ = 50; // - Значение убытка для фиксации
|
2025-11-27 22:45:49 +03:00 | | | input ENUM_CM_CALC_PROFIT
|
2025-11-28 16:01:27 +03:00 | | | cmCalcProfitLimit_ = CM_CALC_PROFIT_PERCENT_BB; // - Способ расчёта общей прибыли
|
| | | input double cmProfitLimit_ = 200; // - Значение общей прибыли для фиксации
|
2025-11-27 22:45:49 +03:00 | | |
|
| | | input group "::: Риск-менеджер"
|
| | | input bool rmIsActive_ = true; // - Активен?
|
2025-11-28 16:01:27 +03:00 | | | input double rmStartBaseBalance_ = 200000; // - Базовый баланс
|
2025-11-27 22:45:49 +03:00 | | | input ENUM_RM_CALC_DAILY_LOSS
|
2025-11-28 16:01:27 +03:00 | | | rmCalcDailyLossLimit_ = RM_CALC_DAILY_LOSS_PERCENT_DL; // - Способ расчёта дневного убытка
|
2025-12-02 11:11:03 +03:00 | | | input double rmMaxDailyLossLimit_ = 15; // - Значение дневного убытка
|
2025-11-28 16:01:27 +03:00 | | | input double rmCloseDailyPart_ = 1.0; // - Значение пороговой части дневного убытка
|
2025-11-27 22:45:49 +03:00 | | | input ENUM_RM_CALC_OVERALL_LOSS
|
2025-12-02 11:11:03 +03:00 | | | rmCalcOverallLossLimit_ = RM_CALC_OVERALL_LOSS_PERCENT_HW_BAL; // - Способ расчёта общего убытка
|
| | | input double rmMaxOverallLossLimit_ = 30; // - Значение общего убытка
|
2025-11-28 16:01:27 +03:00 | | | input double rmCloseOverallPart_ = 1.0; // - Значение пороговой части общего убытка
|
2025-11-27 22:45:49 +03:00 | | | input ENUM_RM_CALC_OVERALL_PROFIT
|
2025-11-28 16:01:27 +03:00 | | | rmCalcOverallProfitLimit_ = RM_CALC_OVERALL_PROFIT_PERCENT_BB; // - Способ расчёта общей прибыли
|
| | | input double rmMaxOverallProfitLimit_ = 400; // - Значение общей прибыли
|
| | | input int rmMaxOverallProfitDate_ = 0; // - Предельное время ожидания общей прибыли (дней)
|
2025-11-27 22:45:49 +03:00 | | |
|
2025-11-28 16:01:27 +03:00 | | | input double rmMaxRestoreTime_ = 0; // - Время ожидания лучшего входа на просадке
|
| | | input double rmLastVirtualProfitFactor_ = 1; // - Множитель начальной лучшей просадки
|
2025-11-27 22:45:49 +03:00 | | |
|
| | | input group "::: Прочие параметры"
|
2026-02-03 15:26:42 +03:00 | | | input ulong magic_ = 1968402; // - Magic
|
2025-11-27 22:45:49 +03:00 | | | input bool useOnlyNewBars_ = true; // - Работать только на открытии бара
|
| | | input bool usePrevState_ = true; // - Загружать предыдущее состояние
|
| | |
|
| | | input string symbolsReplace_ = ""; // - Правила замены символов
|
| | |
|
| | | //+------------------------------------------------------------------+
|