SimpleCandles/SimpleCandles.1.mq5
2025-10-24 02:22:34 +03:00

66 lines
No EOL
5.1 KiB
MQL5

//+------------------------------------------------------------------+
//| SimpleCandles.mq5 |
//| Copyright 2024-2025, Yuriy Bykov |
//| https://www.mql5.com/ru/users/antekov |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024-2025, Yuriy Bykov"
#property link "https://www.mql5.com/ru/articles/17607"
#property description "Итоговый советник, объединяющий много экземпляров торговых стратегий:"
#property description " "
#property description "Стратегии открывают позиции после нескольких однонаправленных свечей."
#property description "Открытие происходит в сторону, противоположную направлению предыдущей свечи."
#property description "Позиции закрываются только по SL или TP."
#property version "1.04"
#define __INPUT_PARAMS__
#include "SimpleCandles.mq5";
//+------------------------------------------------------------------+
//| Входные параметры |
//+------------------------------------------------------------------+
input group "::: Использовать группу стратегий"
sinput int groupId_ = 2; // - ID группы из новой библиотеки (0 - последняя)
sinput bool useAutoUpdate_ = false; // - Использовать автообновление?
input group "::: Управление капиталом"
sinput double expectedDrawdown_ = 10; // - Максимальный риск (%)
sinput double fixedBalance_ = 0; // - Используемый депозит (0 - использовать весь) в валюте счета
input double scale_ = 1.00; // - Масштабирующий множитель для группы
input group "::: Менеджер закрытия"
input bool cmIsActive_ = true; // - Активен?
input double cmStartBaseBalance_ = 100000; // - Базовый баланс
input ENUM_CM_CALC_LOSS
cmCalcLossLimit_ = CM_CALC_LOSS_PERCENT_BB; // - Способ расчёта убытка
input double cmLossLimit_ = 50; // - Значение убытка для фиксации
input ENUM_CM_CALC_PROFIT
cmCalcProfitLimit_ = CM_CALC_PROFIT_PERCENT_BB; // - Способ расчёта общей прибыли
input double cmProfitLimit_ = 200; // - Значение общей прибыли для фиксации
input group "::: Риск-менеджер"
input bool rmIsActive_ = true; // - Активен?
input double rmStartBaseBalance_ = 100000; // - Базовый баланс
input ENUM_RM_CALC_DAILY_LOSS
rmCalcDailyLossLimit_ = RM_CALC_DAILY_LOSS_PERCENT_DL; // - Способ расчёта дневного убытка
input double rmMaxDailyLossLimit_ = 10; // - Значение дневного убытка
input double rmCloseDailyPart_ = 1.0; // - Значение пороговой части дневного убытка
input ENUM_RM_CALC_OVERALL_LOSS
rmCalcOverallLossLimit_ = RM_CALC_OVERALL_LOSS_PERCENT_BB; // - Способ расчёта общего убытка
input double rmMaxOverallLossLimit_ = 20; // - Значение общего убытка
input double rmCloseOverallPart_ = 1.0; // - Значение пороговой части общего убытка
input ENUM_RM_CALC_OVERALL_PROFIT
rmCalcOverallProfitLimit_ = RM_CALC_OVERALL_PROFIT_PERCENT_BB; // - Способ расчёта общей прибыли
input double rmMaxOverallProfitLimit_ = 400; // - Значение общей прибыли
input int rmMaxOverallProfitDate_ = 0; // - Предельное время ожидания общей прибыли (дней)
input double rmMaxRestoreTime_ = 0; // - Время ожидания лучшего входа на просадке
input double rmLastVirtualProfitFactor_ = 1; // - Множитель начальной лучшей просадки
input group "::: Прочие параметры"
input ulong magic_ = 19684; // - Magic
input bool useOnlyNewBars_ = true; // - Работать только на открытии бара
input bool usePrevState_ = true; // - Загружать предыдущее состояние
input string symbolsReplace_ = ""; // - Правила замены символов