O autor da ideia é Maksim, e o autor do código mq5 é barabashkakvn.
O Expert Advisor utiliza dois indicadores ZigZag para análise: um ZigZag menor com parâmetros (13.5,3) e um ZigZag maior, cujos parâmetros são multiplicados por oito: (13*8,5*8,3*8).
//--- cria o handle do indicador iCustom handle_iCustom=iCustom(Symbol(),Period(),"Examples\ZigZag",13,5,3); //--- se o handle não foi criado if(handle_iCustom==INVALID_HANDLE) { //--- informar sobre a falha e mostrar o código de erro PrintFormat("Falha ao criar o handle do indicador iCustom para o símbolo %s/%s, código de erro %d", Symbol(), EnumToString(Period()), GetLastError()); //--- o indicador é interrompido prematuramente return(INIT_FAILED); } //--- cria o handle do indicador iCustom handle_iCustomX8=iCustom(Symbol(),Period(),"Examples\ZigZag",13*8,5*8,3*8); //--- se o handle não foi criado if(handle_iCustomX8==INVALID_HANDLE) { //--- informar sobre a falha e mostrar o código de erro PrintFormat("Falha ao criar o handle do indicador iCustomX8 para o símbolo %s/%s, código de erro %d", Symbol(), EnumToString(Period()), GetLastError()); //--- o indicador é interrompido prematuramente return(INIT_FAILED); }
Para tomar uma decisão de negociação, as duas pernas do último pico do ZigZag maior (13*8,5*8,3*8) são analisadas, enquanto o número de picos do ZigZag menor (13,5,3) contidos nessas duas pernas é contado.
Se um sinal para abrir uma posição de COMPRA for recebido, todas as posições de VENDA são fechadas. E vice-versa: se um sinal para abrir uma posição de VENDA for recebido, todas as posições de COMPRA são fechadas.
Parâmetros do Expert Advisor:
- k é a razão do número de picos do ZigZag menor nas pernas do ZigZag maior
- k2 é a razão da diferença de preço nos picos do ZigZag maior
Exemplo:

O ZigZag maior (13*8,5*8,3*8) é mostrado em vermelho, enquanto o ZigZag menor (13,5,3) é amarelo.
Assim, ABC são os picos do ZigZag maior (13*8,5*8,3*8).
As pernas AB e AC contêm nove picos do ZigZag menor (13,5,3).
Resultados dos testes no EURUSD, M1:

Comentário 0