Fragen Sie! - Seite 53

 

Alarm

Wie schreibe ich einen Alarm, damit er nur 1 Mal ausgelöst wird und nicht immer wieder?

Danke für die Hilfe.

Jo

 

Viele Funktionen sind hier https://www.mql5.com/en/forum/174329

Und der alert_once Thread ist hier https://www.mql5.com/en/forum/172885

 

Bitte überprüfen Sie diese Aussage - Bitte um Bestätigung!

iLow(NULL,0,Lowest(NULL,0,MODE_LOW,1,4)<=0)

Bedeutet dies, dass der niedrigste Wert meines Indikators (4 Balken zurück) kleiner oder gleich 0 sein sollte? Wenn nicht, wie sollte es angegeben werden?

Dave Vielen Dank im Voraus!
 
iscuba11:
iLow(NULL,0,Lowest(NULL,0,MODE_LOW,1,4)<=0)

Bedeutet dies, dass der niedrigste Wert meines Indikators (4 Balken zurück) kleiner oder gleich 0 sein sollte? Wenn nicht, wie sollte es angegeben werden?

Dave Vielen Dank im Voraus!

Das ist nicht richtig. Sie können in Beitrag 516 auf Seite 52 nachsehen.

Die Art und Weise, wie Sie den niedrigsten Wert des Indikators berechnen, ist nicht korrekt.

 
asmdev:
Das ist nicht richtig, Sie können in Beitrag 516 auf Seite 52 nachsehen, dass die Art und Weise, wie Sie den niedrigsten Wert des Indikators berechnen, nicht korrekt ist.
double lowestFG=9999, highestFG=-9999;//FG short for Forex_Grail, the name of my indicator histogram file.

int currentBar=0;

int endBar=4;

for(currentBar=0;currentBar<endBar; currentBar++)

lowestFG=MathMin(lowestFG, iForex_Grail(Symbol(),0,17,PRICE_CLOSE,currentBar)); //0 = anytime, 17 = maperiod of indicator.

if lowestFG <= 0 then go to next statement
Liest sich das richtig? Dave

Wenn ich dies in mein EA-Programm einfüge, sagt es, dass die Funktion iForex_Grail nicht definiert ist? Forex_Grail ist der Name meines benutzerdefinierten Indikators.

Vielleicht muss es heißen: lowestFG=MathMin(lowestFG, iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar)); ??

 

Ich habe meinen Fehler gefunden!

Dave

 

Zu viele Nachkommastellen!! - Bitte um Rat.

Wie kann ich die Anzahl der Dezimalstellen begrenzen, die eine Kommentaranweisung im Diagramm anzeigt. Im Moment zeigt es ein variables Ergebnis als .00347892 an, und ich möchte, dass es nur .0035 anzeigt (gerundet auf die nächste Zahl)?

Vielen Dank für Ihren Beitrag! Dave
 
double lowestFG=9999, highestFG=-9999;

int currentBar=0;

int lastBar=4;

for(currentBar=0;currentBar<lastBar; currentBar++)

lowestFG=MathMin(lowestFG, iCustom(NULL,0,"Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar));

Print ("Low =",lowestFG);

Dies liest aus dem Puffer ' 0 ' des Indikators[0,00 bis positiv](funktioniert gut!). Wie bekomme ich es hin, aus dem Puffer' 1' des Indikators [0.00 bis negativ] zu lesen?

Anweisungsdefinition: double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) - An keiner Stelle wird eine Puffernummer verlangt?????????????? BITTE HILFE!!!! Es scheint in Puffer ' 0 ' gesperrt zu sein.

Bitte klären Sie mich auf!!

Dave

 

iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)

mode' ist Ihr Puffer

iCustom( ... ...Indikatorparameter hier ... , 0, currentBar) - liest aus Puffer 0

iCustom( ... ...Indikator-Parameter hier ... , 1, currentBar) - liest aus dem 1.

einige Informationen hier http://docs.mql4.com/indicators/iCustom

lowestFG=9999 sollte OK sein, aber um sicher zu gehen kann man schreiben

lowestFG = iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,1,currentBar) statt

Die Funktion DoubleToStr(http://docs.mql4.com/convert/DoubleToStr) begrenzt die Anzahl der Nachkommastellen, meist verwendet, um ein schönes Aussehen für die Druck- oder Warnfunktion zu erhalten. Die Funktion rundet nicht, sondern schneidet einfach nicht benötigte Dezimalstellen ab.

Wenn Sie diesen Double # zum Vergleich mit einem anderen Double verwenden, haben Sie immer noch eine Menge # Nachkommastellen

Verwenden Sie NormalizeDouble(http://docs.mql4.com/convert/NormalizeDouble), um die Anzahl der Dezimalstellen dauerhaft zu begrenzen.

Laut Ihrer iCustom hat Ihr Indikator 2 Parameter: Periode und Preis (PRICE_CLOSE), überprüfen Sie, ob das korrekt ist

 
iscuba11:
Dies liest aus dem Puffer ' 0 ' des Indikators[0.00 bis positiv](Funktioniert OK!).

es ist Zufall, dass es funktioniert ok, Wenn Ihr FG-Indikator hat 2 Parameter (Periode & Preis) müssen Sie 1 mehr param in der iCustom wie in prev post, wenn Ihr FG-Indikator hat 1 param(Periode) dann ersetzen PRICE_CLOSE mit Puffer #(0 oder 1 oder 2 oder ...)