Hilfe bei der Codierung - Seite 192

 

Hallo mladen,

ich versuche seit langem, diesen Indikator einzubauen, anzuwenden und einige Codes zu machen, er hat Anzeige-, keine Refresh- und Repaint-Probleme, aber ich weiß nicht, warum er das nicht hat, könntest du mir den Grund sagen? aber er hat auch eine große Schwäche, dass er nur Signale oder Werte nach dem Schließen des Kerzenbalkens berechnet, wenn die Kerze noch läuft, wird er keine Signale oder Werte ändern, aber ich benutze genau die gleiche Berechnungsformel wie die CCI-Testindikatoren, die ich dir vorher geschickt habe, warum hat er so unterschiedliche Ergebnisse? was hat der Code im Inneren getan, um solche Unterschiede zu machen? Aber ich hoffe, es kann berechnen, wie Ihre, können die Werte und Signale sofort berechnen, wenn die Kerzen noch läuft (nicht nur nach dem Abschluss), sonst werden die Signale mindestens eine Kerze verzögern. wie man diesen Indikator zu verbessern, wenn ich will, dass es sofort Werte & Signale zu ändern, vielen Dank für Hilfe.

 

Hallo Coders,

hallo mladen,

ich habe auf meiner Festplatte einen Indikator gefunden, der eine Warnung anzeigt, wenn eine horizontale Linie vom Kurs berührt wird. Ich habe ihn ein wenig modifiziert und er funktioniert gut. Aber jetzt würde ich gerne etwas hinzufügen. Es kommt oft vor, dass eine genaue Linie nicht berührt wird und der Kurs einige Pips früher umkehrt. Jetzt könnte ich viele weitere Linien in den Chart zeichnen oder ich versuche, diesen Indikator so zu modifizieren, dass er nicht nur eine Warnung anzeigt, wenn die Linie im Chart berührt wird, sondern ein paar Pips höher oder niedriger. So sollte der Indikator eine Warnung anzeigen, wenn die Preise die Linie im Chart +5 Pips oder Linie -5 Pips berührt.

Meine Idee ist es, diese Linie zu ändern:

if (High[0]>=line && line>=Low[0]) in etwas wie dieses zu ändern:

if ((High[0]>=line+0.0005 && line+0.0005>=Low[0]) || (if (High[0]>=line-0.0005 && line-0.0005>=Low[0]))

Offensichtlich funktioniert das nicht... Ich habe keine Ahnung, warum... :-/

Und ein weiteres Problem ist, dass dies nur für 1.XXXX Preise funktioniert. Ich kann 0.0005 nicht für Yen-Paare oder Index-CFDs verwenden.

Ich würde mich freuen, wenn jemand das Problem lösen kann.

Vielen Dank!!!

Hier ist der Code:

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

//| LINE_ALERT.mq4 |

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

extern bool Benachrichtigung=true;

extern bool displayAlert=true;

string Text;

#property indicator_chart_window

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

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

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

int init()

{

//---- Indikatoren

//----

return(0);

}

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

//| Benutzerdefinierte Funktion zur Deinitialisierung von Indikatoren |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

//----

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Eine Meldung pro Takt.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

double line = ObjectGet(name, OBJPROP_PRICE1);

}

sonst continue; // Nicht HLINE

if (High[0]>=line && line>=Low[0])

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Keine weiteren Alerts.

if (Benachrichtigung) SendNotification(Text);

}

}

//----

return(0);

}

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

 
Marbo:
Hallo Coders,

hallo mladen,

ich habe auf meiner Festplatte einen Indikator gefunden, der eine Warnung anzeigt, wenn eine horizontale Linie vom Kurs berührt wird. Ich habe ihn ein wenig modifiziert und er funktioniert gut. Nun möchte ich aber noch etwas hinzufügen. Es kommt oft vor, dass eine genaue Linie nicht berührt wird und der Kurs einige Pips früher umkehrt. Jetzt könnte ich viele weitere Linien in den Chart zeichnen oder ich versuche, diesen Indikator so zu modifizieren, dass er nicht nur eine Warnung anzeigt, wenn die Linie im Chart berührt wird, sondern ein paar Pips höher oder niedriger. So sollte der Indikator eine Warnung anzeigen, wenn die Preise die Linie im Chart +5 Pips oder Linie -5 Pips berührt.

Meine Idee ist, diese Linie zu ändern:

if (High[0]>=line && line>=Low[0]) in etwas wie dieses zu ändern:

if ((High[0]>=line+0.0005 && line+0.0005>=Low[0]) || (if (High[0]>=line-0.0005 && line-0.0005>=Low[0]))

Offensichtlich funktioniert das nicht... Ich habe keine Ahnung, warum... :-/

Und ein weiteres Problem ist, dass dies nur für 1.XXXX Preise funktioniert. Ich kann 0.0005 nicht für Yen-Paare oder Index-CFDs verwenden.

Ich würde mich freuen, wenn jemand das Problem lösen kann.

Vielen Dank!!!

Hier ist der Code:

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

//| LINE_ALERT.mq4 |

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

extern bool Benachrichtigung=true;

extern bool displayAlert=true;

string Text;

#property indicator_chart_window

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

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

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

int init()

{

//---- Indikatoren

//----

return(0);

}

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

//| Benutzerdefinierte Funktion zur Deinitialisierung von Indikatoren |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

//----

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Eine Meldung pro Takt.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

double line = ObjectGet(name, OBJPROP_PRICE1);

}

sonst continue; // Nicht HLINE

if (High[0]>=line && line>=Low[0])

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Keine weiteren Alerts.

if (Benachrichtigung) SendNotification(Text);

}

}

//----

return(0);

}

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

Marbo

Sie können etwas wie in der Anlage machen. Das einzige, was Sie überarbeiten sollten, ist, was genau der Abstand in Pips von einer Linie bedeuten soll (+ oder - im Falle von Hoch oder Tief)

Dateien:
 

Großartig! Danke!

 
zilliq:
Hallo Mrtool und Mladen,

Kann mir jemand von euch erklären, wie der TSV Bullish & Bearish Indikator konstruiert ist? Ich habe keine Informationen darüber gefunden?

Danke

Zilliq

Zilliq es gibt eine Version hier https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 mit dem Quellcode.

 
cwu:
Wenn ich 0 eingebe, bedeutet das, dass es keinen SL oder TP gibt? Nochmals vielen Dank.

Cwu,

Ja, das sollte es.

 

Leute

Ich habe die TSV Bullish & Bearish überprüft und die älteste, die ich gefunden habe, ist von 2007. Wenn das die Formel ist, dann ist es nichts anderes als ein Gann hoch niedrig Aktivator in ein bisschen andere Form (die Essenz - die Berechnung - ist die gleiche)

 

Danke, Leute,

Ich werde sehen, dass dieses Wochenende und ich werde die TSV Bearish / bullish ich habe Post

Ich bin Vet in Frankreich und arbeite morgen, so werde ich am Sonntag überprüfen

Ich habe bereits ein Gann hoch und niedrig, vor allem mit einer glatten Version, so muss es einfach sein

Ich wünsche Ihnen ein schönes Wochenende und danke für alles

Zilliq

 

Mladen,

Ich habe eine weitere Frage zum Linienalarm-Indikator. Im Moment funktioniert er mit horizontalen Linien. Ich habe auch versucht, Trendlinien mit OBJ_TREND zu implementieren, aber es gibt ein Problem, das ich nicht verstehe. Ich habe vor vielen Monaten in einem anderen Forum gelesen, dass der Anfangs- und Endpunkt der Trendlinie bestimmt werden muss. Könnten Sie mir bitte sagen, wie man das macht? Oder ist das viel schwieriger, als ich es mir vorstelle?

Mit freundlichen Grüßen,

Marbo

 
Marbo:
Mladen,

Ich habe eine weitere Frage zum Linienalarm-Indikator. Im Moment funktioniert er mit horizontalen Linien. Ich habe auch versucht, Trendlinien mit Hilfe von OBJ_TREND zu implementieren, aber es gibt ein Problem, das ich nicht verstehe. Ich habe vor vielen Monaten in einem anderen Forum gelesen, dass der Anfangs- und Endpunkt der Trendlinie bestimmt werden muss. Könnten Sie mir bitte sagen, wie man das macht? Oder ist das viel schwieriger, als ich es mir vorstelle?

Mit freundlichen Grüßen,

Marbo

Marbo

Den Anfangs- und Endpunkt brauchen Sie eigentlich nicht zu kennen. Sie können die Werte auf eine andere Weise abrufen (mit der Funktion ObjectGetValueByShift(), die den Preis 0 zurückgibt, wenn sie einen Preis außerhalb der Trendlinie sucht). Ein Beispiel dafür, wie es gemacht werden kann, finden Sie in diesem Beitrag: https: //www.mql5.com/en/forum/177603/page3