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
ZigZag Profissional - indicador para MetaTrader 5
- Visualizações:
- 9633
- Avaliação:
- Publicado:
- 2014.01.15 08:29
- Atualizado:
- 2016.11.22 07:33
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Atenção! Esta versão do indicador ZigZag se baseia no código ZigZag, e foi publicado aqui com a permissão de seu autor, PPC. Eu testei esta versão e corrigi um erro do algoritmo.
Este código é a versão em MQL5 do indicador Zigzag para o MetaTrader 4.
Atenção! A biblioteca AlexSTAL_OutsideBar.mqh deve estar localizada na pasta ..\MQL5\Include\ do cliente terminal MetaTrader 5.
É só isso?
Eu acho que o ZigZag é algo como uma compressão do gráfico de preço. O ZigZag pode ser calculado usando o preço da barra (por exemplo, Fechamento do preço) ou máxima/mínima dos preços da barra (o método mais comum usado).
Ao trabalhar com o ZigZag padrão, proposto pela MetaQuotes, eu encontrei alguns erros. O problema principal é que o ZigZag padrão não procede os casos de uma barra fora.
Em 2007 Rashid Umarov (Rosh) publicou o código Zigzag2 R com processamento de barras para fora (estilo DRAW_ZIGZAG em vez de DRAW_SECTION).
Vamos definir as características da implementação "correta" do ZigZag:
- As máximas e mínimas devem ser rigorosamente alternadas;
- A máxima deve ser maior (ou igual) que a quantidade de todas as barras do lado direito até a próxima mínima (oposto);
- A mínima deve ser menor (ou igual) que a quantidade de todas as barras do lado esquerdo até a próxima máxima (oposto).
Vamos considerar o uso do exemplo (EURUSD, H1, 2006, Dezembro 8-13). Aqui temos dois casos de barra para fora. O ZigZag típico não consegue construir a imagem "correta".
Figura 1. ZigZag típico com os parâmetros de entrada [12;5;3] e [12;0;0]
Figura 2. Zigzag2 R com os parâmetros de entrada [12;5;3]
Figura 3. Zigzag2 R com os parâmetros de entrada [12;0;0]
A primeira vista, a construção correta é apresentada na Figura 3, mas aqui vão algumas características:
- Neste caso tem-se uma construção correta por causa dos parâmetros de entrada, mas, geralmente, o algoritmo deve trabalhar com quaisquer parâmetros.
- A barra do lado de fora do lado esquerdo não está correta, devido a ordem de formação da barra máxima/mínima:
Os segmentos de ZigZag devem ser construídos da seguinte maneira.
Eu testei muitos casos dos seguintes algoritmos de ZigZag: ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF. Mas nenhum deles resolveu o problema corretamente.
Aqui encontramos as figuras com este indicador:
Figura 4. ZigZag Profissional com os parâmetros de entrada [12;0]
Figura 5. ZigZag Profissional com os parâmetros de entrada [23;0]
Algumas características desta versão:
- algoritmo de uma passagem
- ele recalcula e redesenha apenas o último segmento (o segmento não pode ser cancelado, exceto se houver atualizações no histórico)
- ele tem o algoritmo de otimização para os cálculos dentro da barra (ele não usa o recálculo sobre o tick, se o preço mudou dentro da barra 0 (incompleto) a mudança é menor do que a limiar definida pelo parâmetro de entrada MinMotion)
- Ele posusi dois algoritmos para ordenar a formação de máximas/mínimas: usando o tipo da barra (rápido, mas não é preciso), usando os dados de um tempo gráfico menor (ele precisa do histórico, você precisa verificar a presença e a exatidão ou é necessário modificar a biblioteca OutsideBar)
Aqui estão alguns exemplos adicionais de construções incorretas do ZigZag:
Figura 6. EURUSD, H1, 29 Novembro - 7 Dezembro. (Linha vermelha: ZigZag com os parâmetros de entrada [7;0;0]. Linha azul: Zigzag2 R com parâmetros de entrada [7;0;0].)
Figura 7. EURUSD, H1, 2010, 29 Novembro - 7 Dezembro. Construção correta dos segmentos de ZigZag.
Conclusão
Infelizmente esta versão não é perfeita, mas eu estou trabalhando nisso.
Devido ao algoritmo de canal (iHighest / iLowest), às vezes ele pula as máximas.
Favor me informar sobre os erros e as características deste indicador.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/263
Nova versão do sript sChartsSynchroScroll.
Assistente MQL5 - Sinais de Negociação baseados no Padrões Candles de Reversão (Barras de preço)Sinais de negociação são considerados com base em padrões candles de reversão. O código do Expert Advisor baseado nesta estratégia pode ser gerado automaticamente usando o Assistente MQL5.
Os Sinais de Negociação são considerados com base no cruzamento das linhas do indicador técnico Jacaré (Alligator), classe CSignalAlligator da Biblioteca Padrão MQL5. O código do Expert Advisor baseado nesta estratégia pode ser gerado automaticamente usando o Assistente MQL5.
Assistente MQL5 - Sinais de Negociação Baseados no cruzamento da linha Principal e das linhas de Sinais do indicador MACDOs Sinais de Negociação Baseados no cruzamento da linha Principal e das linhas de Sinais do indicador MACD (CSignalMACD da Biblioteca Padrão MQL5) serão utilizados aqui. O código do Expert Advisor com base nesta estratégia pode ser gerado automaticamente usando o Assistente MQL5.