Fehler, Irrtümer, Fragen - Seite 821

 
IgorM:

Das ist genau das, wonach ich suche:

Hat jemand dieses Problem gelöst?

Die Sache ist, dass ich Code zu mql5 c++ portieren möchte, aber wieder einmal stolpere ich über den Rake mit dynamischen Arrays in mql5

PS: Ich möchte ein Thema eröffnen, in der Hoffnung, dass wir dieses Problem gemeinsam lösen können...

Ich habe den Anreiz verloren, genau diese Formulierung zu lösen. Das Sportinteresse ist verblasst, und für die Praxis wird das Design sehr langsam sein (getestet), weil ich alles durch die Zeiger tun muss, und sie arbeiten langsam in mql5, weil sie nicht Zeiger überhaupt sind, aber Handles, die auf die versteckte Systemtabelle von echten Zeigern verweisen.

Aber das betrifft nur die "universelle Implementierung", für Arrays mit unbekannter, beliebiger Dimension im Voraus. Für spezielle Fälle von Arrays mit fester Dimension (2x, 3x, 4x, 5x, etc. -dimensional) ist die High-Speed-Implementierung möglich, und mit enger Packung der Elemente. Ich habe eine 2D-Implementierung für mich gemacht, bisher keine Notwendigkeit inhoher Dimensionalität. Ich will es nicht kostenlos für die Öffentlichkeit noch tun. Für den Markt würde ich das vielleicht tun, aber solange Bibliotheken der Klasse ex5 nicht implementiert sind, kann die Implementierung nicht versteckt werden. Deshalb müssen Sie es entweder selbst tun oder einen Auftrag erteilen. Es gibt viele Handwerker, die das können, und ich bin nicht der einzige. Aber im Prinzip könnte ich es für einen guten Preis machen.

 
MetaDriver: Ich möchte es noch nicht kostenlos für die Öffentlichkeit machen.
Ich sehe, danke, aber ich will MT5 wieder für ein paar Monate aufgeben, also werde ich .dll von C++ wie zuvor verwenden
 

Zu meinem vorherigen Beitrag = Nachtrag...

Es sieht so aus, als ob der gesamte Speicher nach den Kompilierungen aufgebraucht ist... Alte EA-Instanzen - nicht gelöscht?

Diagramme und Protokolle werden gelöscht, wenn sie nicht benötigt werden...

Der Bot hat nur 480 Byte Puffer und ein Dutzend Variablen.


 
IgorM:
Ich verstehe, danke, aber ich möchte MT5 für ein paar Monate aufgeben, also werde ich .dll von C++ wie bisher verwenden

Was hält mich davon ab, es selbst zu tun? Mangelnde Fähigkeiten? Und wie wollen Sie Ihre Qualifikation ausbauen, wenn Sie keine neuen Aufgaben übernehmen?

Es gibt nichts Kompliziertes daran. Setzen Sie sich hin, denken Sie darüber nach, tun Sie es.

--

Was die DLL betrifft, so sind mehrdimensionale Masken nicht der Fall, wenn es sinnvoll ist, mit DLLs zu arbeiten. Aber wenn du dich mit DotNET beschäftigst, kannst du es benutzen, es hat großartige Container-Bibliotheken für alle Arten von unvorstellbaren Fällen.

 
MetaDriver:

Was hält Sie davon ab, es selbst zu tun? Mangelnde Fähigkeiten? Und wie wollen Sie Ihre Fähigkeiten ausbauen, wenn Sie keine neuen Aufgaben übernehmen wollen?

Es ist nicht schwer, etwas zu tun. Setzen Sie sich hin, denken Sie darüber nach, tun Sie es.

Nichts hält mich auf, ich weiß, dass ich es schaffen kann, ich muss bewusst versuchen, meine Qualifikationen zu senken )))) - Ich war diesen Sommer faul, jetzt ist es an der Zeit, wieder mit dem Programmieren anzufangen

Danke für den rechtzeitigen Tritt in den Hintern! :)

SZZ: Ich habe gerade bemerkt, dass mql5 eine neueFunktionsüberladung hat, während ich mich erinnere, dass Rashid ausdrücklich sagte , dasses keineFunktionsüberladung gibtund auch nie geben wird.

Документация по MQL5: Основы языка / Функции / Перегрузка операций
Документация по MQL5: Основы языка / Функции / Перегрузка операций
  • www.mql5.com
Основы языка / Функции / Перегрузка операций - Документация по MQL5
 
OrderSendAsync - ist es geplant, es im Strategietester auf den neuesten Stand zu bringen?
 
IgorM:

SZZ: Ich habe gerade bemerkt, dass mql5 jetzteine Überladung von Operationen hat, während ich mich erinnere, dass Rashid klar gesagt hat, dass es keineÜberladung von Operationen gibtund auch keinegeben wird

Wenn das Gleiche für die Behandlung von Ausnahmen gelten würde, wäre das großartig!

Es ist über drei Monate her, dass ich einen Fehler ohne erkennbaren Ursprung im EA gefunden habe - etwa ein- oder zweimal pro Woche erscheint die Meldung "Array out of range".

Ich habe jede mögliche Überprüfung in diesem Bereich versucht - es ist nutzlos, und wenn der Expert Advisor mit dieser Meldung gelöscht wird, wie kann ich wissen, warum das passiert ist!

Fuck weiß, wie man damit umgeht! Keine Ausnahmen, geben Sie einen anderen Mechanismus an!

Lassen Sie den EA anhalten, damit ich den Status der Variablen sehen kann.

Mann, es ist schon verrückt genug, so stur wie ...

 
falkov:

Seit mehr als drei Monaten ist es mir nicht gelungen, einen Fehler unbekannter Herkunft im EA zu finden - etwa ein- oder zweimal pro Woche erscheint die Meldung "Array out of range".

Gibt dieser Fehler nicht die Zeilennummer und die Position an, an der er aufgetreten ist?

 
marketeer:

Gibt dieser Fehler nicht die Zeilennummer und die Position an, an der er aufgetreten ist?

Ja, natürlich, aber was soll's. Ich habe hier alle möglichen Schecks ausgestellt.

Ich kenne den Ort, ich verstehe nicht, warum das passiert!

Ich prüfe die Größe des Arrays vor dieser Zeile und andere Variablen auf Ausreißer.

Aber trotzdem stürzt der Expert Advisor ein paar Mal pro Woche ab.

Das ist höchstwahrscheinlich mein Fehler, und ich habe nichts dagegen. Ich bin dagegen, dass ich keine Möglichkeit habe, herauszufinden, wo der Hund begraben ist.

Zugleich gibt es einen einfachen und bequemen Ausschlussmechanismus. Sie wurden genau für solche Fälle eingeführt.

Renat hat mir geantwortet, dass, wenn sie diesen Mechanismus einführen, unkluge Programmierer sofort anfangen werden, Fehler zu machen, und dass sie ihn dann bereinigen müssen.

Meiner Meinung nach ist das ein lächerliches Argument.

 
Scheiße... Je weiter man in den Wald kommt, desto größer ist das Brennholz. Das Problem ist, dass in der Strategie-Tester, OrderSendAsync arbeitet als OrderSend. Außerdem reagieren weder OnTrade noch OnTradeTransaction auf Requotes. Auf dem Live-Server gibt OnTradeTransaction eine Requote zurück.