Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo Mladen!
Ich denke der Aufruf meines iCustoms ist richtig, denn im Test und normal (Daten exportieren oder als indi verwenden)
funktioniert es bis jetzt einwandfrei. Ich denke das Problem ist wie du erwähnt hast value double/array.
Wenn ich jetzt einen
double mom1[];
mom1 = iCustom(NULL,0, "myIndi",0,i);
und als ein -> mom(mom1,Bars,20,i);
-> "mom" - Parameter conversation nicht erlaubt
Wie kann ich das richtig schreiben?
Vielen Dank und auf Wiedersehen, ATVersuch es mal so:
Also, change the mom function to be like this :
[PHP]double Mom(double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); }Hallo Mladen!
Danke für deine Hilfe!
Mein Problem ist, dass ich die "const" brauche, weil andere Teile des Programms sie brauchen...
Alles" neu zu schreiben ist zu viel Arbeit, also ist die Frage, ob ich es andersherum machen kann,
so dass die mom1 mit der Unterfunktion funktioniert?
Vielen Dank und auf Wiedersehen, AT
Hallo Mladen!
Vielen Dank für Ihre Hilfe!
Mein Problem ist, dass ich die "const" brauche, weil andere Teile des Programms sie brauchen...
Alles" neu zu schreiben ist zu viel Arbeit, also ist die Frage, kann ich es andersherum machen,
so dass die mom1-Funktion mit der Unterfunktion funktioniert?
Vielen Dank und tschüss, ATSie können die mom-Funktion so verwenden, wie sie ist (und den Rest)
Ändern Sie einfach mom(mom1,Bars,20,i); in mom(mom1,Bars,20,i);
dann bekomme ich den Fehler:
-> "mom1" - Parameter conversation not allowed
Mann, ist das kompliziert... irgendeine andere Idee?
Danke und tschüss, AT
dann bekomme ich den Fehler:
-> "mom1" - Parameter Konversation nicht erlaubt
Mann, das ist knifflig... irgendeine andere Idee?
Danke und auf Wiedersehen, ATIch bekomme diesen Fehler nicht
Siehe das Beispiel:
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
double mom = Mom(buffer,10,50,0);
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}Kompiliert ohne jegliche Fehler
Hallo Mladen!
Vielleicht liegt es an einer for {} Funktion? (um die Balken zu erhalten?) oder wegen der...
der andere Punkt ist: mom1 ist eine benutzerdefinierte Indi... mom1 = iCustom(NULL,0, "myIndi",0,i);
was ich hier aufrufe: mom(mom1,Bars,20,i);
Vielen Dank für Ihre Hilfe!!
Tschüss, AT
Hallo Mladen!
Vielleicht liegt es an einer for {} Funktion? (um die Balken zu erhalten?) oder wegen der...
der andere Punkt ist: mom1 ist eine benutzerdefinierte Indi... mom1 = iCustom(NULL,0, "myIndi",0,i);
was ich hier aufrufe: mom(mom1,Bars,20,i);
Vielen Dank für Ihre Hilfe!!
Tschüss, ATNein, das kann nicht die Ursache sein
Siehe dieses Beispiel:
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
buffer = iCustom(NULL,0,"custom name",0,i);
double mom = Mom(buffer,10,50,i);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}Auch, keine Compiler-Fehler überhaupt
Hallo Mladen!
Vielleicht, weil mein Code eher so aussieht, und es gibt einen "Fehler"... :-/
#property indicator_chart_window
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
double mom1;
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);Danke und tschüss, AT
Hallo Mladen!
Vielleicht, weil mein Code eher so aussieht, und es gibt einen "Fehler"... :-/
#property indicator_chart_window
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
double mom1;
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);bei120
In deinem Code ist mom1 als double (einfache double-Variable) und nicht als Array oder Puffer definiert.
Definiere sie auf die gleiche Art und Weise wie der "buffer" definiert ist, füge sie in der init Sektion zu buffers hinzu und es wird OK sein (stelle sicher, dass du die Anzahl der buffers entsprechend anpasst)
Hallo Malden!
Danke für deine Unterstützung! ;-)
Sogar, wenn ich den Code so schreibe, wie du mir gesagt hast:
(Ich denke schon...)
#property indicator_chart_window
double buffer[];
double mom1[];
int init() { SetIndexBuffer(0,buffer); SetIndexBuffer(1,mom1);return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
//doesn't work - no value in indi
// Mom(mom1,10,Bars,i); //error: parameter conversation not allowed
// mom1 // this works
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);Also wenn ich die "Erste" Version verwende, bekomme ich keinen Wert...
Wenn ich die zweite Version verwende, bekomme ich den Fehler... hmmm.
Nur der Aufruf von mom1 funktioniert... aber das ist nicht der richtige Wert...
Vielen Dank für Ihre Hilfe!
Tschüss, AT