Fehler, Irrtümer, Fragen - Seite 1846

 
Konstantin:

Vielen Dank für das Beispiel, aber ich würde nicht wollen, ein komplexes Objekt zu erstellen, nur weil ein Array, es sieht aus wie übermäßigen Code))


Was soll dieser kindische Unsinn über komplexe Typen? Das ist elementarer Unfug.
Sie sprechen von C++, aber haben Sie sich jemals mit der STL-Bibliothek beschäftigt? (das ist eine tolle Sache dort).

Das Problem wird auf die annehmbarste Weise gelöst, die in angemessener Zeit gefunden werden kann.
Dann können Sie, wenn nötig, so viel refaktorisieren, wie Sie wollen, aber es wird kaum dazu kommen.

Die Verwendung einer Wrapper-Klasse für eine Bibliothek und manchmal für eine Standardfunktionalität ist in etwa eine Variante des "Fassaden"-Musters.

 

MQL hat seine eigene Standardbibliothek mit Containern.
Ich habe es vor etwa 2 Jahren benutzt, als ich freiberuflich tätig war. Meiner persönlichen Meinung nach nicht sehr schnell und nicht sehr praktisch.

Aber jetzt haben sie der MQL-Funktionalität geeignete Vorlagen und Funktionszeiger hinzugefügt.
Ich bezweifle, dass die Entwickler Ressourcen bereitgestellt haben, um die Standard-Container-Bibliothek an die neuen Funktionen anzupassen.
Aber die Standardbibliothek ist immer noch besser als die meisten selbstgeschriebenen Krücken.

 
Sergey Dzyublik:


Was soll dieser kindische Unsinn über komplexe Typen? Es ist elementar.
Haben Sie schon einmal einen Blick in die STL-Bibliothek geworfen? (da bricht sich der Teufel ein Bein).

Das Problem wird auf die annehmbarste Weise gelöst, die Sie in angemessener Zeit finden können.
Dann können Sie, wenn nötig, so viel refaktorisieren, wie Sie wollen, aber es wird kaum dazu kommen.

Die Verwendung einer Wrapper-Klasse für eine Bibliothek und manchmal für eine Standardfunktionalität ist in etwa eine Variante des "Fassaden"-Musters.


Es gibt Momente, in denen das Erstellen einer Wrapper-Klasse, um ein Array von einer Methode zu erhalten,überflüssig ist, ich habe nichts dagegen, ein Array als Puffer zu erhalten, aber es wäre üblicher, es wie in C++ per Zeiger zu erhalten, aber da es nicht möglich ist, bedeutet das nicht, dass Sie Overhead tun müssen ))

 

Ich bitte Sie, eine durchschnittliche MOEX-Brokerprovision für Börsensymbole auf Metaquotes-Demo einzuführen.

Im Moment gibt es keine Provision und Sie erhalten Graals auf die Demo und den Tester.

 
fxsaber:

Ich bitte Sie, eine durchschnittliche MOEX-Brokerprovision für Börsensymbole auf Metaquotes-Demo einzuführen.

Im Moment gibt es keine Provision und Sie erhalten Graals auf Demo und Tester.


Bei der Demo auf Exchange-Instrumente, die Einbeziehung der Kommission wird nicht helfen, Sie loszuwerden, der Gral - in der Regel gibt es eine Provision hängt von der Rate, gut, lassen Sie uns davon ausgehen, dass es, wie in der Tarif Universal, etwa 0,5 Ticks, dh für eine Runde Sie gab Kommission = 1tica.

Und diese 1 Tick Kommission wird nicht einen Unterschied machen, unter Berücksichtigung der Tatsache, dass auf der Demo Trades geöffnet und geschlossen werden von Last, dh ohne Berücksichtigung der Spread. öffnen und schließen ein Geschäft - erhalten 0 am Ausgang!

Auch der Unterschied zwischen Ihnen und dem Prüfer ist unterschiedlich.

 
kaus_bonus:


In der Demo für den Austausch von Instrumenten, die Einbeziehung einer Kommission wird nicht helfen, Sie loszuwerden, der Gral - in der Regel, es Kommission hängt von der Rate, gut, nehmen wir an, dass es, wie in der Tarif universell, über 0,5 Ticks, dh für eine Runde Sie gab Kommission = 1tic.

Das mit den Zecken verstehe ich nicht. Die Höhe der Provision ist immer ein bestimmter Prozentsatz. Ich habe einen Gral für Limitaufträge. Es ist zu hoffen, dass die Flipper nicht betroffen sind.

Wenn Sie z.B. eine Kommission von 1 Tick erhalten, macht es keinen Unterschied, wenn Sie Transaktionen in der Demo öffnen und schließen, d.h. Sie berücksichtigen den Spread nicht.

Wenn ja, ist es kein Fehler.

Wenn ja, ist es kein Fehler in der Software, sondern in den Köpfen.

 
Essieht so aus, als ob das Prüfgerät auf seine Korrektheit überprüft werden muss.
 
fxsaber:
Es sieht so aus, als ob das Prüfgerät auf seine Korrektheit überprüft werden sollte.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Liste der Änderungen in MetaTrader 5 Client Terminal Builds

MetaQuotes Software Corp., 2016.09.14 16:24

Neuer MetaTrader 5 Build 1430: Aktualisierte Registerkarte "Exposure

  1. Tester: Schlupf bei der Ausführung von Buy Limit- und Sell Limit-Aufträgen beim Testen von Börseninstrumenten beseitigt.
Expert Advisor für den Tester (Metaquotes-Demo)
#include <MT4Orders.mqh>

// Скольжение лимитника на RTS-6.17
void OnTick()
{
  MqlTick Tick;    
  SymbolInfoTick(_Symbol, Tick);

// 2017.04.06 10:00:00                [time]   [bid]   [ask]  [last] [volume]    [time_msc] [flags]  
// 2017.04.06 10:00:00   2017.04.06 10:00:00  114200  114260  114200        2 1491472800335      56  
  if (Tick.time_msc == 1491472800335)
    OrderSend(_Symbol, OP_BUYLIMIT, 1, 114250, 0, 0, 0);
}

Ergebnis

2017.04.07 18:18:45.366 RTS-6.17 : real ticks begin from 2017.04.06 00:00:00
2017.04.07 18:18:45.778 2017.04.06 10:00:00   buy limit 1.00 RTS-6.17 at 114250 (114200 / 114260 / 114200)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order [#2  buy limit 1.00 RTS-6.17 at 114250] triggered
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal #2  buy 1.00 RTS-6.17 at 114240 done (based on order #2)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal performed [#2  buy 1.00 RTS-6.17 at 114240]
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order performed buy 1.00 at 114240 [#2  buy limit 1.00 RTS-6.17 at 114250]

Begrenzung der Kursdifferenzen beim Börsensymbol - BAG!

 
Auf dem Demo-Konto von Metaquotes-Demo gleiten auch Limit-Aufträge auf Börsenaufträgen. BAG!
 
A100:

Mehr als 30 Minuten sind vergangen, und es gibt immer noch keinen OnDeinit->M5-Aufruf

Und jetzt ändern wir den Code des Expert Advisors (ändern Sie die Reihenfolge leicht) ...

Ergebnis:

2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5: 1 Wird sofort und ohne Verzögerung aufgerufen!
2017.02.06 01:31:48.409 OnInit->M15


Es wurde festgestellt, dass in den Protokollen die folgenden Zeilen fehlen

OnDeinit - mag funktioniert haben, aber bei einem großen Ausgabestrom wird die Ausgabe übersprungen

Ich habe eine Komplettlösung geschrieben, die 3 Zeilen enthält Print("1"); Print("2"); Print("3");

In der Ausgabe wurde sowohl das eine als auch das andere übersprungen