DevSolve_DS_SDK_UnitTest/EngineInputs.mqh

89 lines
15 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 14:49:27 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| EngineInputs.mqh |
//| Copyright 2023 - Dev.Solve LTDA |
//+------------------------------------------------------------------+
#include "Enum.mqh"
//--- Configura<EFBFBD><EFBFBD>es Gerais
input group "[Configura<00><00>es Gerais]"
input ulong MagicNumber=1234; //Magic Number
input ENUM_TIMEFRAMES TempoGrafico=PERIOD_CURRENT; //Tempo Gr<EFBFBD>fico
input string TickerAtivo=""; //Ticker do Ativo (Vazio = Vigente)
input string TickerIndicator=""; //Ticker do Ativo para C<EFBFBD>lculo de Indicadores (Vazio = Vigente)
input ENUM_TYPE_OPERATION TipoDeOperacao=TYPE_ALL; //Tipos de Ordens Permitidas
input double DeslocarEntradaEmPontos=0.0; //[Ordem Pendente] Deslocar Entrada em Pontos
input bool FlagDeEntrada=false; //Deseja avaliar as entradas a cada minuto?
input bool FlagDeTick=true; //Deseja avaliar as sa<EFBFBD>das a cada minuto?
//--- Position Sizing
input group "[Position Sizing]"
input ENUM_MONEY_TYPE TipoDeRisco=MONEY_FIXED_LOT; //Tipo de Exposi<EFBFBD><EFBFBD>o do Capital
input double Lote=0.0; //[Lote Fixo] Contratos (0 = Lote m<EFBFBD>nimo)
//--- Hor<EFBFBD>rio de Negocia<EFBFBD><EFBFBD>o
input group "[Hor<00>rio de Negocia<00><00>o]"
input bool UsarHorarioSimplificado=false; //Usar hor<EFBFBD>rio simplificado?
input ENUM_SIMPLE_TYPE_HOURS IntervaloDeNegociacao=HOUR_0905_1300; //[Hor<EFBFBD>rio simplificado] Hor<EFBFBD>rio de Negocia<EFBFBD><EFBFBD>o
input ENUM_TYPE_HOURS HoraInicioNegociacao=HOUR_0900; //Hor<EFBFBD>rio de In<EFBFBD>cio das Negocia<EFBFBD><EFBFBD>es
input ENUM_TYPE_HOURS HoraTerminoEnvioOrdens=HOUR_1200; //Hor<EFBFBD>rio do T<EFBFBD>rmino de Envio de Ordens
input bool RemoverOrdensPendentes=false; //No T<EFBFBD>rmino de Envio de Ordens, Remover Ordens Pendentes?
input ENUM_TYPE_HOURS HoraTerminoNegociacao=HOUR_1745; //Hor<EFBFBD>rio de T<EFBFBD>rmino das Negocia<EFBFBD><EFBFBD>es e Fechamento de Posi<EFBFBD><EFBFBD>es
input ENUM_TYPE_TRADE_CLOSING TipoDeEncerramentoTrade=TRADE_CLOSING_DIARIO; //Gerenciar encerramento de posi<EFBFBD><EFBFBD>es
//--- Sele<EFBFBD><EFBFBD>o de Estrat<EFBFBD>gia
input group "[Sele<00><00>o de Estrat<00>gia]"
input ENUM_TYPE_STRATEGY EstrategiaSelecionada=STRATEGY_MACD; //Selecione a Estrat<EFBFBD>gia
//--- MACD Strategy
input group "[Sele<00><00>o de Estrat<00>gia] - 14. MACD Strategy"
input ENUM_MACD_TYPE_ENTRY TipoDeEntradaMACD=MACD_TYPE_ENTRY_1; //Tipo de entrada
input ENUM_TYPE_DIRECTION SentidoOperacaoMACD=TREND_DIRECTION; //Sentido da Opera<EFBFBD><EFBFBD>o
input ENUM_TIMEFRAMES macd_timeframe=5; //[MACD] Tempo Gr<EFBFBD>fico
input int macd_fast_ema_period=26; //[MACD] Per<EFBFBD>odo da m<EFBFBD>dia r<EFBFBD>pida
input int macd_slow_ema_period=52; //[MACD] Per<EFBFBD>odo da m<EFBFBD>dia lenta
input int macd_signal_period=3; //[MACD] Per<EFBFBD>odo do sinal
input ENUM_APPLIED_PRICE macd_applied_price=PRICE_CLOSE; //[MACD] Tipo de aplica<EFBFBD><EFBFBD>o
input int macd_PeriodoATR=20; //[ATR] Per<EFBFBD>odo
input ENUM_TIMEFRAMES macd_TimeFrameATR=PERIOD_CURRENT; //[ATR] Tempo Gr<EFBFBD>fico
input double macd_MultiplierATR=1.0; //[ATR] Multiplicador
input int macd_atr_candle_counter = 0; //[ATR] Quantidade de candles
input int macd_stddev_period=20; //[Desvio Padr<EFBFBD>o] Per<EFBFBD>odo
input ENUM_TIMEFRAMES macd_stddev_timeframe=PERIOD_CURRENT; //[Desvio Padr<EFBFBD>o] Tempo Gr<EFBFBD>fico
input double macd_stddev_multiplier=1.0; //[Desvio Padr<EFBFBD>o] Multiplicador
//--- Stop Loss
input group "[Stop Loss]"
input ENUM_TYPE_STOPLOSS TipoDeStopLoss=STOPLOSS_NULL; //Tipo de Stop Loss
input ENUM_TIMEFRAMES StopLossATR_TimeFrame=PERIOD_CURRENT; //[ATR] Tempo Gr<EFBFBD>fico
input int StopLossATR_Periodo=20; //[ATR] Per<EFBFBD>odo
input double StopLossATR_Multiplicador=1.5; //[ATR] Mutiplicador
//--- Take Profit
input group "[Take Profit]"
input ENUM_TYPE_TAKEPROFIT TipoDeTakeProfit=TAKEPROFIT_NULL; //Tipo de Take Profit
input ENUM_TIMEFRAMES TakeProfitATR_TimeFrame=PERIOD_CURRENT; //[ATR] Tempo Gr<EFBFBD>fico
input int TakeProfitATR_Periodo=20; //[ATR] Per<EFBFBD>odo
input double TakeProfitATR_Multiplicador=1.5; //[ATR] Mutiplicador
//--- Prote<EFBFBD><EFBFBD>o | Limite de Opera<EFBFBD><EFBFBD>es
input group "[Prote<00><00>o | Limite de Opera<00><00>es]"
input int LimiteDeOperacoesDiarias=0; //Quantidade Limite de Opera<EFBFBD><EFBFBD>es Di<EFBFBD>rias (0 = OFF)
input int LimiteDeLossDiario=0; //Quantidade Limite de Losses Di<EFBFBD>rios (0 = OFF)
input int LimiteDeLossConsecutivos=0; //Quantidade Limite de Losses Consecutivos (0 = OFF)
//--- Prote<EFBFBD><EFBFBD>o | Limites Financeiros
input group "[Prote<00><00>o | Limites Financeiros]"
input double GanhoDiario=0; //Alvo de Ganho Di<EFBFBD>rio (0 = OFF)
input double PerdaDiaria=0; //Limite de Perda Di<EFBFBD>ria (0 = OFF)
//--- Filtros | Filtros de Volatilidade
input group "[Filtros | Filtros de Volatilidade]"
//--- [MACRO]
input bool DesligarTodosOsFiltros=false; // [MACRO] Deseja desabilitar todos os filtros?
//--- linear regression filter
input bool LinearRegressionFilter_Is_Usage=false; //[Linear Regression Filter] Deseja utilizar esse filtro? ---->
input ENUM_TIMEFRAMES LinearRegressionFilter_TimeFrame=PERIOD_M1; //[Linear Regression Filter] Tempo Gr<EFBFBD>fico
input int PeriodoLinearRegressionFilter=20; //[Linear Regression Filter] Per<EFBFBD>odo
input ENUM_FILTER_LINEAR_REGRESSION_DIRECTION LinearRegressionDirection=LINEAR_REGRESSION_TREND; //[Linear Regression Filter] Dire<EFBFBD><EFBFBD>o
input bool LinearRegressionFilterUseLocation=false; //[Linear Regression Filter] Usar Localiza<EFBFBD><EFBFBD>o
input ENUM_FILTER_LINEAR_REGRESSION_LOCATION LinearRegressionLocation_Buy=LINEAR_REGRESSION_LOCATION_OVERSHOOT; //[Linear Regression Filter] Localiza<EFBFBD><EFBFBD>o em opera<EFBFBD><EFBFBD>es de compra
input ENUM_FILTER_LINEAR_REGRESSION_LOCATION LinearRegressionLocation_Sell=LINEAR_REGRESSION_LOCATION_UNDERSHOOT; //[Linear Regression Filter] Localiza<EFBFBD><EFBFBD>o em opera<EFBFBD><EFBFBD>es de venda