88 lines
15 KiB
MQL5
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
|