Indicadores: ChannelZZ

 

ChannelZZ:

O desenho de ZigZag usando o princípio de canal.

O indicador exibe algumas estatísticas - A razão entre o tamanho do ponto de corte anterior e o tamanho do ponto de corte atual(o tamanho é a altura em pontos a partir do ponto mais baixo para o superior).

Fig.1 Indicador ChannelZZ

Autor: Nikolay Kositsin

 

O indicador não está montado, erro:

'iBarShift' - ambiguous call to overloaded function     channelzz.mq5   300     43
 
ilvic:

O indicador não está montado, erro:

Renomeie todas as ocorrências de iBarShift() para, por exemplo, BarShift(), ou comente a função iBarShift() no código. Já existe uma função incorporada.

No primeiro caso, o indicador usará sua própria função - aquela que você renomear para, no segundo caso - a função padrão.

 
Artyom Trishkin:

Renomeie todas as ocorrências de iBarShift() para, por exemplo, BarShift(), ou comente a função iBarShift() no código. Já existe uma função incorporada.

No primeiro caso, o indicador usará sua própria função - aquela que você renomeará para, no segundo caso - a função padrão.

A primeira opção funcionou, obrigado.

 

Corrigi o código!

 

Aqui deu 15 erros 

   int end=iBarShift(symbol,PERIOD_CURRENT,EndDraw);

   double preValue=(EndDrawValue-StartDrawValue)/(end-start);

 

... ao compilar o erro: expressão não booleana ZZ.mq5 217 17 expressão não booleana ZZ.mq5 217 30 expressão não booleana ZZ.mq5 217 43


 

Vitaliy Kostrubko #:

... Ao compilar, recebi um erro: expressão não booleana ZZ.mq5 217 17 expressão não booleana ZZ.mq5 217 30 expressão não booleana ZZ.mq5 217 43

Bom dia, isso não é um erro, mas três avisos. Se o indicador funcionar, esqueça-os. O significado do aviso é simples: a expressão NÃO é booleana. Por quê? Porque a expressão entre colchetes não é lógica (ou seja, é implicitamente convertida emfalso ou verdadeiro), que é o que o compilador advertiu. Se algo não estiver claro, observe a linha 216 anterior no código e, então, espero que tudo fique claro.

Saudações, Vladimir.