ICustom-Funktion - Seite 5

 

Ok, danke, ich werde zu lesen und wieder lesen Sie diese ein paar Mal, um es und ja ich will es nur signalisieren, wenn BEIDE Linien gehen Blau oder Rot zur gleichen Zeit. Was wäre dann der Code für "Place Buy Trade"?

 
matrixebiz:
Ok, danke, ich werde das ein paar Mal lesen und wiederholen müssen, um es zu verstehen und ja, ich möchte, dass es nur ein Signal gibt, wenn BEIDE Linien gleichzeitig blau oder rot werden. Was wäre dann der Code für "Place Buy Trade"?

Der Begriff, der sich auf diesen Indikator bezieht, wäre einfach die Erwähnung der booleschen Variable, z. B. "both_go_blue" als Begriff in der Kaufbedingung und "both_go_red" als Begriff in der Verkaufsbedingung. Zur Veranschaulichung würde das wie folgt aussehen:

if ( .... && both_go_blue && ... ) ....

Beachten Sie, dass ich bezüglich des Indikators Annahmen getroffen habe, nämlich dass der Puffer jeder Anzeige entweder einen "leeren Wert" oder einen konstanten Wert hat, was für die blaue und die rote Anzeige auf derselben Zeile gleich ist. Wenn diese Annahme falsch ist, muss der eigentliche Code ein wenig komplizierter sein, aber wir werden diesen Bus nehmen, wenn er kommt.

 

Ok, danke für Ihre klaren Erklärungen. Ich sollte in der Lage sein, es jetzt Eine letzte Sache, wie würde ich es codieren, wenn ich nicht nur die aktuellen und vorherigen Balken vergleichen wollte, aber wollte sagen, "wenn Signale innerhalb dieser letzten 2-4 Balken dann noch die BUY-Bedingung erstellen" nicht mehr als 4 Balken Unterschied, wenn die Indikatoren mit einander übereinstimmen? Das würde die gesamte Kodierungslogik des EA ändern, richtig?

EDIT: Was habe ich außerdem getan, um eine Bedingung zu schaffen, bei der der EA ein KAUFEN auslöst, wenn ein Indikator ein Signal gibt und der andere Indikator kein Signal gibt, aber zumindest übereinstimmt und in die gleiche Richtung geht, und der KAUFEN-Handel trotzdem ausgelöst wird?

 
matrixebiz:
Ok, danke für deine klaren Erklärungen. Ich sollte jetzt in der Lage sein, es zu verstehen

Eine letzte Sache, wie würde ich es codieren, wenn ich nicht nur die aktuellen und vorherigen Balken vergleichen wollte, aber wollte sagen, "wenn Signale innerhalb der letzten 2-4 Balken übereinstimmen, dann immer noch die BUY-Bedingung erstellen" nicht mehr als 4 Balken Unterschied, wenn die Indikatoren mit einander übereinstimmen? Das würde die gesamte Kodierungslogik des EA ändern, richtig?

Richtig; Sie können dies auf zwei Arten angehen: 1) mit einem zustandsbehafteten EA, der vergangene Messwerte zum Vergleich mit aktuellen Messwerten speichert, oder 2) den Indikator weiter in die Vergangenheit ablesen. Ich halte den zweiten Ansatz für besser, da er einen robusteren EA ergibt, der ohne Bedenken neu gestartet werden kann. Und von der Leistung her sind die Ansätze ungefähr gleich.

Für (2) würden Sie, oder ich, einen Codeschnipsel verwenden, um rückwärts nach den Übergängen zu scannen, z.B. wie (im Prinzip):

bool top_went_blue_in_5 = false;

for ( int i = 1; i < 6; i++ ) {

if ( iCustom( ...., 0, i ) != EMPTY_VALUE ) continue; // is blue

if ( iCustom( ...., 1, i ) != EMPTY_VALUE ) {

top_went_blue_in_5 = ( i > 1 ); // Red at i, and blue after

break;

}

}[/PHP]

EDIT: also, what did I do to create a condition where the EA triggered a BUY when One indicator signaled and the other indicator didn't signal but was at least in agreement and going in the same direction, BUY trade was still triggered ??

You are getting fancy ...

It involves a) to represent the "right direction" concept, and then have a disjunctive condition of the form:

if ( ( buy_signal_A && buy_direction_B ) || ( buy_signal_B && buy_direction_A ) ) ...

or, you might prefer a nested condition structure:

[PHP]if ( buy_signal_A || buy_signal_B ) {

if ( buy_direction_A && buy_direction_B ) {

...

}

}
 

Ich sende Ihnen eine E-Mail

 

Matrix, können Sie mir helfen, wo ich die MTF CI indi bekommen kann? wissen Sie, wo ich die Stealth indies finden kann? Vielen Dank!

matrixebiz:
Ok, ich verstehe Shift, ich muss mehr über Mode lesen.

Können Sie coden? Ich habe diesen Indikator, den ich von meinem EA aus aufrufe, bin mir aber nicht sicher, wie ich ihn richtig einstelle. Siehe Bild.

es hat nur zwei Linien und wenn Blau sich ändert und mit der anderen Linie übereinstimmt, wird ein Long-Signal generiert (gleiche Idee mit Rot)

Versucht ein paar verschiedene Codes wie die, die ich mit dem VQ-Indikator verwendet;

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

Der Handel funktioniert einfach nicht richtig.

Danke
 

Matrixebiz, und Ralph,

Wenn Sie VQ für einen EA verwenden möchten, hat er eine Verzögerung von 2 Takten. Ich empfehle Ihnen dringend, meine Arbeit hier zu sehen:

https://www.mql5.com/en/forum/general

siehe Beitrag 319.

Ralph, können Sie mir bei einem meiner Probleme helfen? Ich werde es zu schätzen wissen!

Eine hier: https://www.mql5.com/en/forum/173219

Beitrag 702.

Ein anderes hier:

https://www.mql5.com/en/forum/173060 Beitrag 986

Danke!

Big Be

 

Benutzerdefinierte Indikatoren

eine Anleitung, wie man einen sexy und gut aussehenden Indikator erstellt

MQL4 Sprache für Neulinge. Benutzerdefinierte Indikatoren (Teil 2) - MQL4 Artikel

 

Wie erhalte ich mehrere Werte von benutzerdefinierten Indikatoren?

Hallo Leute,

Ich muss Werte von benutzerdefinierten Indikatoren mit der iCustom-Funktion abrufen, aber es scheint, dass iCustom nur einen Rückgabewert erhalten kann.

Wenn ein benutzerdefinierter Indikator mehr als einen Wert zurückgibt, wie kann ich dann einen bestimmten Wert erhalten, den ich brauche?

Zum Beispiel gibt ein Pivot-Indikator 2 oder mehr Werte von Support, Resistance ... zurück, wie kann ich also jeden Wert in einem Indikator erhalten?

Vielen Dank im Voraus

 

Normalerweise lesen Sie die Anzahl der Puffer im Indikator. Wenn es zwei Puffer gibt, dann mit iCustom jeden Puffer adressieren.

Beispiel:

double Buff0=iCustom(NULL, 0, "Pivot",13,0,0);

double Buff1=iCustom(NULL, 0, "Pivot",13,1,0);

double Buff2=iCustom(NULL, 0, "Pivot",13,2,0);

Wenn es nur zwei Puffer im Indikator gibt, bezieht sich Puffer 0 normal auf die Farbe des Indikators, die einen Anstieg darstellt. Puffer 1 normal bezieht sich auf den Puffer des Indikators, der nach unten geht.

Wenn der Indikator verschiedene Farben anzeigt, können Sie auf der Plattform das Fenster für die Indikatoreinstellung öffnen und die Farbeinstellung auswählen. Manchmal werden die Puffer und Farben in einer Reihenfolge aufgelistet, damit Sie sehen können, welcher Puffer (und welche Farbe) was bewirkt. Die Reihenfolge kann #1 sein, was Puffer 0 ist, Farbe grün (oder limone). und dann #2, was Puffer 1 ist, Farbe rot, und so weiter.

Ich hoffe, das hilft!