[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 282

 

Meine Herren, zeigen Sie uns, wie man einDivergenzsignal von einem Indikator(FX5_Divergence_V2.1.mq4) in einen EA übernimmt.

Die Puffer 2 und 3 des Indikators geben EMPTY_VALUE aus.

 
Hat jemand einen Tick-Collector, der die Tick-Historie wie folgt speichert: Tick-Ankunftszeit, asc, bid? Die Codebasis hat nur einen Tick-Collector ohne asc.
 
Sergey_Rogozin:

Meine Herren, zeigen Sie uns, wie man einDivergenzsignal von einem Indikator(FX5_Divergence_V2.1.mq4) in einen EA übernimmt.

Die Puffer 2 und 3 des Indikators geben EMPTY_VALUE aus.

Habe ich Ihr Drehbuch geschrieben? Es hat alles, was es braucht. Anstelle der Nachrichtenausgabe von Alert schreiben Sie Ihre Verarbeitung. Sie können in DoubleToString() anstelle von sechs Dezimalstellen acht schreiben, wenn es Nullen ausgibt. In jedem Fall sind die Signale vorhanden und das Skript liest sie. Setzen Sie Ihren Verstand ein und bemühen Sie sich.
 
artmedia70:
Habe ich Ihnen ein Drehbuch geschrieben? Es hat alles, was es braucht. Anstelle der Nachrichtenausgabe von Alert schreiben Sie Ihre Verarbeitung. Sie können in DoubleToString() anstelle von sechs Dezimalstellen acht schreiben, wenn es Nullen ausgibt. In jedem Fall sind die Signale vorhanden und das Skript liest sie. Setzen Sie Ihren Verstand ein und bemühen Sie sich.
Was für ein dickköpfiger Mann. Ich erkläre es ihm noch einmal an meinen Fingern.
Die leeren Werte der Puffer mit Pfeilen werden anstelle von Nullen mit Werten EMPTY_VALUE gefüllt, die numerisch gleich 2147483647 sind. Wo es Pfeile gibt, sind die Werte unterschiedlich, z. B. 0,000031.
Wir müssen "leere" Werte programmatisch herausfiltern, da sie im Vergleich dazu wie die Zahl 2147483647 aussehen.
Ich mache es zum Beispiel so und es funktioniert. Wer schlauer ist, kann es schöner machen.

double buy=iCustom(NULL,0,"FX5_Divergence_V2.1",2,CountBar);
// отфильтровывает значения EMPTY_VALUE, заменяя их на 0 
if(buy==EMPTY_VALUE) buy=0.0;
// теперь значения buy могут быть либо 0, либо значением стрелки, например, 0,000032
 
granit77:
Was für ein dickköpfiger Mann. Ich erkläre es ihm noch einmal an meinen Fingern.
Leere Werte von Puffern mit Pfeilen werden anstelle von Nullen mit Werten EMPTY_VALUE gefüllt, die numerisch gleich 2147483647 sind. Wo es Pfeile gibt, sind die Werte unterschiedlich, z. B. 0,000031.
Wir müssen "leere" Werte programmatisch herausfiltern, da sie im Vergleich dazu wie die Zahl 2147483647 aussehen.
Ich mache es zum Beispiel so und es funktioniert. Wer schlauer ist, kann es schöner machen.

Jetzt wird die Person schreiben, dass die Puffer 2 und 3 nur Nullen ausgeben :)))

Mann, was für eine einfache Logik: Wenn der Wert des Puffers NICHT gleich EMPTY_VALUE ist, bedeutet das, dass es einen Pfeil auf diesem Balken gibt und somit ein Signal.
Und wie man diesen leeren Wert darstellt und womit man ihn vergleicht, ist eine Frage des Geschmacks.

 
artmedia70:

Hier ist alles ein verdammtes Durcheinander...


Auf die Insel!!! :)

Ich habe die gleichen Zahlen (über Expert Advisor), aber das Datenfenster zeigt EMPTY_VALUE! Gibt es eine Möglichkeit, dies zu beheben?


 
granit77:
Ein sturer Mann. Ich erkläre es ihm noch einmal an meinen Fingern.
Die leeren Werte der Puffer mit Pfeilen werden mit EMPTY_VALUE mit dem numerischen Wert 2147483647 anstelle von Nullen gefüllt. Wo es Pfeile gibt, sind die Werte unterschiedlich, z. B. 0,000031.
Wir müssen "leere" Werte programmatisch herausfiltern, da sie im Vergleich dazu wie die Zahl 2147483647 aussehen.
Ich mache es zum Beispiel so und es funktioniert. Wer schlauer ist, kann es schöner machen.



grob verstanden.

 

Zu artmedia70.

Ich konnte das Skript wirklich nicht gebrauchen. Ich habe versucht, fast dasselbe zu tun wie granit77 ,aber es hat auch nicht funktioniert.

If(buy==EMPTY_VALUE) buy=0.0 ; - das Ergebnis ist immer "0". Ich habe Warnungen, die vom Indikator kommen, aber die Warnung, die an den Expert Advisor angehängt ist, funktioniert nicht.

Okay, danke, ich werde weiter "leiden" ...)))

 
Sergey_Rogozin:

Zu artmedia70.

Ich konnte das Skript wirklich nicht gebrauchen. Ich habe versucht, fast dasselbe zu tun wie granit77 ,aber es hat auch nicht funktioniert.

If(buy==EMPTY_VALUE) buy=0.0 ; - das Ergebnis ist immer "0". Ich habe Warnungen, die vom Indikator kommen, aber die Warnung, die an den Expert Advisor angehängt ist, funktioniert nicht.

Okay, danke, ich werde weiter "leiden" ...)))

Sie sind nicht der Einzige, der sich quält, ich bin schon dabei, den Indikator zu reparieren :)))
 
todem:

Ich habe die gleichen Zahlen (über EA), aber das Datenfenster zeigt EMPTY_VALUE! Gibt es eine Möglichkeit, dies zu beheben?

Was tun Sie, wenn Sie Pufferwerte auf dem Bildschirm ausgeben? Es sind ohnehin die numerischen Daten, die ausgegeben werden. Wenn Sie eine leere Zeichenkette oder "Empty Value" oder "EMPTY_VALUE" ausgeben wollen, geben Sie diese als String-Variablen aus.
D.h.:
String val;
if(buffer value==EMPTY_VALUE) val="EMPTY_VALUE";
Aber wenn(Pufferwert!=EMPTY_VALUE) val=DoubleToString(Pufferwert, 8);
und den Wert der Variablen val anstelle des Pufferwerts anzeigen.
Zum Beispiel: Kommentar ("Wert = ", val);