[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 255
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
Guten Tag meine Herren, bitte helfen Sie mir noch einmal mit dem Skript zur Objektbeseitigung.
Das Skript entfernt mehrere Objekte nach Namen, aber beim Starten erscheint hundert Fehler (genauer gesagt, die gleiche, aber viele Male) Hilfe plz.
Ich nehme an, dass dieser ausgefallene Code dazu dient, alle Objekte mit Zahlen im Namen aus dem Diagramm zu löschen? Dann setzen Sie else vor alle ifs, außer dem ersten. Sonst fällt Ihr Index x schon bei der ersten Iteration in den negativen Bereich.
Guten Tag meine Herren, bitte helfen Sie mir noch einmal mit dem Skript zur Objektbeseitigung.
Skript tötet einige Objekte nach Namen, aber beim Start erscheint eine gute hundert Fehler (genauer gesagt, die gleiche, aber viele Male) Hilfe ps.
Ersetzen Sie diese Schleife for (int x = ObjectsTotal(); x>0 ; x--) (korrigieren Sie nur Fehler, wie more or equal und ziehen Sie 1 von der Anzahl der Objekte ab) und entfernen Sie alle "x--;" in den ifs
helfen Sie mir bei der Einfärbung des Indikators, ich möchte, dass er grün ist, wenn der Wert steigt, und rot, wenn er sinkt
Hier ist der Code:
hier ist einer, der hilft
https://www.mql5.com/ru/articles/1451
Implementierung von dreifarbigen Indikatoren und einigen Funktionen, die das Schreiben von Indikatoren so einfach wie möglich machen
Ich verstehe, dass dieser komplizierte Code dazu dient, alle Objekte mit einer Ziffer im Namen aus der Tabelle zu entfernen? Dann setzen Sie vor alle if, außer dem ersten, und else ebenfalls. Denn schon bei der ersten Iteration fällt Ihr Index x in den negativen Bereich.
Es wird nicht scheitern, da es sehr schwer ist, ein Objekt mit einem negativen Index zu finden, oder besser gesagt, es könnte scheitern, aber höchstens um eins.Liebe Fachleute, bitte helfen Sie. Die Idee ist, dass der EA einen Auftrag erstellt und dann denselben Auftrag erneut erstellt, wenn dieser Auftrag fehlschlägt. Aber das tut sie nicht?
//--------------------------------------------------------------- 0 ----------------
int start() // Sonderfunktion start
{
int H=100; // Zeit einstellen - Sekunde
int Dist=10; // TP und SLeinstellen
double Lot=1; //setze lot
//--------------------------------------------------------------- 1 ----------------
double i=0,001;
double Cena=NormalizeDouble(Ask,3); // Preis normalisieren
double Preis=NormalizeDouble(Cena+i,5); // Finde Preis
double TP=Preis+Abstand*Punkt; // TPfinden
double SL=Preis-Abstand*Punkt; //Find SL
int x=1; // Erste Bedingung
int y=1; // Zweite Bedingung
//--------------------------------------------------------------- 2 ----------------
for (int pos=1; pos<=OrdersTotal(); pos++) // Schleife durch alle Bestellungen
{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // eine Bestellung markieren
{ if (AuftragGewinnmitnahme()==TP)
{ Alert("ausgelöst x");
x=2;
Pause;
}
}
else Print("Fehler ", GetLastError(), " wenn order number ", pos)auswählt;
}
//--------------------------------------------------------------- 3 ----------------
for (pos=1; pos<=OrdersTotal(); pos++) // Schleife durch alle Bestellungen
{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // eine Bestellung markieren
{ if (OrderOpenPrice()==Preis)
{ Alert("ausgelöst y");
y=2;
Pause;
}
}
else Print("Fehler ", GetLastError(), " wenn order number ", pos)auswählt;
}
//--------------------------------------------------------------- 4 ----------------
wenn (x==2&y==2)
{ Alert("Dieser Auftrag existiert bereits!!!");}
else { Alert("order has been sent",Symbol()," BUYSTOP ", Price," Pending...");
OrderSend(Symbol(), OP_BUYSTOP, Lot, Price, 0, SL, TP);
}
Sleep(H*60); // 60 Sekundenwarten
RefreshRates();
//--------------------------------------------------------------- 5 -------------------
Alert ("Das Skript hat seine Arbeit beendet -----------------------------");
return; // Beenden vonstart()
}
Ich habe MT4 (von forex4you) installiert, ich teste Strategien, aber die Kurse von M1 habe ich nur vom 2.09.2009, ich kann sie nicht über das Service-Archiv von Kursen laden,
Können Sie mir sagen, wo ich das Zitate-Archiv zumindest für 2009 herunterladen kann? Und noch etwas: Wenn ich das Datum im Strategietester einstelle, werden die Kurse nicht automatisch heruntergeladen.
Ich habe MT4 (von forex4you) installiert, ich teste Strategien, aber die Kurse von M1 habe ich nur vom 2.09.2009, ich kann sie nicht über das Service-Archiv von Kursen laden,
Können Sie mir sagen, wo ich das Zitate-Archiv zumindest für 2009 herunterladen kann? Wenn ich das Datum im Strategietester einstelle, werden die Kurse nicht automatisch heruntergeladen.
Versuchen Sie, den MT4 eines anderen Brokers zu installieren. (d.h. andere MT4).
Liebe Fachleute, bitte helfen Sie. Die Idee ist, dass der EA einen Auftrag erstellen und denselben Auftrag erneut erstellen soll, wenn dieser Auftrag fehlschlägt. Aber das passiert nicht?
Sie schafft ständig Aufträge - ohne Ende.
Liebe Fachleute, bitte helfen Sie. Die Idee ist, dass der EA einen Auftrag erstellt und dann denselben Auftrag erneut erstellt, wenn dieser Auftrag fehlschlägt. Aber das tut sie nicht?
//--------------------------------------------------------------- 0 ----------------
double Cena=NormalizeDouble(Ask,3); //Preis normalisieren
Es wird nicht in der Lage sein, die gleiche Reihenfolge zu erstellen, da sich Ask bei jedem Tick verändert. Und alle anderen Parameter und ihre Vergleiche in den Bedingungen werden aus dieser Variable berechnet.
Liebe Fachleute, bitte helfen Sie. Die Idee ist, dass der EA einen Auftrag erstellt und dann denselben Auftrag erneut erstellt, wenn dieser Auftrag fehlschlägt. Aber das passiert nicht?
Es gibt zwei Möglichkeiten, wie der EA/das Skript genau die gleiche Order öffnen kann, die wir festgelegt haben. Zunächst legen wir den Auftrag fest und schreiben alle seine Parameter in die Variablen, die sie speichern werden. Liegt keine Bestellung vor, schalten wir in den Standby-Modus. Sobald wir einen Zustand erreichen, in dem ein Auftrag mit diesen Parametern eingestellt werden kann, eröffnen wir einen Auftrag.
Zweitens. Sobald der Auftrag vom Markt verschwunden ist, gehen Sie die Historie durch und suchen Sie den letzten Auftrag. Wir zeichnen seine Parameter auf und schalten den Standby-Modus ein, wie wir es im ersten Fall getan haben.
Das Einzige, was ich sagen möchte. Wenn Sie die Logik des Programms so aufbauen, wie Sie es beschrieben haben und wie ich es hier erläutert habe, warten alle Aufträge auf die gleiche horizontale Ebene. Brauchen Sie das wirklich?