[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 394
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
Alles klar!!!! Wenn es keine gewünschten Aufträge gibt, bleibt X gleich Null mit der gewünschten magischen Zahl und die Aufträge werden eröffnet. Wenn es welche gibt, ist X gleich 2 und es werden keine weiteren Aufträge eröffnet.
Wo liegt sonst das Problem?
- Im allerersten Moment wählen Sie mit der Funktion OrderSelect einen Auftrag aus, der noch nicht existiert.
in der ersten Schleife for(int Uy=OrdersTotal();Uy<=-1;Uy--) So was, gut der Zyklus läuft mehr für die Hoffnung, dann änderte ich es auf 0, gibt es keine Änderung in der Arbeit, das sind alles keine Fehler, sie nicht ändern, ich entschuldige mich.
Oh, was für ein Unsinn. Und am Anfang stimmt jedes Mal das Datum nicht, etwa 49 Mal. Ja!!!! X bleibt immer bei 0 und es wird gut geschrieben. In 2 Aufträgen.
Alles klar!!!! Wenn es keine gewünschten Aufträge gibt, bleibt X gleich Null mit der gewünschten magischen Zahl und die Aufträge werden eröffnet. Wenn es welche gibt, ist X gleich 2 und es werden keine weiteren Aufträge eröffnet.
Wo liegt sonst das Problem?
- Im allerersten Moment wählen Sie mit der Funktion OrderSelect einen Auftrag aus, der noch nicht existiert.
in der ersten Schleife for(int Uy=OrdersTotal();Uy<=-1;Uy--) So was, die Schleife läuft mehr für die Hoffnung, dann änderte ich es auf 0, gibt es keine Änderung in der Arbeit, das sind keine Fehler, sie nicht ändern, ich entschuldige mich.
Wie kann sie länger laufen als ?
Unabhängig davon, wie viele Aufträge offen sind, ist die Bedingung Uy<=-1 nicht sofort erfüllt, da die Anzahl der Aufträge sofort größer oder gleich Null ist
Helfen Sie mir, einen Fehler zu finden,
Dankeschön
Wenn die Ticks laufen, das Icon von EA "lächelt", EA sollte Geschäfte machen (d.h. die Bedingungen dafür erscheinen), aber er macht sie nicht, dann ist es notwendig, zu debuggen.
Ordnen Sie den Befehl price() im Code des EA, insbesondere an den Stellen, an denen verglichen wird, und sehen Sie nach, was genau verglichen wird. Vielleicht haben Sie einen Vergleich über die Gleichheit von Variablen mit dem Typ double und das Ergebnis des Vergleichs ist immer falsch, während Sie davon ausgehen, dass die Variablen gleich sind.
Vielen Dank für die Tipps!!! Ich habe mein Problem gelöst. Es stellte sich heraus, dass der Broker, den ich brauchte, um eine Marktorder zu platzieren, d.h. gemäß den Bedingungen, nicht die Möglichkeit hat, gleichzeitig Stop Levels zu platzieren. Jetzt werden die Aufträge ohne Stopp-Levels platziert, und ich setze die Stopp-Levels unmittelbar nach jedem Auftrag. Ich habe dabei ein Problem: Nur ein sehr kleiner Teil der Aufträge wird geändert, während die meisten Aufträge in der Sektion "Expert Advisors" die folgenden Ergebnisse anzeigen:
2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: öffnen #30906670 verkaufen 0.01 CLM1 bei 99.79 ok2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: ungültiges Ticket für OrderModify-Funktion
2011.05.19 09:55:40 Spacenewcomer-Svecha ESM1,M5: offen #30906787 kaufen 0.01 ESM1 bei 1337.50 ok
2011.05.19 10:00:03 Spacenewcomer-Svecha EURUSD,M15: Ungültiges Ticket für OrderModify-Funktion
Hier ist der Text des Codes:
{res=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,0,0, "basic",_MagicNumber,0,Red);
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+StopLoss*Point,Ask-TakeProfit*Point,0,Red);
zurück(0);
}
Und es ist der erste Auftrag, der nach dem Start des Expert Advisors geändert wird!
Natürlich habe ich die Reihenfolge im Code falsch geändert... Bitte um Rat!
Können Sie einen Code vorschlagen, um den Gewinn/Verlust des letzten offenen Auftrags zu ermitteln?
Am zuverlässigsten ist die Messung in Pips.