VERSÃO ATUAL: http://codebase.mql4.com/en/code/10413
Este robô de trading, também conhecido como EA, utiliza a tendência da EMA e sinais de compra/venda obtidos através do Williams %R.
Meu objetivo foi criar um sistema de trading que possa ser operado com um capital inicial de 1000 EUR, minimizando o drawdown. Espero que gostem e ficarei grato por qualquer feedback.
Otimizado para EURUSD em 5 minutos
Corrigi alguns bugs, ajustei o tamanho das posições e você pode definir a porcentagem do seu capital que deseja arriscar em uma única operação. Também adicionei um trailing stop simples; se trailingStop = 0, o trailing stop é desativado.
A utilização é por sua conta e risco. Não me responsabilizo por perdas. Você deve alterar, testar e otimizar o robô conforme sua necessidade.
Entradas:
extern double takeProfit = 200; // take profit extern double maxStopLoss = 50; // stop loss extern double maxLots = 10; // máximo de lotes por posição extern double maxContracts = 2; // máximo de posições abertas, 2 é ideal para um equity mais suave extern double EMA = 144; // EMA para identificar a tendência extern int iWPRPeriod = 46; // Período do Williams' %R para determinar sinais de compra/venda int iWPRretracement = 30; // retracement do Williams' %R para permitir a próxima operação extern double trailingStop = 50; // trailing stop, use 0 para desativar extern int risk = 2; // % do capital que você deseja arriscar em uma operação extern double magicNumber = 13131;
Relatório do Testador de Estratégia
| Símbolo | EURUSD (Euro vs Dólar Americano) | ||||
| Período | 5 Minutos (M5) 2010.01.04 00:00 - 2011.02.01 23:55 | ||||
| Modelo | Cada tick (o método mais preciso com base em todos os intervalos de tempo disponíveis) | ||||
| Parâmetros | takeProfit=200; maxStopLoss=50; maxLots=0.1; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131; | ||||
| Variações no teste | 59025 | Ticks modelados | 7365767 | Qualidade do modelo | n/a |
| Erros de gráficos incompatíveis | 8220 | ||||
| Depósito inicial | 1000.00 | ||||
| Lucro líquido total | 1635.88 | Lucro bruto | 4478.56 | Perda bruta | -2842.67 |
| Fator de lucro | 1.58 | Payoff esperado | 3.92 | ||
| Drawdown absoluto | 22.16 | Drawdown máximo | 249.69 (10.77%) | Drawdown relativo | 12.99% (188.82) |
| Total de operações | 417 | Posições curtas (ganhos %) | 198 (67.68%) | Posições longas (ganhos %) | 219 (73.52%) |
| Operações lucrativas (% do total) | 295 (70.74%) | Operações com perdas (% do total) | 122 (29.26%) | ||
| Maior | operação lucrativa | 67.23 | operação com perda | -39.62 | |
| Média | operação lucrativa | 15.18 | operação com perda | -23.30 | |
| Máximo | ganhos consecutivos (lucro em dinheiro) | 20 (273.93) | perdas consecutivas (perda em dinheiro) | 6 (-142.17) | |
| Máximo | lucro consecutivo (contagem de ganhos) | 326.42 (15) | perda consecutiva (contagem de perdas) | -142.17 (6) | |
| Média | ganhos consecutivos | 4 | perdas consecutivas | 2 | |

Para usar o meu dimensionamento de posições, aumente o tamanho dos maxLots e defina o risco - a porcentagem do seu capital que você deseja arriscar em uma única operação.
O código que uso para dimensionamento de posições é o seguinte:
minAllowedLot = MarketInfo(Symbol(), MODE_MINLOT); //IBFX= 0.10 lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); //IBFX= 0.01 maxAllowedLot = MarketInfo(Symbol(), MODE_MAXLOT); //IBFX=50.00 balance = AccountBalance(); ilo = ((balance * risk / 100) / maxStopLoss); lots = NormalizeDouble(ilo, 0) * lotStep; if (lots < minAllowedLot) lots = minAllowedLot; if (lots > maxLots) lots = maxLots; if (lots > maxAllowedLot) lots = maxAllowedLot;
Relatório do Testador de Estratégia
| Símbolo | EURUSD (Euro vs Dólar Americano) | ||||
| Período | 5 Minutos (M5) 2010.01.04 00:00 - 2011.02.01 23:55 | ||||
| Modelo | Cada tick (o método mais preciso com base em todos os intervalos de tempo disponíveis) | ||||
| Parâmetros | takeProfit=200; maxStopLoss=50; maxLots=10; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131; | ||||
| Variações no teste | 59025 | Ticks modelados | 7365767 | Qualidade do modelo | n/a |
| Erros de gráficos incompatíveis | 8220 | ||||
| Depósito inicial | 1000.00 | ||||
| Lucro líquido total | 4655.80 | Lucro bruto | 13740.16 | Perda bruta | -9084.36 |
| Fator de lucro | 1.51 | Payoff esperado | 11.16 | ||
| Drawdown absoluto | 22.16 | Drawdown máximo | 1139.43 (28.08%) | Drawdown relativo | 28.08% (1139.43) |
| Total de operações | 417 | Posições curtas (ganhos %) | 198 (67.68%) | Posições longas (ganhos %) | 219 (73.52%) |
| Operações lucrativas (% do total) | 295 (70.74%) | Operações com perdas (% do total) | 122 (29.26%) | ||
| Maior | operação lucrativa | 268.93 | operação com perda | -256.75 | |
| Média | operação lucrativa | 46.58 | operação com perda | -74.46 | |
| Máximo | ganhos consecutivos (lucro em dinheiro) | 20 (353.21) | perdas consecutivas (perda em dinheiro) | 6 (-354.36) | |
| Máximo | lucro consecutivo (contagem de ganhos) | 1466.13 (15) | perda consecutiva (contagem de perdas) | -664.91 (4) | |
| Média | ganhos consecutivos | 4 | perdas consecutivas | 2 | |

Comentário 0