Gold Expansion D
- Experts
-
Daniele Fughelli
Hi! I'm Daniele. I've been developing trading EAs for more than 4 years. Everything I create is based upon years of data and stress-tested by me. I always use out-of-sample data for final validation. For any questions, message me, and I'll answer you as soon as possible. Making EAs takes effort and - Versão: 1.0
- Ativações: 10
Eficaz e robusto ao longo de 9 anos de backtest, dos quais 3 foram totalmente out-of-sample, Gold Expansion D é o EA que eu manteria sempre no meu portefólio de EAs.
Este EA utiliza por defeito uma estratégia de breakout (também é possível utilizar uma estratégia de reversão alterando o parâmetro "Version" de 1 para 2), explorando as características inerentes do próprio Ouro. Foi especificamente desenvolvido para Gold, mas pode ser adaptado a outros mercados através da alteração dos parâmetros de entrada.
Resultados do backtest:
- Mais de 241% de lucro, negociando 1 lote por operação com um saldo inicial de $100,000.
- 3,076 operações ao longo de mais de 9 anos de dados históricos, com os últimos 3 anos mantidos totalmente out-of-sample para reduzir o risco de overfitting.
- Drawdown máximo inferior a 49% em relação ao saldo inicial, o que é um resultado sólido tendo em conta o quão rentável a estratégia foi nos dados out-of-sample.
Todos os dados apresentados nas imagens abaixo são provenientes da IC Markets, utilizando o horário do broker GMT+2. Também obtive um desempenho semelhante na prop firm FTMO, conhecida pelos seus spreads significativamente mais elevados. Isto significa que a estratégia é bastante robusta em relação ao spread. Faça sempre o seu próprio backtest para confirmar que estas configurações funcionam igualmente bem com os dados históricos do seu broker e ajuste os parâmetros se necessário.
Como utilizar
Anexe o EA a um gráfico e altere os parâmetros de entrada conforme considerar adequado. Se o utilizar em Gold (XAUUSD), pode usar os parâmetros predefinidos, que foram os utilizados para obter o backtest apresentado abaixo.
Versatilidade
O EA pode ser adaptado a qualquer mercado financeiro (commodities, Forex, etc.). As configurações predefinidas foram calibradas especificamente para Gold (XAUUSD) — ajuste os parâmetros de acordo com o instrumento se estiver a testar num mercado diferente.
Dica para backtesting
Como o EA apenas avalia as aberturas e os fechos das velas, pode utilizar a modelação "1 Minute OHLC" nos backtests em vez de dados Tick. Isto torna os testes significativamente mais rápidos, produzindo resultados praticamente idênticos — vale a pena verificar por si próprio.
Dimensionamento do lote
O tamanho do lote é fixo e não é baseado numa percentagem da conta. Evitei intencionalmente o dimensionamento por percentagem da conta, uma vez que isso pode amplificar as perdas depois de uma sequência de operações vencedoras. Pode ajustar manualmente o tamanho do lote a qualquer momento.
Parâmetros de entrada
- SIZE — predefinição: 0.01. Parâmetro do tamanho do lote. Tenha muito cuidado ao alterá-lo. Não utilize números negativos.
- GMT — predefinição: 2. Parâmetro de fuso horário. Altere-o de acordo com o fuso horário do seu broker. Não utilize números negativos nem decimais.
- Magic Number — predefinição: 1. Este valor TEM de ser diferente do magic number de qualquer outro EA em cada gráfico específico, para evitar conflitos, especialmente se utilizar este EA com configurações diferentes no mesmo instrumento, como recomendado. Não utilize números negativos nem decimais.
- EuroDST — predefinição: false. Alteração do horário de verão/inverno para brokers europeus. Teste com "true" e "false" para verificar qual das opções funciona melhor para si.
- starttime — Hora de início da negociação: pode definir valores entre 0 e 2400 utilizando múltiplos de 100 (por exemplo, 100, 200, 300, ..., 1000, 1100, ...). Para brokers europeus, certifique-se de que este valor é inferior a "endtime". Não utilize números negativos nem decimais.
- endtime — Hora de fim da negociação: pode definir valores entre 0 e 2400 utilizando múltiplos de 100 (por exemplo, 100, 200, 300, ..., 1000, 1100, ...). IMPORTANTE: se definir 2400, o parâmetro "CloseAtEnd" não funcionará corretamente quando estiver definido como "true". Não utilize números negativos nem decimais.
- CloseAtEnd — predefinição: true. Este parâmetro fecha a operação atualmente aberta quando a hora da última vela fechada é igual ou superior a "endtime". Defina como "false" se quiser manter as operações abertas durante a noite (o desempenho do EA mudará completamente — teste esta opção se quiser criar algo novo).
- Version — predefinição: 1. Valores permitidos: 1 ou 2. Se estiver definido como 1, utilizará a lógica de breakout, tentando seguir a tendência. Se estiver definido como 2, utilizará a lógica de falso breakout, tirando partido das reversões. Não utilize números negativos nem decimais. Não utilize nenhum número diferente de 1 ou 2, caso contrário não serão efetuadas operações.
- stopPercent — predefinição: true. Este parâmetro permite escolher o stop loss e o take profit como uma percentagem (%) do preço de fecho da última vela fechada. Criei-o especificamente para Gold, uma vez que o seu valor mudou muito ao longo do tempo. Pode ser utilizado noutros instrumentos, mas a diferença relativamente a um stop loss e take profit normais baseados em valor absoluto de preço será menor, uma vez que o mercado Forex se move mais lentamente. Se estiver definido como "false", o stop loss e o take profit serão definidos em valor absoluto de preço (por exemplo, 0.005$).
- Mfilter, Mfilter1, Mfilter2 — predefinição: false. Estes três são filtros mensais. Se forem definidos como true, o EA não negociará nos meses selecionados (estes filtros podem ser muito eficazes).
- Dfilter — predefinição: true. Este é o filtro diário. Se estiver definido como true, o EA não negociará nos dias selecionados (por exemplo, todas as segundas-feiras, todas as sextas-feiras, etc.).
- OnePerDay — predefinição: false. Se estiver definido como true, o EA efetuará apenas uma operação por dia de negociação (não utilizado nas minhas configurações).
- Month, Month1, Month2 — Estes três são filtros mensais. Cada número de 1 a 12 corresponde a um mês específico (1: janeiro, 2: fevereiro, ...). Não utilize números negativos nem decimais. Não utilize números superiores a 12.
- Day — Este é o filtro diário. Cada número de 0 a 6 corresponde a um dia da semana (0: domingo, 1: segunda-feira, ..., 6: sábado). Não utilize números negativos nem decimais. Não utilize números superiores a 6.
- mystop — Parâmetro de stop loss. Não utilize números negativos. Podem ser utilizados valores decimais.
- myprofit — Parâmetro de take profit. Não utilize números negativos. Podem ser utilizados valores decimais.
Lógica de saída:
O EA fecha uma posição apenas se o stop loss ou o take profit forem acionados, se a hora da última vela for igual ou superior a "endtime" quando CloseAtEnd estiver definido como true, ou se forem cumpridas as condições para inverter a posição. Nesse caso, o EA fecha a posição atualmente aberta e abre imediatamente outra na direção oposta.
Tenha cuidado ao alterar "myprofit" e "mystop": o stop loss e o take profit são os dois parâmetros deste EA mais suscetíveis a overfitting.
Deixe um comentário na página do EA se precisar de ajuda para configurar qualquer parâmetro ou tiver qualquer outra dúvida. Responderei assim que possível.
TimeFrame: 30 minutos. Pode alterá-lo, mas serão necessários novos backtests, bem como um novo ajuste dos parâmetros.
Tipo de conta necessário: Hedging.
Instrumento financeiro: Gold.
Se ainda não tem experiência com dimensionamento de lotes, altere o parâmetro SIZE no backtest e verifique os maiores e os valores médios dos lucros e das perdas no final do teste. Desta forma, poderá compreender quanto risco está a assumir antes de começar efetivamente a negociar com o novo tamanho de lote que escolheu.
Sem martingale, sem grid trading ou estratégias semelhantes. O EA abre apenas uma posição de cada vez.
Tenha em atenção que podem ocorrer drawdowns e que fazem parte do processo. Isto não é um esquema para enriquecer rapidamente, mesmo que os resultados do backtest sejam realmente bons. Teste sempre primeiro o algoritmo numa conta demo.
O desempenho passado não é indicativo de resultados futuros. O trading envolve risco e deve negociar apenas com capital que possa permitir-se perder.
