Ziehen Sie SL und TP per Drag & Drop in das Prüfgerät. - Seite 9

 
Dmitry Fedoseev:
Ich möchte auch etwas, so dass bei der Arbeit auf dem Konto, der EA hat eine sofortige Reaktion auf die globalen Variablen durch den Indikator erstellt, anstatt zu warten, für einen Tick.
Könnte man nicht mit einer Zeitschaltuhr alles abfragen?
 
khorosh:
Aus irgendeinem Grund soll der EA nur mit einem Tick starten. Es wäre schön, wenn es auch auf einem Event laufen könnte. Es besteht die Möglichkeit, anstelle eines EA nur ein Skript mit Schleifen zu verwenden, aber auch das ist eine große Belastung für den Computer. Kann eine einzelne Ausführung des Skripts in irgendeiner Weise durch ein Ereignis kodiert werden? Das Skript kann über Hotkeys gestartet werden. Wie wäre es, wenn Sie das Drücken dieser Tastenkombinationen durch Ereignisse simulieren könnten? Der Skriptcode sollte absolut identisch mit dem des Expert Advisors sein. Dann wird er in der Lücke zwischen den Ticks das Gleiche tun wie der Expert Advisor.
Ich habe gerade etwas Ähnliches gefunden.https://www.mql5.com/ru/forum/3990
Ускорение работы эксперта путем запуска дополнительного скрипта
Ускорение работы эксперта путем запуска дополнительного скрипта
  • www.mql5.com
В MQL5 ввели механизм, при котором эксперт не ждет результат выполнения торговой операции. - - Категория: общее обсуждение
 

Zunächst müssen wir prüfen, wo das Chart-Ereignis zuerst im Indikator oder im EA auftritt, wenn im Indikator (höchstwahrscheinlich), dann, wenn wir im Tester arbeiten, fangen wir die Globals in onTick(), und wenn wir im Konto arbeiten in onChartEvent().

Der Timer ist uninteressant, er impliziert eine nicht sofortige Reaktion.

 

Beim Einstellen jeder Order erstellen Sie zwei Stop- und Profit-Objekte, dann lesen Sie diese bei jedem Tick aus und prüfen, ob sie sich im Vergleich zu den realen Objekten verändert haben; wenn ja, ändern Sie die Order... und ziehen Sie sie dann wie gewünscht auf das Diagramm

SL=NormalizeDouble(ObjectGetDouble(0,sltx,OBJPROP_PRICE,0),digit);
TP=NormalizeDouble(ObjectGetDouble(0,tptx,OBJPROP_PRICE,0),digit);
 
noloxe:

Beim Einstellen jeder Order erstellen Sie zwei Stop- und Profit-Objekte, dann lesen Sie diese bei jedem Tick aus und prüfen, ob sie sich im Vergleich zu den realen Objekten verändert haben; wenn ja, ändern Sie die Order... und ziehen Sie sie dann wie gewünscht auf das Diagramm

Diese Option wurde bereits früher vorgeschlagen. Ich würde es gerne irgendwie mit Ereignissen ohne zusätzliche Zeilen gestalten.
 

...Pfeile/Striche anstelle von Linien erzeugen)

Ereignisse im Testgerät funktionieren nicht

ps. wenn es nur einen offenen Auftrag im EA zur gleichen Zeit gibt, dann sollten die Stop- und Profit-Objekte auf den neuen Auftrag zurückgesetzt werden

 
Dmitry Fedoseev:

Zunächst müssen wir prüfen, wo das Chart-Ereignis zuerst im Indikator oder im EA auftritt, wenn im Indikator (höchstwahrscheinlich), dann, wenn wir im Tester arbeiten, fangen wir die Globals in onTick(), und wenn wir im Konto arbeiten in onChartEvent().

Der Timer ist uninteressant, er impliziert eine nicht sofortige Reaktion.

Nun, ich würde mir nicht die Mühe machen. Abgerufene Tasten in einem Millisekunden-Timer, und dann - eine Frage der Technik.
 
noloxe:

...Pfeile/Striche anstelle von Linien erstellen)

Ereignisse im Testgerät funktionieren nicht

ps. Wenn nur ein offener Auftrag gleichzeitig im EA vorhanden ist, sind die Stopp- und Gewinnobjekte dieselben wie für den neuen Auftrag

Die Ereignisse funktionieren im Indikator, der auf der visuellen Karte des Testers installiert ist. Ich habe folgende Idee: jeder Druck auf die +SL oder -SL Taste bewegt SL um einen Punkt oder um 5 Punkte, je nach Bedarf. Das ist natürlich kein Nachteil, aber auch nicht schlecht. Vielleicht sogar noch besser. Wahrscheinlich werde ich bei diesem einen aufhören. Sie ist einfach und geschmackvoll.) Sie ist mit einem Auftrag leicht zu realisieren. Wenn wir jedoch mehr als einen haben, müssen wir eine weitere Vorrichtung zur Auslösung der Bestellung einrichten. Aber normalerweise teste ich Strategien mit einem Auftrag.

 
khorosh:

In dem auf dem visuellen Testdiagramm installierten Indikator funktionieren die Ereignisse. Ich hatte folgende Idee: Jeder Druck auf die +SL oder -SL Taste bewegt SL um einen Punkt oder um 5 Punkte, je nachdem, was nötig ist. Das ist natürlich kein Nachteil, aber auch nicht schlecht. Vielleicht sogar noch besser. Wahrscheinlich werde ich bei diesem einen aufhören. Sie ist einfach und geschmackvoll.) Sie ist mit einem Auftrag leicht zu realisieren. Wenn wir mehr als einen Auftrag haben, müssen wir einen weiteren Auftragsauslöser implementieren. Aber normalerweise teste ich Strategien mit einem Auftrag.

Haben Sie die Datei ausprobiert, die ich auf der ersten Seite angehängt habe? Versuchen Sie, die Linie zu ziehen - es ist sehr bequem und schnell, versuchen Sie, es auf Ihre eigene Weise zu implementieren.
 
Vitaly Muzichenko:
Haben Sie die Datei ausprobiert, die ich auf der ersten Seite angehängt habe? Versuchen Sie, die Linie zu ziehen - es ist sehr bequem und schnell, versuchen Sie es auch selbst
Nun, ich kenne das Prinzip seit langem. Ich möchte mir einfach etwas Neues ausdenken. Ihr Expert Advisor ist halbfertig. Beim Zeichnen von Linien erfolgt keine Änderung von Stop und Take, und im Allgemeinen wird der anfängliche Stop und Take nicht gesetzt, oder ich muss dafür etwas anklicken. Ich kann das nicht verstehen.