|
| 1 | +//+------------------------------------------------------------------+ |
| 2 | +//| ExpertC6.mq5 | |
| 3 | +//| Copyright 2016, MetaQuotes Software Corp. | |
| 4 | +//| https://www.mql5.com | |
| 5 | +//+------------------------------------------------------------------+ |
| 6 | +#property copyright "Copyright 2016, Erlon F Souza." |
| 7 | +#property link "www.facebook.com/erlonfs" |
| 8 | +#property version "1.00" |
| 9 | +#property description "Utiliza o setup de consolidação de 3 candlestick em tempo gráfico de 3 min para mini dolar/mini indice.O programa exibi marcações em tela durante as analises. Quando o mesmo gerar uma area com cor neutra (cinza por definição), significa que não existe operação a realizar. Em marcações de cor vermelha (padrão), o mesmo espera uma entrada em venda descoberta, em marcações de cor azul (cor pre-definida) o programa espera uma entrada em compra.\n\n\nBons trades!\n\nEquipe BAD ROBOT.\n[email protected]" |
| 10 | +#property icon "3_minutes_of_consolidation.ico"; |
| 11 | +#define robot_name "3 MINUTES OF CONSOLIDATION" |
| 12 | + |
| 13 | +#include <Robots\ThreeMinutesOfConsolidation.mqh> |
| 14 | +#include <Framework\Enum.mqh> |
| 15 | + |
| 16 | +input string Secao1 = "###############";//### Definições Básicas ### |
| 17 | +input string HoraInicio="00:00";//Hora de início de execução da estratégia |
| 18 | +input string HoraFim="00:00";//Hora de término de execução da estratégia |
| 19 | +input string HoraInicioIntervalo="00:00";//Hora de início intervalo de execução da estratégia |
| 20 | +input string HoraFimIntervalo="00:00";//Hora de término intervalo de execução da estratégia |
| 21 | +input ENUM_LOGIC FecharPosition=0;//Fechar posições ao término de horario de execução? |
| 22 | +input int Volume=0; //Volume |
| 23 | +input double Spread = 0;//Spread utilizado nos rompimento |
| 24 | + |
| 25 | +input string Secao2 = "###############";//### Alvos ### |
| 26 | +input double StopGainEmPontos=0; //Stop Gain em Pontos |
| 27 | +input double StopLossEmPontos=0; //Stop Loss em Pontos |
| 28 | + |
| 29 | +input string Secao3 = "###############";//### Trailing Stop ### |
| 30 | +input ENUM_LOGIC IsTrailingStop=0;//Ativar recurso de Trailing Stop? |
| 31 | +input double TrailingStopInicio=0; //Valor de inicio do ajuste |
| 32 | +input double TrailingStop=0; //Valor de Ajuste do Trailing Stop |
| 33 | + |
| 34 | +input string Secao4 = "###############";//### Break-Even ### |
| 35 | +input ENUM_LOGIC IsBreakEven=0;//Ativar recurso de Break-Even? |
| 36 | +input double BreakEven=0;//Qtd Pontos Acima do Break-Even |
| 37 | +input double BreakEvenInicio=0;//Valor de inicio do Break-Even |
| 38 | + |
| 39 | +input string Secao5 = "###############";//### Config de Apresentação ### |
| 40 | +input ENUM_LOGIC IsDesenhar=0;//Desenhar marcações? |
| 41 | +input ENUM_LOGIC IsPreencher=0;//Preencher? |
| 42 | +input ENUM_LOGIC IsEnviarParaTras=0;//Enviar para Trás? |
| 43 | +input color Cor=clrDimGray;//Cor utilizada em marcaçoes nulas |
| 44 | +input color CorCompra=C'3,95,172';//Cor utilizada em marcações de Compra |
| 45 | +input color CorVenda=C'225,68,29';//Cor utilizada em marcações de Venda |
| 46 | + |
| 47 | +input string Secao6 = "###############";//### Financeiro ### |
| 48 | +input ENUM_LOGIC IsGerenciamentoFinanceiro=0;//Ativar Gerenciamento Financeiro? |
| 49 | +input double CorretagemValor=0.0; //Valor de Corretagem por contrato |
| 50 | +input ENUM_LOGIC IsCalcularCorretagemLucroMaximo=0;//Calcular valor máximo de lucro com corretagem incluso? |
| 51 | +input double MaximoLucroDiario=0; //Valor Máximo de lucro no dia |
| 52 | +input double MaximoPrejuizoDiario=0; //Valor Máximo de prejuizo no dia |
| 53 | + |
| 54 | +input string Secao7 = "###############";//### Realização de Parcial ### |
| 55 | +input ENUM_LOGIC IsParcial=0;//Ativar recurso de Parcial? |
| 56 | +input double PrimeiraParcialLotes=0;//Qtd de lotes da 1ª parcial |
| 57 | +input double PrimeiraParcialInicio=0;//Valor de inicio da 1ª parcial |
| 58 | +input double SegundaParcialLotes=0;//Qtd de lotes da 2ª parcial |
| 59 | +input double SegundaParcialInicio=0;//Valor de inicio da 2ª parcial |
| 60 | +input double TerceiraParcialLotes=0;//Qtd de lotes da 3ª parcial |
| 61 | +input double TerceiraParcialInicio=0;//Valor de inicio da 3ª parcial |
| 62 | + |
| 63 | +input string Secao8 = "###############";//### Expert Control ### |
| 64 | +input int NumeroMagico=0; //Número mágico |
| 65 | + |
| 66 | +input string Secao9 = "###############";//### Config de Estratégia ### |
| 67 | +input int MediaLonga=0;//Média longa utilizada no periodo de 1 min |
| 68 | +input int MediaCurta=0;//Média curta utilizada no periodo de 1 min |
| 69 | +input double TamanhoMaximoCandle = 0;//Tamanho máx. candle consolidacao |
| 70 | +input int QuantidadeCandlesConsolidacao = 0;//quantidade de candles usados na consolidacao de 3 min |
| 71 | + |
| 72 | +//variaveis |
| 73 | +ThreeMinutesOfConsolidation _ea; |
| 74 | + |
| 75 | +int OnInit(){ |
| 76 | + |
| 77 | + printf("Bem Vindo ao "+robot_name+"!"); |
| 78 | + |
| 79 | + _ea.SetSymbol(_Symbol); |
| 80 | + _ea.SetLotes(Volume); |
| 81 | + _ea.SetSpread(Spread); |
| 82 | + _ea.SetHoraInicio(HoraInicio); |
| 83 | + _ea.SetHoraFim(HoraFim); |
| 84 | + _ea.SetHoraInicioIntervalo(HoraInicioIntervalo); |
| 85 | + _ea.SetHoraFimIntervalo(HoraFimIntervalo); |
| 86 | + _ea.SetIsClosePosition(FecharPosition); |
| 87 | + _ea.SetIsTrailingStop(IsTrailingStop); |
| 88 | + _ea.SetIsBreakEven(IsBreakEven); |
| 89 | + _ea.SetColor(Cor); |
| 90 | + _ea.SetColorBuy(CorCompra); |
| 91 | + _ea.SetColorSell(CorVenda); |
| 92 | + _ea.SetCorretagemValor(CorretagemValor); |
| 93 | + _ea.SetIsCalcularCorretagemValoresMaximosDiarios(IsCalcularCorretagemLucroMaximo); |
| 94 | + _ea.SetStopGain(StopGainEmPontos); |
| 95 | + _ea.SetStopLoss(StopLossEmPontos); |
| 96 | + _ea.SetTrailingStopInicio(TrailingStopInicio); |
| 97 | + _ea.SetTrailingStop(TrailingStop); |
| 98 | + _ea.SetBreakEven(BreakEven); |
| 99 | + _ea.SetBreakEvenInicio(BreakEvenInicio); |
| 100 | + _ea.SetIsGerenciamentoFinanceiro(IsGerenciamentoFinanceiro); |
| 101 | + _ea.SetMaximoLucroDiario(MaximoLucroDiario); |
| 102 | + _ea.SetMaximoPrejuizoDiario(MaximoPrejuizoDiario); |
| 103 | + _ea.SetIsDesenhar(IsDesenhar); |
| 104 | + _ea.SetIsEnviarParaTras(IsEnviarParaTras); |
| 105 | + _ea.SetIsPreencher(IsPreencher); |
| 106 | + _ea.SetIsParcial(IsParcial); |
| 107 | + _ea.SetPrimeiraParcialLotes(PrimeiraParcialLotes); |
| 108 | + _ea.SetPrimeiraParcialInicio(PrimeiraParcialInicio); |
| 109 | + _ea.SetSegundaParcialLotes(SegundaParcialLotes); |
| 110 | + _ea.SetSegundaParcialInicio(SegundaParcialInicio); |
| 111 | + _ea.SetTerceiraParcialLotes(TerceiraParcialLotes); |
| 112 | + _ea.SetTerceiraParcialInicio(TerceiraParcialInicio); |
| 113 | + _ea.SetNumberMagic(NumeroMagico); |
| 114 | + |
| 115 | + //Estratégia |
| 116 | + _ea.SetQtdCandleConsolidacao(QuantidadeCandlesConsolidacao); |
| 117 | + _ea.SetEMALongPeriod(MediaLonga); |
| 118 | + _ea.SetEMAShortPeriod(MediaCurta); |
| 119 | + _ea.SetTamanhoMaxPrecoCandle(TamanhoMaximoCandle); |
| 120 | + _ea.SetPeriod(PERIOD_M3); |
| 121 | + _ea.SetNameRobot(robot_name); |
| 122 | + |
| 123 | + _ea.Load(); |
| 124 | + |
| 125 | + return(INIT_SUCCEEDED); |
| 126 | + |
| 127 | +} |
| 128 | + |
| 129 | +void OnDeinit(const int reason){ |
| 130 | + printf("Obrigado por utilizar o "+robot_name+"!"); |
| 131 | +} |
| 132 | + |
| 133 | +void OnTick(){ |
| 134 | + _ea.Watch(); |
| 135 | +} |
0 commit comments