Indikatoren: ChannelZZ

 

ChannelZZ:

Der ZigZag-Kanal

Fig.1 Der Indikator ChannelZZ

Autor: Nikolay Kositsin

 

Blinker ist nicht montiert, Fehler:

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

Blinker ist nicht montiert, Fehler:

Entweder benennen Sie alle Vorkommen von iBarShift() in z.B. BarShift() um, oder Sie kommentieren die Funktion iBarShift() im Code aus. Es gibt jetzt eine solche eingebaute Funktion.

Im ersten Fall verwendet der Indikator seine eigene Funktion - diejenige, die Sie umbenennen, im zweiten Fall - die Standardfunktion.

 
Artyom Trishkin:

Entweder benennen Sie alle Vorkommen von iBarShift() um, z.B. in BarShift(), oder Sie kommentieren die Funktion iBarShift() im Code aus. Es gibt jetzt eine solche eingebaute Funktion.

Im ersten Fall verwendet der Indikator seine eigene Funktion - diejenige, die Sie umbenennen werden, im zweiten Fall die Standardfunktion.

Die erste Option hat funktioniert. Danke.

 

Ich habe den Code korrigiert!

 

Hier gab es 15 Fehler

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

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

 

... beim Kompilieren der Fehler : Ausdruck nicht boolesch ZZ.mq5 217 17 Ausdruck nicht boolesch ZZ.mq5 217 30 Ausdruck nicht boolesch ZZ.mq5 217 43


 

Vitaliy Kostrubko #:

... beim Kompilieren erhielt ich eine Fehlermeldung: expression not boolean ZZ.mq5 217 17 expression not boolean ZZ.mq5 217 30 expression not boolean ZZ.mq5 217 43

Guten Morgen, das ist kein Fehler, sondern drei Warnungen. Wenn der Indikator funktioniert, können Sie sie vergessen. Die Bedeutung der Warnung ist einfach - der Ausdruck ist NICHT boolesch. Und warum? Weil der in Klammern eingeschlossene Ausdruck nicht logisch ist (d. h. er wird implizit infalsch oder wahr umgewandelt), und genau davor hat der Compiler gewarnt. Wenn etwas nicht klar ist, sehen Sie sich die vorherige Zeile 216 im Code an, und dann wird hoffentlich alles klar werden.

Mit freundlichen Grüßen, Vladimir.