Fehler, Irrtümer, Fragen - Seite 2123

 

Um die Frage zusammenzufassen. Was ist der Sinn von CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo und CTerminalInfo?

Ich habe mir ihren Quellcode angesehen. Was bringt es, sie zu benutzen?


CDealInfo undCHistoryOrderInfo - auch diese werden mit logischen Fehlern geschrieben. Was ist der Zweck ihrer Verwendung?


Nun, wir haben CTrade. Damit ist alles klar, wo es bequem sein kann, usw. Aber was ist mit den Info-Klassen?

 
Fast alle Methoden in Info-Klassen sollten statisch sein. Aus welchem Grund ist dies nicht der Fall?
 
Denkt irgendjemand beim Schreiben von Code an diese Frage?

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Expert Advisors: TrailingTakeProfit

fxsaber, 2018.02.07 16:17

Stellen Sie sich eine einfache Optimierung für 100.000 Durchläufe von 10.000.000 Ticks vor. Dann würde OnTick eine TRILLION Mal aufgerufen werden. Jede zusätzliche Aktion, die eine Billion Mal aufgerufen wird, würde zusätzliche Sekunden/Minuten/Stunden erfordern. Schätzen Sie Ihre Zeit und die Zeit der anderen.

 
fxsaber:
Denkt irgendjemand beim Schreiben von Code an diese Frage?

Ich glaube...

 
Vladimir Pastushak:

Ich glaube...

Dann ist es besser, nicht so zu schreiben

   Comment(
           "\n","DayLimit ",DoubleToStr(DayLimit,2),               // Выводит на экран установленный лимит
           "\n","DayProfit ",DoubleToStr(DayProfit,2),             // Выводит на экран текущий профит за день
           "\n","Dostupno",DoubleToStr(DayProfit+DayLimit,2),      // Выводит на экран остаток от лимита
           "\n","Trade ",text                                      // Выводит на экран сообщение о разрешении торговать или нет
           );
 
Leute! Hilfe) vor einer Woche herauskam aktualisiert meine 10. Ich beschloss, einen Screenshot des Terminal-Arbeitsbereichs zu speichern, ich drückte auf Datei-Speichern als Bild-Aktiv-Chart und drückte auf OK, das Fenster schließt sich und das ist alles......... Ich habe das gleiche Problem auf zwei Terminals bei verschiedenen Brokern (Neuinstallation hilft nicht
 
fxsaber:

Dann ist es besser, nicht so zu schreiben.

Es ist oft schwierig zu verstehen, was Sie meinen. Dazu muss man neben Ihnen sitzen und alles sehen, was Sie lesen, überprüfen und schreiben.

Es fehlt der Kontext.

 
Rashid Umarov:

Es ist oft schwierig zu verstehen, was Sie meinen. Dazu muss man neben Ihnen sitzen und alles sehen, was Sie lesen, überprüfen und schreiben.

Es gibt nicht genug Kontext.

Denn DoubleToStr allein wird drei Billionen Mal umsonst aufgerufen. Mal sehen, wie lange es dauert.

double Func( const string )
{
  return(1);
}

void OnStart()
{  
  double d = 0;

  for (long i = 0; i < 3 e12; i++)
    d += Func(DoubleToString(d, 2));
  
  Print(d);  
}

Auf meinem nicht zu schwachen Rechner sind es 50 Stunden. D.h. ein leerer Expert Advisor mit einem solchen Kommentar (der Kommentar selbst wird im Optimierungsmodus nicht aufgerufen, aber die Eingabeparameter werden berechnet) verlängert die Wartezeit um 50 Stunden. Wer denkt beim Schreiben von Code an diese Frage?

 
2018/02/08 00:21:15 Erledigt #2151967 Stardust11
Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.11.20
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 

Aus der Ferne.

Думаю, все сильно зависит от кодера. Испытываю неприятное ощущение от отсутствия каких-либо попыток что-либо написать не медленно.

Ich habe die Geschwindigkeit in meinem Testgerät nur verbessert, als ich schnell (hundertmal schneller als MT) einen kompletten Überschwinger optimieren musste. Die Optimierung dauerte nur ein paar Stunden an einem Wochenende, statt eines Monats.

Und in MT4Orders, als Sie endlich einen vernünftigen Punkt auf MT5 setzen wollten.

Es geht hier nicht um Kampfhandlungen, sondern um den Tester. Allein die Tatsache, dass die Cloud verfügbar ist, zeigt, dass die Geschwindigkeit ein Engpass ist. Alles in allem haben die Cloud-Nutzer einen hohen Betrag für die Inkompetenz der Programmierer bezahlt.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Berater: TimeEA

fxsaber, 2018.02.07 04:01

Kein einziger EA von MQ in KB (habe mir die Standardlieferung nicht angesehen). Seltsame Situation. MQ betont immer wieder die guten MT5-Geschwindigkeiten, scheint sie aber nicht gemessen zu haben. Vielleicht ist das der Grund, warum sie es zulassen, dass langsamer Code zu Schulungszwecken veröffentlicht wird.


Ich würde gerne einen Benchmark-Code von MQ sehen. Wenn keine logischen Fehler vorliegen, keine algorithmische Beschleunigung möglich ist, der Code übersichtlich ist, verschiedene Ordertypen involviert sind (nicht nur Market Orders), asynchrones Senden und Verarbeiten von Orders gezeigt wird, Handelsgeschichte und Ticks involviert sind. Zumindest für ein Symbol.