Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

Two MA one RSI - expert para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizações:
2567
Avaliação:
(26)
Publicado:
2018.10.09 12:06
\MQL5\Profiles\Tester\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Ideia por: Iurii Tokman.

Código em MQL5 por: Vladimir Karputov.

O EA negocia em dois indicadores iMA (Média Móvel, MA) e um iRSI (Índice de Força Relativa, RSI). A decisão sobre os sinais de negociação é feita apenas quando uma nova barra aparece, enquanto as posições utilizam trailing e são fechadas (em caso de lucro) a cada tick.

Uma solução não convencional foi aplicada: O período da média Slow é calculada como o período da média Fast multiplicado por dois, enquanto o período médio do RSI é sempre igual ao período da média Fast. Isso reduz o número de parâmetros na otimização.

Você também pode otimizar absolutamente todos os sinais "<" e ">" na fórmula de identificação dos sinais. Para isso, as variáveis (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2 e InpMoreLessSell_3) são apresentadas. Com essas variáveis, a fórmula é modificada da seguinte maneira:

   bool signal_buy=(!InpMoreLessBuy_1  ?  ArrayFast[1]<ArraySlow[1]:  ArrayFast[1]>ArraySlow[1]) && 
                   (InpMoreLessBuy_2   ?  ArrayFast[0]>ArraySlow[0]:  ArrayFast[0]<ArraySlow[0]) &&
                   (InpMoreLessBuy_3   ?  RSI>InpRSI_level_UP      :  RSI<InpRSI_level_UP);
   bool signal_sell=(InpMoreLessSell_1 ?  ArrayFast[1]>ArraySlow[1]:  ArrayFast[1]<ArraySlow[1]) && 
                    (!InpMoreLessSell_2?  ArrayFast[0]<ArraySlow[0]:  ArrayFast[0]>ArraySlow[0]) &&
                    (!InpMoreLessSell_3?  RSI<InpRSI_level_DOWN    :  RSI>InpRSI_level_DOWN);


Os parâmetros de entrada

  • Parâmetros dos indicadores Média móvel:

    • Fast: av. period - Período da média móvel "Fast";
    • Fast: horizontal shift - Deslocamento horizontal da média móvel "Fast";
    • Fast: type of price - Tipo de preço da média móvel "Fast";
    • Slow: horizontal shift - Deslocamento horizontal da média móvel "Slow";
    • Slow: type of price - Tipo de preço da média móvel "Slow";
    • Fast and Slow: smoothing type - Tipo de média (um parâmetro comum para "Fast" e "Slow").

  • Parâmetros do indicador RSI e de seus sinais:

    • RSI: type of price - Tipo de preço do indicador RSI;
    • RSI: level UP - nível UP do indicador RSI;
    • RSI: level DOWN - Nível DOWN do indicador RSI.

  • Parâmetros de negociação:

    • Stop Loss - Stop Loss (se definido como zero, o parâmetro será desativado);
    • Take Profit - Take Profit (se definido como zero, o parâmetro será desativado);
    • Trailing Stop - Trailing (se definido como zero, o parâmetro será desativado);
    • Trailing Step - passo do trailing;
    • Lots - negociação com um tamanho de lote fixo (parâmetro Lots está acima de zero e o parâmetro Risk é igual a zero);
    • Risk - o tamanho do lote é calculado dinamicamente (parâmetro Risk está abaixo de zero e o parâmetro Lots é igual a zero);
    • Maximum number of positions in one direction - o número máximo em uma direção (se definido como zero, o parâmetro será desativado);
    • Close all positions when profit is achieved - Fecha as posições ao atingir o lucro (se definido como zero, o parâmetro será desativado);
    • Close opposite positions - Fecha as posições opostas (se definido como "false", o parâmetro será desativado);
    • magic number - identificador exclusivo para o EA.

Como você pode ver, juntamente com a configuração dos parâmetros dos indicadores, este EA permite configurar (e desativar) flexivelmente o Stop Loss, o Take Profit, o Trailing, o número máximo de posições abertas em uma direção, o fechamento de posições para a obtenção de lucro e o fechamento de posições opostas. Você também pode gerenciar os cálculos de volume da posição: Você pode negociar com um tamanho de lote fixo (Lots acima de zero e Risk igual a zero), ou o tamanho do lote pode ser calculado dinamicamente (Risk acima de zero e Lots igual a zero).


Recomendações sobre a otimização

No modo "OHLC - M1", selecione um símbolo e o período de tempo M15. Desativa (definido como zero) o Stop Loss, Take Profit e Trailing e define o número máximo de posições em cada direção para "1". Ou copie para a pasta MQL5\Profiles\Tester\ o arquivo Two MA one RSI M15 Start.set que já contém os parâmetros iniciais de otimização para o M15.

Selecione o tipo de otimização como "Fast (algoritmo genético)" e o parâmetro "Balance max" a ser otimizado.

Para otimização, eu recomendo usar a MQL5 Cloud Network: Para USDJPY ao longo do ano de 2017, otimização na nuvem e no meu laptop quad-core

levou

2018.05.28 08:03:19.923 optimization done in 7 minutes 58 seconds

e custou $0.08.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/20886

Exp_SilverTrend_CrazyChart Exp_SilverTrend_CrazyChart

Um sistema de negociação baseado nos sinais do indicador SilverTrend_CrazyChart.

Rainbow Oscillator - Binary Rainbow Oscillator - Binary

Baseada no Mel Widner's Rainbow Average (que é similar ao Guppy MMA), aqui está uma versão binária do Rainbow Oscillator.

OzFX_D1_IndAES_v1.0_HTF OzFX_D1_IndAES_v1.0_HTF

Indicador OzFX_D1_IndAES_v1.0 com a opção de seleção do tempo gráfico nos parâmetros de entrada.

CandlesticksBW_Alert CandlesticksBW_Alert

Um indicador com velas coloridas de acordo com B. Williams e alertando sobre a mudança de tendência, bem como o envio de e-mails e notificações push em tal situação.