Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 219
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
All Buy und All Sell sind zwei verschiedene Skripte. Das war von Anfang an klar. Die Frage ist, ob es absolut alle Positionen schließen sollte. Oder sollten nur die Positionen geschlossen werden, die sich in dem Diagramm befinden, in dem das Skript ausgeführt wird? Sollen manuell eröffnete Positionen oder von einem Expert Advisor eröffnete Positionen oder beide geschlossen werden?
Das ist alles absolut richtig, aber je nach Art des Diagramms, auf dem das Skript basiert, ist es besser, alle möglichen Fehlermeldungen zu erhalten, um es so einfach wie möglich zu machen. Ich verwende keine Expert Advisors, ich bin im Moment nur am Ausprobieren, ich plane keine Aktivitäten in meinem Leben in den nächsten Monaten, deshalb habe ich beschlossen, einen Blick auf Forex zu werfen.
Es ist also die Verarbeitung von Handelsfehlern, die in diesem Fall den Unterschied zwischen einem guten Skript und einem Tutorium ausmacht. Wollen Sie daraus lernen oder wollen Sie, dass es zu 100 % funktioniert?
Wenn Sie nur das Prinzip wissen wollen, hier ist es:
Sie schließt sowohl den Kauf als auch den Verkauf ab.
Es gibt absolut keine Fehlerbehandlung. Sie können nur Kaufen oder nur Verkaufen für sich abschließen - entfernen Sie eine Zeile.
Na ja... nur kaufen:
Zu verkaufen:
Ich danke Ihnen vielmals. Das ist genau das, was ich brauche. Aber was sind rot und blau und wofür sind sie da? Sie zeigen wahrscheinlich den Rücksetzpunkt jeder Bestellung an, oder? Wenn ich es ausprobiere, werde ich es sofort in die Codebase von artmedia70 aufnehmen. Und nebenbei bemerkt, warum brauchen wir die Bearbeitung eines normalen Skripts, wenn das Skript korrekt ist und der Entwickler davon überzeugt ist?
Und vielleicht brauche ich nicht, um sie durch die Art und Weise und der Entwickler selbst hinzufügen, die artmedia70 wird auf die Codebase, werden sie sich herausstellen, dort benötigt werden, und ich habe kein Konto gibt, und die Kommentare werden nicht in der Lage sein, ein Wort zu beantworten, eh?
Ich danke Ihnen vielmals. Aber das ist genau das, was ich brauche. Aber was sind rot und blau und wofür sind sie da? Sie zeigen wahrscheinlich den Rücksetzpunkt jeder Bestellung an, oder? Wenn ich es ausprobiere, werde ich es sofort in die Codebase von artmedia70 aufnehmen.
Nein, nicht für die Codebasis, überhaupt nicht. Ich bin es gewohnt, zuverlässige Dinge zu machen, keine Tutorials :)
Wenn ich Ihnen ein normales Skript gezeigt hätte, hätten Sie mir gesagt, dass ich, wie alle anderen auch, wieder alle möglichen 'Fehler' geschrieben habe... Aber... Sie können nicht ohne sie auskommen. Das ist Arbeit mit unserem Geld.
Blau und Rot sind die Farben der Verschlussmarke.
Nein, es gibt keinen Grund für eine Katzenbase. Ich bin es gewohnt, zuverlässige Dinge zu machen, keine Tutorials :)
Wenn ich dir ein normales Drehbuch zeigen würde, würdest du mir sagen, dass ich, wie alle anderen auch, wieder alles Mögliche abgekupfert habe... Aber... Sie können nicht ohne sie auskommen. Dies ist ein Job mit unserem Geld.
Blau und Rot sind die Farben des Schließsymbols.
Übrigens, warum müssen Sie ein reguläres Skript bearbeiten, wenn es eindeutig ist und der Entwickler davon überzeugt ist?
Der Entwickler kann sich nur dann auf sein Programm verlassen, wenn es mit den vom Handelsserver zurückgegebenen Fehlern umgehen kann. Wenn keine Fehlerbehandlung vorgenommen wird, kann das Programm beim ersten Fehler stolpern. Bei dem Fehler handelt es sich NICHT um einen Programmfehler, sondern um einen vom Handelsserver zurückgegebenen Fehler. Das obige Skript erhält zum Beispiel keine neuen Daten. Daher kann der Server eine Fehlermeldung über den falschen Preis zurückgeben. Dazu sollte man versuchen, die jüngste Handelsumgebung vor der Schließung zu erhalten - bitte führen Sie den Befehl RefreshRates() aus oder verwenden Sie anstelle des Ask- oder Bid-Schlusskurses den mit MarketInfo(Symbol(),MODE_ASK) oder MarketInfo(Symbol(),MODE_BID) ermittelten Kurs;
Das Skript sieht dann so aus (für Sell):
Und wenn Sie versuchen, andere vom Server zurückgegebene Fehler zu verarbeiten, wird er auf diese Werte anwachsen, wenn Sie sagen: "Sie haben es wieder getan..." :)
Jetzt verstehe ich es, und ja, es ist wichtig. Das Internet ist nicht gut hier, die Hardware ist auch jung, so ist es nicht wirklich klug, auf sie für die volle zweihundert Prozent zu verlassen, aber Risiko ist eine edle Sache =) aber danke noch einmal für den Zusatz, ich werde es sowohl zu kaufen und zu verkaufen.
Ist es das Richtige für den Kauf?
void start() {
string sy=Symbol();
int i, k=OrdersTotal()-1;
for (i=k; i>=0; i--) {
if (OrderSelect(i,SELECT_BY_POS)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()==OP_BUY) {
double pp=MarketInfo(sy,MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pp,5,Blue);
}
}
}
return;
}
Und wenn ich nur 3 von 5 verfügbaren Kaufaufträgen entfernen muss, welcher Wert der größte ist, wird das Skript dann größer werden? Und noch eine Frage, wenn ich nicht störe, weil diese Überprüfungen die ganze Zeit in Anspruch nehmen, frage ich mich, welches Skript eine höhere Wahrscheinlichkeit von Ausrutschern hat als das mit Überprüfungen oder das ohne Überprüfungen auf Fehler?
Jetzt verstehe ich es, und ja, es ist wichtig. Internet ist nicht gut hier, es ist eine Tatsache, Hardware ist auch jung, so ist es nicht wirklich klug, auf sie für die volle zweihundert Prozent zu verlassen, aber Risiko ist eine edle Sache =) aber nochmals vielen Dank für den Zusatz, ich werde es sowohl zu kaufen und zu verkaufen hinzufügen.
Ist dies für den Kauf korrekt?
Ja. Aber das ist noch nicht alles... ;)
Dieses Skript berührt nicht nur unbearbeitete ähnliche Fehler, sondern auch "fremde" Aufträge. D.h., wenn Sie einen EA auf diesem Symbol arbeiten lassen, wird das Skript seine Positionen schließen und der EA wird sie wieder öffnen. Auf diese Weise werden sie sich gegenseitig "bekämpfen".
Um dies zu vermeiden, ist es notwendig, das Skript in Bezug auf die Magie zu begrenzen. Fügen Sie z. B. eine Zeile if (OrderMagicNumber()>0) continue hinzu; dann funktioniert das Skript nur mit manuell geöffneten Aufträgen.
Zu verkaufen:
Und es gibt noch viel mehr zu tun, um die "normale" Zuverlässigkeit zu erreichen. Die Zeit wird kommen, zweifle nicht daran. ;)
Ja. Aber das ist noch nicht alles... ;)
Dieses Skript wird, abgesehen von den verbleibenden unbearbeiteten ähnlichen Fehlern, auch "fremde" Aufträge betreffen. D.h., wenn Sie einen EA auf diesem Symbol arbeiten lassen, wird das Skript seine Positionen schließen und der EA wird sie wieder öffnen. Auf diese Weise werden sie sich gegenseitig "bekämpfen".
Um dies zu vermeiden, ist es notwendig, das Skript in Bezug auf die Magie zu begrenzen. Fügen Sie z.B. eine Zeile if (OrderMagicNumber()>0) continue ein; dann wird das Skript nur manuell geöffnete Aufträge verarbeiten.