Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1141

 
Maksym Mudrakov:
Ich würde folgendes tun, mit einem Drittanbieter-Indikator müssen Sie ObjectsTotal() zu verfolgen, und wenn der größte Index meiner Panel-Objekt kleiner ist als ObjectsTotal()-1, dann neu erstellen Sie das Panel. Ich muss Ihre Methode erst in allen möglichen Situationen ausprobieren, aber bisher sehe ich keine größere Freiheit bei der Verwendung von Objects Visibility.

Versuchen Sie dann, die Frage selbst zu beantworten: Worin besteht der visuelle Unterschied zwischen "Löschen/Erstellen" und "Ausblenden/Einblenden"?

 

Ich habe im MT5-Tester nichts gefunden, im Backtest-Bericht stehtLR Standardfehler. Was bedeutet das? Ich habe in Lehrbüchern und Nachschlagewerken nichts darüber gefunden, außer der Erwähnung, dass er existiert.

Ich vermute, dass es sich um die Standardabweichung der Ergebnisse einer Reihe von Stichproben handelt, aber das Präfix LR kann auch etwas anderes bedeuten. Ich würde gerne wissen, wie sie gezählt wird und was für ein Tier sie im Allgemeinen ist).

Backtest in den Akten.

Dateien:
 
Valeriy Yastremskiy:

Strg T, um das Menü am unteren Rand aufzurufen, Trading, Assets, ..... und schließlich Log. Klicken Sie auf das Logbuch und klicken Sie mit der rechten Maustaste auf einen der Einträge, um ihn anzuzeigen

Das "Journal" hat nicht geholfen, aber die Analogie "Experten" schon. Ich danke Ihnen.

 
Alexandr Sokolov:

Ich schreibe einen EA, der von Zeit zu Zeit mehrere lange Zyklen verschiedener Neuberechnungen durchführen muss (z.B. alle 12, 24, 48 Stunden). Jede dieser Neuberechnungen dauert 1,5-2 Stunden auf einem Kern (d.h. in einem Thread) - und natürlich werden die Verarbeitung neuer Ticks und der Handel durch diesen EA pausiert

... Solche Berechnungen können an einen anderen EA in einem anderen Thread delegiert werden, und die endgültigen Daten können mit der Funktion EventChartCustom und dem OnChartEvent-Ereignishandler zwischen EAs übertragen werden


Aber ich muss in der Lage sein, den EA auf dem Marktplatz zu veröffentlichen - so delegieren Neuberechnungen und Neuberechnungen in den gleichen Thread ist nicht geeignet. Gibt es ein Analogon der Thread-Bibliothek von C++ oder eine andere Version für die Implementierung einer solchen spezifischen EA in MQL5? (Ich habe das Wort "Thread" in die Suchmaschine auf dieser Website mit dem Filter "Dokumentation" eingegeben und es gibt nichts).

Nacht zu verwenden, wenn kein Handel stattfindet.

 
Artyom Trishkin:

Versuchen Sie dann, die Frage selbst zu beantworten: Worin besteht der visuelle Unterschied zwischen "Löschen/Erstellen" und "Ausblenden/Einblenden"?

Wenn es bei der Manipulation der Objektsichtbarkeit funktioniert, dann ist es sehr gut. Ich werde es ausprobieren müssen. Ich danke Ihnen.
 

Guten Tag zusammen!
Ich muss einige Parameter einer geschlossenen Order ausdrucken (), nachdem jede Order durch Stop geschlossen wurde (und es gibt viele davon, die gleichzeitig geöffnet wurden). Ich habe gelernt, wie man das sehr erfolgreich macht. Aber..... gibt es ein Problem, das mein Verstand nicht lösen kann. Einige Aufträge werden zum gleichen Tick und zum gleichen Preis durch Stop geschlossen. In diesem Fall ignoriert das Programm den ersten geschlossenen Auftrag und druckt Print() nur den letzten geschlossenen Auftrag. Der erste wird nicht gedruckt.
Q: .
Welche Sprachkonstruktion kann verwendet werden, um die Anwendung dazu zu bringen, Print () zu drucken, auch nachdem der erste Auftrag in den oben beschriebenen Fällen bei Stop geschlossen wurde?

Ich wäre Ihnen sehr dankbar, wenn Sie den Code für ein solches Design schreiben könnten. Es fällt mir schwer, die Erklärung in Worten zu verstehen.

Ich danke Ihnen.

int start()
{
int Ht = OrdersHistoryTotal();
if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))                                             
if (TP!=OrderTicket( ))
{
Print("---------------------------------------------------------------=",TimeToString(OrderOpenTime()) );
TP=OrderTicket( );
}

if (TimeCurrent()==1262598040)
if (H==0)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,1.62199,1.60919,"300",10 );
H=1;
}
if (TimeCurrent()==1262601140)
if (L==0)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,1.62199,1.61758,"300",10 );
L=1;
}
return(0);
}


 
ANDREY:

Guten Tag an alle!
Nachdem jeder Auftrag (und davon gibt es eine Menge auf einmal) durch einen Stop geschlossen wurde, muss ich einige Parameter eines geschlossenen Auftrags in Print () ausgeben. Ich habe gelernt, wie man das sehr erfolgreich macht. Aber..... gibt es ein Problem, das mein Verstand nicht lösen kann. Einige Aufträge werden zum selben Tick und zum selben Preis durch einen Stop geschlossen. In diesem Fall ignoriert das Programm den ersten geschlossenen Auftrag und druckt Print() nur den letzten geschlossenen Auftrag. Der erste wird nicht gedruckt.
Q: .
Welche Sprachkonstruktion kann verwendet werden, um die Anwendung dazu zu bringen, Print () zu drucken, auch nachdem der erste Auftrag in den oben beschriebenen Fällen bei Stop geschlossen wurde?

Ich wäre Ihnen sehr dankbar, wenn Sie den Code für ein solches Design schreiben könnten. Es fällt mir schwer, die Erklärung in Worten zu verstehen.

Ich danke Ihnen.


Erläuterung in Worten: Wir müssen die Anzahl der Aufträge und Positionen überwachen und sie mit dem vorherigen Zustand vergleichen. Wenn es beim vorherigen Tick 12 Positionen gab und beim aktuellen Tick 8 Positionen, haben wir eine Veränderung von 4 Positionen. Daher sollten wir die letzten vier Positionen (zum Zeitpunkt des Börsenschlusses) betrachten, um zu verstehen, was mit ihnen geschehen ist.

Aber nach dem beigefügten Code zu urteilen, in dem "Wunder" steht, brauchen Sie wirklich keine Erklärung in Worten. Aber hier gibt es Hilfe, nicht das Schreiben für/für.

 
Artyom Trishkin:

Die Erklärung in Worten: Sie müssen die Anzahl der Aufträge und Positionen im Auge behalten und sie mit dem vorherigen Stand vergleichen. Wenn wir beim vorherigen Tick 12 Positionen hatten und beim aktuellen Tick 8, haben wir eine Veränderung von 4 Positionen. Daher sollten wir die letzten vier (nach dem Zeitpunkt ihrer Schließung) Positionen betrachten, um zu verstehen, was mit ihnen geschehen ist.

Aber nach dem beigefügten Code mit den "Wundern" zu urteilen, brauchen Sie wirklich keine Erklärung in Worten. Aber dies ist ein Ort, um zu helfen, nicht um für/für zu schreiben.

Vielen Dank für die wertvollen Ratschläge. Aber ich habe kein Problem damit, zu verstehen, was mit den Aufträgen passiert ist. Ich weiß nicht, wie das Programm auch nach dem Schließen der ersten Order () drucken soll, wenn eine andere Order zum gleichen Preis und zum gleichen Tick danach geschlossen wurde. Wenn Aufträge gleichzeitig, aber zu unterschiedlichen Preisen abgeschlossen werden, druckt das Programm nach Abschluss beider Aufträge, einschließlich des ersten, Print ().
Ich wäre Ihnen sehr dankbar, wenn Sie Ihre im ersten Beitrag dargelegte Idee näher erläutern könnten.

Der Code ist "magisch", weil er nur dazu dient, das Problem visuell zu beschreiben und nichts anderes.


 
ANDREY:

Vielen Dank für die wertvollen Ratschläge. Aber ich habe kein Problem damit, zu verstehen, was mit den Aufträgen passiert ist. Ich weiß nicht, wie das Programm auch nach dem Schließen der ersten Order () ausdrucken kann, wenn eine andere Order zum selben Preis und zum selben Tick geschlossen wurde. Wenn Aufträge gleichzeitig, aber zu unterschiedlichen Preisen abgeschlossen werden, druckt das Programm nach Abschluss beider Aufträge, einschließlich des ersten, Print ().
Ich wäre Ihnen sehr dankbar, wenn Sie Ihre im ersten Beitrag dargelegte Idee näher erläutern könnten.

Der Code ist "wundersam", weil er nur dazu dient, das Problem klar zu beschreiben und nichts anderes.


Wenn Sie noch einmal lesen, was ich geschrieben habe, werden Sie verstehen, dass es nichts zu entwickeln gibt - ich habe geschrieben, wie man feststellt, ob mehr als eine Position auf einem Tick geschlossen ist, und was man damit macht - auch. Und der Code - nun, das ist alles individuell, je nach den eigenen Bedürfnissen. Ich habe sogar in den Artikeln geschrieben, wie man alles macht, alles durchgekaut und alle Codes ausgelegt - was will man mehr...

 
Artyom Trishkin:

Wenn Sie noch einmal lesen, was ich geschrieben habe, werden Sie verstehen, dass es nichts zu entwickeln gibt - ich habe geschrieben, wie man feststellt, ob mehr als eine Position auf einem Tick geschlossen ist, und was man damit macht - auch. Und der Code - nun, das ist alles individuell, je nach den eigenen Bedürfnissen. Ich habe sogar in den Artikeln geschrieben, wie man alles macht, alles durchgekaut und alle Codes ausgelegt - was will man mehr...

Ich wäre Ihnen sehr dankbar, wenn Sie mir Links zu Ihren Artikeln über meine Frage schicken könnten.
Ich danke Ihnen.