SimpleCandles/SimpleCandles-MQ-300K-05.mq5

73 lines
5.5 KiB
MQL5
Raw Permalink Normal View History

2025-11-27 22:45:49 +03:00
//+------------------------------------------------------------------+
2025-11-28 16:01:27 +03:00
//| SimpleCandles-xxx.mq5 |
2025-11-27 22:45:49 +03:00
//| Copyright 2024-2025, Yuriy Bykov |
//| https://www.mql5.com/ru/users/antekov |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024-2025, 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 "::: Использовать группу стратегий"
2025-11-28 16:01:27 +03:00
sinput int groupId_ = 3; // - ID группы из новой библиотеки (0 - последняя)
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_ = 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_ = 300000; // - Базовый баланс
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; // - Способ расчёта убытка
2025-12-02 11:11:03 +03:00
input double cmLossLimit_ = 25; // - Значение убытка для фиксации
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; // - Способ расчёта общей прибыли
2025-12-02 11:11:03 +03:00
input double cmProfitLimit_ = 100; // - Значение общей прибыли для фиксации
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_ = 300000; // - Базовый баланс
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; // - Способ расчёта дневного убытка
input double rmMaxDailyLossLimit_ = 10; // - Значение дневного убытка
input double rmCloseDailyPart_ = 1.0; // - Значение пороговой части дневного убытка
2025-11-27 22:45:49 +03:00
input ENUM_RM_CALC_OVERALL_LOSS
2025-11-28 16:01:27 +03:00
rmCalcOverallLossLimit_ = RM_CALC_OVERALL_LOSS_PERCENT_BB; // - Способ расчёта общего убытка
input double rmMaxOverallLossLimit_ = 20; // - Значение общего убытка
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; // - Способ расчёта общей прибыли
2025-12-02 11:11:03 +03:00
input double rmMaxOverallProfitLimit_ = 200; // - Значение общей прибыли
2025-11-28 16:01:27 +03:00
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 "::: Прочие параметры"
2025-11-28 16:01:27 +03:00
input ulong magic_ = 19686; // - Magic
2025-11-27 22:45:49 +03:00
input bool useOnlyNewBars_ = true; // - Работать только на открытии бара
input bool usePrevState_ = true; // - Загружать предыдущее состояние
input string symbolsReplace_ = ""; // - Правила замены символов
//+------------------------------------------------------------------+