Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Assistente MQL5 - Sinais de negociação baseado em Padrões de vela + Estocástico - expert para MetaTrader 5
- Visualizações:
- 3080
- Avaliação:
- Publicado:
- 2014.01.14 12:45
- Atualizado:
- 2016.11.22 07:34
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Descrição:
Com o Assistente MQL5, os traders agora podem gerar automaticamente códigos do Expert Advisor baseado em classes de sinais de negociação, rastreio de posições e de gerenciamento do dinheiro. Juntamente com as classe de sinais de negociação da Biblioteca Padrão, você pode desenvolver e testar seus próprios sistemas de negociação. Para fazer isso, basta escrever um módulo de sinais de negociação.
No livro "As Estratégias dos melhores Traders do mundo" (em Russo) descreve indicadores e estratégias de negociação para a análise técnica envolvendo o pacote de software MetaStock. Juntamente com os sinais de negociação convencionais, o livro trata os baseado na utilização combinada de padrões de vela de reversão com confirmações do Estocástico, CCI, MFI e RSI.
Utilizando os padrões de velas de reversão em conjunto com os sinais de osciladores permitem reduzir o número de sinais falso positivos e aumentar a eficiência do sistema de negociação.
Em publicações anteriores, nós havíamos considerado os sinais de negociação baseado nos padrões de vela e confirmado pelo indicador Estocástico:
- 3 Corvos Negros/3 Soldados Brancos
- Nuvem Negra/Linha perfurante
- Engolfo de Alta/Engolfo de Baixa
- Harami de Alta/Harami de Baixa
- Martelo/Enforcado
- Linhas de Contra-Ataque de Alta/Baixa
- Estrela da Manhã/Noite
Nesta publicação, vamos considerar os resultados do uso combinado de todos esses modelos, juntamente com os sinais do indicador Estocástico.
1. Modelos de velas altistas/baixistas e sua detecção
A classe CandlePattern também possui as funções para detectar a formação de alguns dos padrões de vela de alta e baixa (com exceção da combinação Martelo/Enforcado).
A formação do padrão de vela altista é verificado pela função CheckPatternAllBullish():
//+------------------------------------------------------------------+ //| Verifica a formação de padrões altistas | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBullish() { return(CheckPatternThreeWhiteSoldiers() || CheckPatternPiercingLine() || CheckPatternMorningDoji() || CheckPatternBullishEngulfing() || CheckPatternBullishHarami() || CheckPatternMorningStar() || CheckPatternBullishMeetingLines()); }
A formação do padrão de vela baixista é verificado pela função CheckPatternAllBearish():
//+------------------------------------------------------------------+ //| Verifica a formação de padrões baixistas | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBearish() { return(CheckPatternThreeBlackCrows() || CheckPatternDarkCloudCover() || CheckPatternEveningDoji() || CheckPatternBearishEngulfing() || CheckPatternBearishHarami() || CheckPatternEveningStar() || CheckPatternBearishMeetingLines()); }
2. Sinais de negociação combinado com o indicador Estocástico
A abertura de posição comprada/vendida é realizada quando ocorre a formação de um dos modelos de vela altista/baixista e há uma confirmação do oscilador Estocástico. A linha do sinal %D deve ser maior/menor que os níveis críticos correspondentes (30 ou 70).
Um sinal e fechamento é formado em dois casos:
- Quando é formado um padrão de vela oposto (um altista para a posição comprada e um baixista para a posição vendida).
- De acordo com o comportamento subsequente de %D. Se a linha %D atingiu o nível crítico oposto (80 para posição comprada e 20 para posição vendida) ou se a linha %D não confirma o sinal reverso e atinge o nível crítico (20 para posição comprada e 80 para posição vendida).
Verifica as condições de entrada e saída do mercado realizado pelos seguintes métodos:
- int CCP_Stoch::LongCondition() - verifica as condições de abertura de posição comprada (m_pattern_0) e o fechamento de uma posição vendida (m_pattern_1);
- int CCP_Stoch::ShortCondition() - verifica as condições de abertura de posição vendida (m_pattern_0) e o fechamento de uma posição comprada (m_pattern_1).
2.1. Abertura de posição comprada e fechamento de posição vendida
-
O sinal para abrir uma posição comprada se produz quando se combinam um padrão de vela altista e a confirmação da condição StochSignal(1)<30 (o valor da linha de sinal do indicador Estocástico da última barra completa deve ser inferior a 30):
-
O sinal para fechar uma posição vendida se produz quando ocorre um padrão de vela altista ou caso a linha do indicador Estocástico cruzar para cima os níveis críticos (20 ou 80).
//+------------------------------------------------------------------+ //| Método para verificar a formação dos modelos de mercado | //| Verifica as condições de | //| entrada (abertura de posição comprada, m_pattern_0) | //| saída (fechamento de posição vendida, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::LongCondition() { int res=0; //---- verificando as condições de abertura de posição comprada //---- formação do padrão altista e a linha de sinal do indicador Estocástico<30 if(CheckPatternAllBullish() && (StochSignal(1)<30)) res=m_pattern_0; // sinal para abrir uma posição comprada //--- verifica as condições para fechar uma posição vendida //--- formação do padrão altista ou cruzamento da linha de sinal (acima de 20, acima de 80) if(CheckPatternAllBullish() || ((StochSignal(1)>20) && (StochSignal(2)<20)) || ((StochSignal(1)>80) && (StochSignal(2)<80))) res=m_pattern_1; // sinal para fechar posição vendida //--- return(res); }
2.2. Abertura de posição vendida e fechamento de posição comprada
-
O sinal para abrir uma posição comprada se produz quando se combinam um padrão de vela altista e a confirmação da condição StochSignal(1)>70 (o valor da linha de sinal do indicador Estocástico da última barra completa deve ser superior a 70):
-
O sinal para fechar uma posição comprada se produz quando ocorre um padrão de vela baixista ou caso a linha do indicador Estocástico cruzar para baixo os níveis críticos (80 ou 20).
//+------------------------------------------------------------------+ //| Método para verificar a formação dos modelos de mercado | //| Verifica as condições de | //| entrada (abertura de posição vendida, m_pattern_0) | //| saída (fechamento de posição comprada, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::ShortCondition() { int res=0; //--- verificando as condições de abertura de posição vendida //---- formação do padrão baixista e linha de sinal do indicador Estocástico>70 if(CheckPatternAllBearish() && (StochSignal(1)>70)) res=m_pattern_0; // sinal para abrir uma posição vendida //--- verifica as condições para fechar uma posição comprada //---- formação do padrão baixista ou cruzamento da linha de sinal (abaixo de 80, abaixo de 20) if(CheckPatternAllBearish() || ((StochSignal(1)<80) && (StochSignal(2)>80)) || ((StochSignal(1)<20) && (StochSignal(2)>20))) res=m_pattern_1; // sinal para fechar uma posição comprada //--- return(res); }
2.3. Criando um Expert Advisor baseado nos sinais de negociação "Padrões de velas + Estocástico" usando o Assistente MQL5
A classe CCP_Stoch não está incluída na Biblioteca Padrão de sinais de negociação. Portanto, baixe o arquivo ccp_stoch.mqh (em anexo) e salve-o no diretório \terminal_folder\Include\Expert\Signal\MySignals para usá-lo. O arquivo candlepatterns.mqh deve ser copiado para o mesmo diretório de ccp_stoch.mqh. Em seguida, reinicie o MetaEditor para ser possível utilizá-lo no Assistente MQL5.
Para criar um robô de negociação seguindo esta estratégia via Assistente MQL5, selecione o tipo de sinal "Sinais baseado em Padrões de vela + Estocástico" no segundo passo:
Fig. 1. Selecionando o gerador de sinais de negociação "Sinais baseado em Padrões de vela + Estocástico" no Assistente MQL5
Nos passos seguintes, você deve especificar o tipo de trailing stop e o sistema de gerenciamento do dinheiro. O código do Expert Advisor é gerado automaticamente. Agora, ele deve ser compilado para começar os testes.
2.4. Resultados do teste
Resultados do teste do Expert Advisor com dados históricos (EURUSD H1, período de teste: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).
Este Expert Advisor usa o módulo de volume de negociação fixo de 0.1 lote (Negociação com lote fixo). Trailing stop não é utlizado (Trailing não utilizado).
Fig. 2. Resultados do teste com o Expert Advisor, baseado em "Sinais baseado em Padrões de vela + Estocástico"
O melhor conjunto dos parâmetros de entrada podem ser encontrado utilizando o Strategy Tester do terminal cliente MetaTrader 5.
O código do Expert Advisor, criado pelo Assistente MQL5 se encontra em anexo em expert_cp_stoch.mq5.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/327
Script simples para embaralhar todas as cores do seu gráfico. Basta clicar sobre ele e veja os resultados você mesmo!
Expert Advisor Demonstrando a Aplicação do LibCustomChartO Expert Advisor mostra o uso da biblioteca LibCustomChart para a ligação automática dos indicadores para gráficos personalizados iCustomChart criados com base em arquivos do histórico customizado.
IREA é um algoritmo de negociação automatizado baseado na idéia de que um impacto incomum nas alterações de preços serão ajustados por um movimento inverso.
Awesome Oscillator DivergenceEste indicador irá traçar linhas de divergência sobre o indicador Awesome_Oscillator, dando sinais de compra e venda por meio da exibição de flechas.