EMAplusWPRv1_1: Um Robô de Trading para MetaTrader 4

Mike 2011.03.30 16:24 24 0 0
Anexo

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

EMAplusWPRv1_1
XTrade-MT4 Demo (Build 229)

SímboloEURUSD (Euro vs Dólar Americano)
Período5 Minutos (M5) 2010.01.04 00:00 - 2011.02.01 23:55
ModeloCada tick (o método mais preciso com base em todos os intervalos de tempo disponíveis)
ParâmetrostakeProfit=200; maxStopLoss=50; maxLots=0.1; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131;
Variações no teste59025Ticks modelados7365767Qualidade do modelon/a
Erros de gráficos incompatíveis8220
Depósito inicial1000.00
Lucro líquido total1635.88Lucro bruto4478.56Perda bruta-2842.67
Fator de lucro1.58Payoff esperado3.92
Drawdown absoluto22.16Drawdown máximo249.69 (10.77%)Drawdown relativo12.99% (188.82)
Total de operações417Posiçõ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%)
Maioroperação lucrativa67.23operação com perda-39.62
Médiaoperação lucrativa15.18operação com perda-23.30
Máximoganhos consecutivos (lucro em dinheiro)20 (273.93)perdas consecutivas (perda em dinheiro)6 (-142.17)
Máximolucro consecutivo (contagem de ganhos)326.42 (15)perda consecutiva (contagem de perdas)-142.17 (6)
Médiaganhos consecutivos4perdas consecutivas2

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

EMAplusWPRv1_1 + dimensionamento de posições
XTrade-MT4 Demo (Build 229)

SímboloEURUSD (Euro vs Dólar Americano)
Período5 Minutos (M5) 2010.01.04 00:00 - 2011.02.01 23:55
ModeloCada tick (o método mais preciso com base em todos os intervalos de tempo disponíveis)
ParâmetrostakeProfit=200; maxStopLoss=50; maxLots=10; maxContracts=2; EMA=144; iWPRPeriod=46; trailingStop=50; risk=6; magicNumber=13131;
Variações no teste59025Ticks modelados7365767Qualidade do modelon/a
Erros de gráficos incompatíveis8220
Depósito inicial1000.00
Lucro líquido total4655.80Lucro bruto13740.16Perda bruta-9084.36
Fator de lucro1.51Payoff esperado11.16
Drawdown absoluto22.16Drawdown máximo1139.43 (28.08%)Drawdown relativo28.08% (1139.43)
Total de operações417Posiçõ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%)
Maioroperação lucrativa268.93operação com perda-256.75
Médiaoperação lucrativa46.58operação com perda-74.46
Máximoganhos consecutivos (lucro em dinheiro)20 (353.21)perdas consecutivas (perda em dinheiro)6 (-354.36)
Máximolucro consecutivo (contagem de ganhos)1466.13 (15)perda consecutiva (contagem de perdas)-664.91 (4)
Médiaganhos consecutivos4perdas consecutivas2

Lista
Comentário 0