[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 227
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich möchte eine Funktion in meinen EA einbauen, die in der hinteren Ecke des Bildschirms eine Benachrichtigung über den aktuellen Trend auf verschiedenen Zeitrahmen und die bevorstehende Umkehrung anzeigt. Ich verwende zu diesem Zweck die Funktionen LinearRegression und Diverg, habe aber noch nie mit der FunktionComment gearbeitet und kann daher nicht verstehen, wo ich einen Fehler gemacht habe. Wie auch immer, der unten stehende Code zeigt nur die "Trend W = Down"-Meldung an, aber ich möchte, dass er auch Informationen für alle anderen TFs anzeigt.
void UPDN ()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) < 0) Comment("Trend H1 = Up");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comment("...!Pivot auf H1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) < 0) Comment("Trend H4 = Up");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comment("...!Pivot auf H4 = Down");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comment("Trend D1 = Up");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comment("..!Pivot auf D1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comment("Trend W = Up");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comment("...!Pivot nach W = Down");
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) > 0) Comment("Trend H1 = Down");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comment("...!Pivot auf H1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comment("Trend H4 = Down");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comment("...!Pivot auf H4 = Up");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comment("Trend D1 = Down");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!Pivot auf D1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comment("Trend W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comment("....W = Up");
return(0);
}
Liebe Kollegen-Profis, ich brauche eure Hilfe: Ich möchte in meinem EA eine Funktion einbauen, die in der hinteren Ecke des Bildschirms eine Benachrichtigung über den aktuellen Trend auf verschiedenen Timeframes und die bevorstehende Umkehrung anzeigt. Ich verwende zu diesem Zweck meine Funktionen LinearRegression und Diverg, habe aber noch nie mit der Funktion Comment gearbeitet und kann daher nicht verstehen, wo ich einen Fehler gemacht habe. Wie auch immer, der folgende Code zeigt nur die Meldung "Trend W = Down" an, aber ich möchte, dass er mich über andere TFs informiert.
void UPDN ()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diverg_Per_H1, 0) < 0) Comment("Trend H1 = Up")
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comment("...!Turn at H1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diverg_Per_H4, 0) < 0) Comment("Trend H4 = Up")
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comment("...!H4 Trendumkehr = Down")
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comment("Trend D1 = Up")
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comment("...!Pivot auf D1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comment("Trend W = Up");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comment(";)
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diverg_Per_H1, 0) > 0) Comment("Trend H1 = Down")
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comment("...!H1 Trendumkehr = Up");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comment("Trend H4 = Down")
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comment("...!H4 Trendumkehr = Up");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comment("Trend D1 = Abwärts")
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!Pivot auf D1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comment("Trend W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comment("...!Diverg to W = Up")
zurück(0);
}
Arrays können nicht an Comment() übergeben werden. Arrays müssen Element für Element gedruckt werden.
Daten vom Typ Double werden mit 4 Dezimalstellen nach dem Punkt ausgegeben. Um Zahlen mit höherer Genauigkeit zu drucken, verwenden Sie die FunktionDoubleToStr().
Die Typen bool, datetime und color werden als Zahlen gedruckt.
Um Datumsdaten als String auszugeben, verwenden Sie die FunktionTimeToStr().
Um die Ausgabe in mehrere Zeilen aufzuteilen, können Sie das Zeilenvorschubzeichen "\n" oder "\r\n" verwenden.
Siehe auchAlert() undPrint().
Danke, ich habe es verstanden. Ich muss Variablen entsprechend den Ergebnissen der Funktionen LinearRegression und Diverg für jede TF eingeben und sie dann mit einem Kommentar ausgeben, kann in mehreren Zeilen sein.
Danke, ich habe es verstanden. Ich muss Variablen entsprechend den Ergebnissen der Funktionen LinearRegression und Diverg für jede TF eingeben und sie dann mit einem Kommentar ausgeben, kann in mehreren Zeilen sein.
Es gibt nur eine Beschränkung in Bezug auf die Zeilenlänge. Sie können die Funktion von Alexander Pak verwenden. Wenn Sie es nicht finden können, werde ich selbst danach suchen.
Sehr geehrte Damen und Herren!
Ich habe eine Frage zur Übergabe eines Arrays per Referenz.
Der Algorithmus ist wie folgt aufgebaut:
Wir übergeben ein Array per Referenz von einer Bibliothek an eine andere.
Wir kopieren sie mit der eingebauten Funktion dorthin:
ArrayCopy.
Als nächstes wird das als Referenz übergebene Array verwendet
im ersten Modul.
Aber aus irgendeinem Grund tritt ein Fehler auf, und zwar nicht immer.
D.h. manchmal wird das Array kopiert, manchmal nicht.
Was ist der Grund dafür?
Der Protokolleintrag lautet wie folgt:
21:07:12 openHistory CADCHF,H1:
2 Arraybereiche für die ArrayCopy-Funktion (0 und 4)
Das liegt daran, dass Sie mein Beispiel falsch kopiert haben. Schauen Sie genau hin, wo das i und wo das k steht.
Ich habe den Code entsprechend dem Ihren korrigiert.
Beim Test wurden vier Aufträge in der Reihenfolge geschlossen, in der sie beim ersten Tick gesetzt wurden, der fünfte wurde beim nächsten Tick geschlossen. Wahrscheinlich ist hier etwas anderes falsch, denn ich habe es mehrmals getestet.
Ich stelle Ihnen den Code des Programms und die Protokolle des Testers zur Verfügung.
Mit freundlichen Grüßen. Shurkin
Sie müssen den Start wiederholen. Arbeiten Sie innerhalb der Schleife. Dort kann man alles machen.
Wenn die Verbindung unterbrochen wird, steht im Protokoll "Ping fehlgeschlagen". Das bedeutet, dass es zwar eine Verbindung gibt, diese aber aus irgendeinem Grund nicht dokumentiert ist.
Wie hoch ist die Belastung von CPU und Speicher durch die Schleifenbildung?
Guten Abend! Entschuldigen Sie mich, ich möchte auf ein ungelöstes Problem zurückkommen.
'Kaufen' - inkompatible Typen D:\TeleTRADE\experts/experts/clean.mq4 (102, 53)
'Sell' - inkompatible Typen D:\TeleTRADE\experts\clearlist.mq4 (102, 79)
Diese Zeile lässt sich nicht kompilieren.