DevSolve_DS_SDK_UnitTest/EngineInputs.mqh
super.admin bcf2d970f1 convert
2025-05-30 14:49:27 +02:00

88 lines
15 KiB
MQL5

//+------------------------------------------------------------------+
//| EngineInputs.mqh |
//| Copyright 2023 - Dev.Solve LTDA |
//+------------------------------------------------------------------+
#include "Enum.mqh"
//--- Configurações Gerais
input group "[Configurações Gerais]"
input ulong MagicNumber=1234; //Magic Number
input ENUM_TIMEFRAMES TempoGrafico=PERIOD_CURRENT; //Tempo Gráfico
input string TickerAtivo=""; //Ticker do Ativo (Vazio = Vigente)
input string TickerIndicator=""; //Ticker do Ativo para Cá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ídas a cada minuto?
//--- Position Sizing
input group "[Position Sizing]"
input ENUM_MONEY_TYPE TipoDeRisco=MONEY_FIXED_LOT; //Tipo de Exposição do Capital
input double Lote=0.0; //[Lote Fixo] Contratos (0 = Lote mínimo)
//--- Horário de Negociação
input group "[Horário de Negociação]"
input bool UsarHorarioSimplificado=false; //Usar horário simplificado?
input ENUM_SIMPLE_TYPE_HOURS IntervaloDeNegociacao=HOUR_0905_1300; //[Horário simplificado] Horário de Negociação
input ENUM_TYPE_HOURS HoraInicioNegociacao=HOUR_0900; //Horário de Início das Negociações
input ENUM_TYPE_HOURS HoraTerminoEnvioOrdens=HOUR_1200; //Horário do Término de Envio de Ordens
input bool RemoverOrdensPendentes=false; //No Término de Envio de Ordens, Remover Ordens Pendentes?
input ENUM_TYPE_HOURS HoraTerminoNegociacao=HOUR_1745; //Horário de Término das Negociações e Fechamento de Posições
input ENUM_TYPE_TRADE_CLOSING TipoDeEncerramentoTrade=TRADE_CLOSING_DIARIO; //Gerenciar encerramento de posições
//--- Seleção de Estratégia
input group "[Seleção de Estratégia]"
input ENUM_TYPE_STRATEGY EstrategiaSelecionada=STRATEGY_MACD; //Selecione a Estratégia
//--- MACD Strategy
input group "[Seleção de Estraté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ção
input ENUM_TIMEFRAMES macd_timeframe=5; //[MACD] Tempo Gráfico
input int macd_fast_ema_period=26; //[MACD] Período da média rápida
input int macd_slow_ema_period=52; //[MACD] Período da média lenta
input int macd_signal_period=3; //[MACD] Período do sinal
input ENUM_APPLIED_PRICE macd_applied_price=PRICE_CLOSE; //[MACD] Tipo de aplicação
input int macd_PeriodoATR=20; //[ATR] Período
input ENUM_TIMEFRAMES macd_TimeFrameATR=PERIOD_CURRENT; //[ATR] Tempo Grá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ão] Período
input ENUM_TIMEFRAMES macd_stddev_timeframe=PERIOD_CURRENT; //[Desvio Padrão] Tempo Gráfico
input double macd_stddev_multiplier=1.0; //[Desvio Padrã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áfico
input int StopLossATR_Periodo=20; //[ATR] Perí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áfico
input int TakeProfitATR_Periodo=20; //[ATR] Período
input double TakeProfitATR_Multiplicador=1.5; //[ATR] Mutiplicador
//--- Proteção | Limite de Operações
input group "[Proteção | Limite de Operações]"
input int LimiteDeOperacoesDiarias=0; //Quantidade Limite de Operações Diárias (0 = OFF)
input int LimiteDeLossDiario=0; //Quantidade Limite de Losses Diários (0 = OFF)
input int LimiteDeLossConsecutivos=0; //Quantidade Limite de Losses Consecutivos (0 = OFF)
//--- Proteção | Limites Financeiros
input group "[Proteção | Limites Financeiros]"
input double GanhoDiario=0; //Alvo de Ganho Diário (0 = OFF)
input double PerdaDiaria=0; //Limite de Perda Diá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áfico
input int PeriodoLinearRegressionFilter=20; //[Linear Regression Filter] Período
input ENUM_FILTER_LINEAR_REGRESSION_DIRECTION LinearRegressionDirection=LINEAR_REGRESSION_TREND; //[Linear Regression Filter] Direção
input bool LinearRegressionFilterUseLocation=false; //[Linear Regression Filter] Usar Localização
input ENUM_FILTER_LINEAR_REGRESSION_LOCATION LinearRegressionLocation_Buy=LINEAR_REGRESSION_LOCATION_OVERSHOOT; //[Linear Regression Filter] Localização em operações de compra
input ENUM_FILTER_LINEAR_REGRESSION_LOCATION LinearRegressionLocation_Sell=LINEAR_REGRESSION_LOCATION_UNDERSHOOT; //[Linear Regression Filter] Localização em operações de venda