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
Nein, aber vielleicht reden wir über unterschiedliche Dinge.
Das wird immer funktionieren.
Trotzdem musste ich das Terminal öffnen und prüfen... Hier sind drei Durchläufe des gleichen Skripts und drei Ergebnisse.
Es gibt nur eine Zeile im Drehbuch.
Ich meine, dass, wenn ein EA arbeitet und ein Benutzer beschlossen, den Bereich der Geschichte Anzeige mit seinen frechen Händen zu ändern, wird der EA während der zweiten Schalter verrückt. Jetzt wird sie kleiner sein, jetzt wird sie größer sein, jetzt wird sie anders sein als die, die man sich gemerkt hat. Und selbst wenn die Linie
if(HT!=__TotalHist)
> anstelle von != einsetzen, ändert sich die Situation nicht. Wenn der EA läuft, wenn die Einstellung auf "Heute" gesetzt ist und auf "Alle Historien" umgeschaltet wird... was passiert dann?
Ich würde nicht im Traum daran denken, OrderHistoryTotal() zu berühren, warum sollte ich?
Nur für den Fall:))))
Nur für den Fall:))))
:))) OrdersTotal() ist gut genug für mich
Vielleicht zwei Timer zu machen? eine vergleicht OrdersTotal() Werte sogar einmal in 100 ms, und die zweite für die Sicherheit einmal in einer Minute (oder weniger häufig) in einer Schleife - keine Maus kann dort verpassen, wenn einer von zwei Dutzend Trades schließt/öffnet einmal in 100500 mal eine Minute später - ich werde sicherlich nicht sterben, ich nehme an, die Kaution auch.
:))) OrdersTotal() ist für mich ausreichend
Vielleicht sollte ich zwei Timer machen? einer von ihnen vergleicht OrdersTotal() Werte sogar einmal in 100 ms, und der zweite - einmal in einer Minute (oder seltener) geht durch die Schleife - keine einzige Maus kann dort durchkommen, wenn einer von zwei Dutzend Aufträgen eine Minute später schließt/öffnet, als 100500 mal - ich werde sicher nicht sterben und ich nehme an, so wird mein Depot.
Und wie viele Aufträge gleichzeitig offen sind, gibt der Algorithmus vor?
Trotzdem musste ich das Terminal öffnen und prüfen... Hier sind drei Durchläufe des gleichen Skripts und drei Ergebnisse.
Es gibt nur eine Zeile im Skript
Was ich meine, ist, dass, wenn der EA funktioniert und ein Benutzer beschlossen, den Bereich der Geschichte Anzeige mit seinen frechen Händen zu ändern, wird der EA während der zweiten Schalter verrückt werden. Jetzt wird sie kleiner sein, jetzt wird sie größer sein, jetzt wird sie anders sein als die, die man sich gemerkt hat. Und selbst wenn die Linie
Die Situation ändert sich nicht, wenn wir > anstelle von != einsetzen. Wenn der Expert Advisor bei der Einstellung "Heute" ausgeführt wird und auf "Alle Historien" umschaltet... was passiert dann?
In jedem Fall wird es nicht gleich sein, und der Code wird weiter gehen. Aber wenn wirif(HT >__TotalHist) setzen, dann werden wir Probleme bekommen.
Und wie viele offene Aufträge sieht der Algorithmus insgesamt vor?
Höchstens zwei oder drei Dutzend.
In jedem Fall wird es nicht gleich sein und der Code wird weitergehen. Aber wenn (HT >__TotalHist)dann gibt es ein Problem
Vitaly, es wird auf jeden Fall Probleme geben. Wie auch immer man es betrachtet, wenn der EA auf Änderungen in der Anzahl der Aufträge in der Historie reagieren soll, wird er unabhängig davon reagieren, wie sich die Anzahl der Aufträge geändert hat. In der Tat kann die Zahl der Aufträge in der Geschichte nur zunehmen, deshalb habe ich vorgeschlagen, dass es weniger gefährlich ist, aber das Problem wird dadurch nicht gelöst. Auch wenn Sie es nur für sich selbst geschrieben haben, können Sie die Möglichkeit eines manuellen Wechsels nicht ausschließen. Man weiß nie, welche Art von Textnachricht einem in den Sinn kommt)))
Höchstens 2-3 Dutzend
Bei einer solchen Zahl wäre es einfacher, ein Array von Tickets oder sogar ein Array von Strukturen mit Auftragseigenschaften zu erstellen und die Änderung des Typs und der Schlusszeit bei jedem Tick zu überprüfen. Dies ermöglicht es uns, die Aktivierung eines schwebenden Auftrags oder die Schließung einer Position zu verfolgen. Und unmittelbar nach dem Senden von OrderSend() öffnen, fügen Sie die Größe des Arrays hinzu und legen Sie alles, was Sie brauchen, hinein.
Das ist es ja, man kann Bestellungen 86400 Mal am Tag abschütteln, aber man wollte es nicht.
In diesem Fall wäre es schwer, ohne die Bibliothek von Artem zu leben.