Hilfe bei der Codierung - Seite 154

 

Re

Ich möchte versuchen, das Ergebnis für 3 Zeilen Durchschnittswerte zu haben, ich habe dies kodiert, aber es funktioniert nicht, kann mir jemand helfen? Danke für Ihre Antwort!

#Eigenschaft copyright ""

#property link ""

#eigenschaft indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Gelb

//---- Eingabeparameter

extern int Länge = 14;

extern int Länge2 = 21;

extern int lenght3 =38;

double ExtMapBuffer1[];

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion

//+------------------------------------------------------------------+

int init()

{

//---- Indikatoren

SetIndexStyle(0,DRAW_LINE);

SetIndexPuffer(0,ExtMapPuffer1);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Funktion zur Deinitialisierung des Indikators |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

if(Balken<=1) return(0);

ExtCountedBars=IndicatorCounted();

//---- Prüfung auf mögliche Fehler

if(ExtCountedBars<0) return(-1);

//---- zuletzt gezählte Balken wird neu gezählt

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Balken-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1;

//---- Hauptberechnungsschleife

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicator1",length,0,pos)+

iCustom(NULL,0, "Indikator2",Länge2,0,pos)+

iCustom(NULL,0, "Indikator3",Länge3,0,Pos))/3.0;

}

return(median);

}

//+------------------------------------------------------------------+

 
bixwin:
Ich möchte versuchen, das Ergebnis für 3 Zeilen Durchschnittswerte zu erhalten. Ich habe dies kodiert, aber es funktioniert nicht.

#Eigentum Copyright ""

#Eigenschaft link ""

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Gelb

//---- Eingabeparameter

extern int Länge = 14;

extern int Länge2 = 21;

extern int lenght3 =38;

double ExtMapBuffer1[];

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion

//+------------------------------------------------------------------+

int init()

{

//---- Indikatoren

SetIndexStyle(0,DRAW_LINE);

SetIndexPuffer(0,ExtMapPuffer1);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Funktion zur Deinitialisierung des Indikators |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

if(Balken<=1) return(0);

ExtCountedBars=IndicatorCounted();

//---- Prüfung auf mögliche Fehler

if(ExtCountedBars<0) return(-1);

//---- zuletzt gezählte Balken wird neu gezählt

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Balken-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1;

//---- Hauptberechnungsschleife

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicator1",length,0,pos)+

iCustom(NULL,0, "Indikator2",Länge,,0,pos)+

iCustom(NULL,0, "Indikator3",Länge,0,Pos))/3.0;

}

return(median);

}

//+------------------------------------------------------------------+

bixwin

Ich habe bereits eine Frage gestellt: Wie lauten die genauen Namen der benutzerdefinierten Indikatoren, die Sie in der Berechnung verwenden möchten (ich meine, sie heißen doch nicht "indicator1", "indicator2" und "indicator3", oder?)

Sie müssen diese Namen durch die exakten Namen der Indikatoren ersetzen, die Sie in einem iCustom()-Aufruf verwenden möchten, sonst wird es nichts bringen. Außerdem sollte Ihre Startfunktion wie folgt aussehen (auch hier müssen Sie die Namen durch echte Namen ersetzen):

int start()

{

if(Bars<=1) return(0);

int ExtCountedBars=IndicatorCounted();

if (ExtCountedBars<0) return(-1);

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1;

while(pos>=0)

{

ExtMapBuffer1[pos] = (iCustom(NULL,0,"indicator1",length,0,pos)+

iCustom(NULL,0,"indicator2",length,0,pos)+

iCustom(NULL,0,"indicator3",length,0,pos))/3.0;

}

return(0);

}
 

Danke Mladen, der genaue Name ist "indicator1" für den ersten Indikator, "indicator2" für den zweiten und schließlich "indicator3" für den letzten. Ist es das, was Sie wollen?

 
bixwin:
Danke Mladen, der genaue Name ist "indicator1" für den ersten Indikator, "indicator2" für den zweiten und schließlich "indicator3" für den letzten. Ist es das, was Sie wollen?

bixwin

Bitte sehen Sie sich den Code für die Startfunktion im vorherigen Beitrag von mir an

 

Danke Mladen für deine schnelle Antwort,

es funktioniert nicht,

ich denke die Startfunktion ist nicht gut

Können Sie ein Beispiel für 3 benutzerdefinierte Indikatoren posten?

 
bixwin:
Vielen Dank, Mladen, für Ihre schnelle Antwort,

Es funktioniert nicht,

ich denke, die Startfunktion ist nicht gut

Können Sie ein Beispiel für 3 benutzerdefinierte Indikatoren posten?

bixwind,

Ich weiß nicht, was die "indicator1", "indicator2" und "indicator3" tun. Ich habe diese Indikatoren erstellt, die eigentlich nur einen gleitenden Durchschnitt berechnen, und sie im _test-Indikator verwendet (der die Medianberechnung durchführt, von der Sie ausgegangen sind), und es funktioniert gut (siehe, wie es auf dem Terminal aussieht). Wenn also die Parameter für Ihre benutzerdefinierten Indikatoren in Ordnung sind, sollte es auch funktionieren, da der Testindikator ebenfalls in Ordnung ist.

Dateien:
_test.mq4  1 kb
test.gif  41 kb
 

Vielen Dank, Mladen, es funktioniert!!!

 

Hallo, ein bisschen neu zu mt4 Codierung und brauchen etwas Hilfe.

Wie man Währung und Zeitrahmen Label wie diese in der unteren linken Ecke anzeigen: -

Die Zeitrahmen-Label wird auch ändern, wenn ich von anderen Zeitrahmen bewegen.

Dateien:
eu1.png  64 kb
eu2.png  43 kb
 
cawat:
Hallo, ich bin ziemlich neu in der mt4-Programmierung und brauche etwas Hilfe.

Wie kann man Währung und Zeitrahmen in der linken unteren Ecke anzeigen:-

Die Zeitrahmen-Label wird auch ändern, wenn ich von anderen Zeitrahmen bewegen.

cawat

Dies hier wird das tun. Sie können verschiedene Eigenschaften des Zeit-Symbol-Labels mit Hilfe von Parametern festlegen

Dateien:
 
mladen:
Marco bezüglich der EA-Erstellung - siehe diese Threads

:https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

Lieber MLaden,

Vielen Dank für die Hilfe, melde Dich mal wieder.

Viele Grüße Marco

Grund der Beschwerde: