Der große und schreckliche MT4 für immer (oder wie man einen Übergang strategisch plant) - Seite 22

 
Igor Makanu:

es geht um die Kopfkonten.

über die erwarteten Krücken - ich habe 2021, ich erwarte die benutzerfreundlichste Software, als Beispiel - die gleiche Python, die dem Benutzer erlaubt, seinen Code so prägnant wie möglich zu schreiben und ein fertiges Ergebnis zu erhalten, so dass es schnell "abgenommen" - die Menschen wollen nicht zu fusseln Code für ihre eigene Selbstzufriedenheit zu schreiben, sondern wollen ihre "Wünsche" in kürzester Zeit zu lösen

ZS: Erinnerst du dich an die Zehen und Ohren? ... - Stellen Sie sich vor, Sie haben Win 111 bekommen, alles ist toll, aber jetzt schalten Sie das Tastaturlayout um, indem Sie die Einschalttaste auf der Tastatur drücken. Ich verstehe, dass Fanatiker sich verrenken und mit den Zehen auf die gewünschte Taste auf der Tastatur drücken.

Ehhh. Es gab Zeiten, in denen sich die Leute über MT4 lustig machten und sagten, dass es nicht genug Kontrolle habe und dass die Entwickler mehr Kontrolle bräuchten und ihnen den Zugang von MQL aus ermöglichten. Nachdem sie es ihnen gegeben hatten, wurde es richtig schlimm für sie. Obwohl alle Kontrollen und Erwartungen bisher vor den Augen der Nutzer verborgen waren. Schließlich kehrt das Ticket der offenen Position in MT4 zurück. Dies deutet darauf hin, dass die gesamte Synchronisierung mit der Handelsumgebung einfach vor den Augen und den unvorsichtigen Stiften der Benutzer verborgen wird:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Also verlangten die Leute Zugang zur Blackbox - und sie bekamen ihn.
Jetzt müssen Sie die Synchronisierung selbst vornehmen. Gefragt? Gefragt. Haben sie? Das taten sie. Ist es gut? Sie sagten, es würde gut sein. Nachdem sie gegeben wurde, wurde sie schlecht.

Packen wir all das aus, was sich in den Standardfunktionen von MQL4 versteckt hat, und sehen wir, ob es wirklich so einfach ist, und ob alles durch zwei magische Codezeilen implementiert wurde. Das glaube ich nicht...

Der Vergleich ist also völlig unzutreffend. Wenn Sie den MQL-Code von allem, was innerhalb der Standard-Handelsfunktionen in MT4 ist zu erweitern, und vergleichen Sie die Code-Volumen, nachdem zunächst portiert, was Sie in der schwarzen Box zu MT5 sehen. Dann wird der Vergleich korrekt sein.

Das ist, was über Krücken und Sachen für MT5, und "hey, was für eine freundliche und erregbar-schöne MT4" - richtig vergleichen Sie den Umfang und die Logik des Codes. Nur eine Stelle ist eine Blackbox, die andere ist eine eigene Implementierung (wie gewünscht, erinnern Sie sich?).

Was die Komplikation betrifft, stimme ich zu. Ja, es ist komplizierter geworden und es muss mehr Code geschrieben werden. Aber wie Sie oben gelesen haben - Sie fragten und lachten, dass "MQL4 ist für Hausfrauen, aber wir sind aus ihnen herausgewachsen und wollen ernst sein" ...

Nun, jetzt wird es ernst.

 
Igor Makanu:

es geht um die Kopfkonten.

über die erwarteten Krücken - Ich habe 2021, ich erwarte die benutzerfreundliche Software, als ein Beispiel - die gleiche Python, die dem Benutzer erlaubt, seinen Code so knapp wie möglich zu schreiben und ein fertiges Ergebnis zu erhalten, so dass es schnell "nahm" - die Menschen wollen nicht zu einem langen Code für ihre eigene Selbstzufriedenheit zu schreiben, sondern wollen in kürzester Zeit zu lösen ihre "Wünsche

ZS: Erinnerst du dich an die Zehen und Ohren? ... - Stellen Sie sich vor, dass Sie ein Win 111 gegeben wurden, so dass alles ist groß, aber die Tastatur-Layout müssen nun durch Drücken der Power-Taste-System zu wechseln, verstehe ich, dass besonders fanatisch sind Twist und wird ihre Füße Daumen, um die heilige Taste auf dem System drücken

Angesichts der Betonung denke ich, dass dies an mich gerichtet ist.

Auch ich spreche von den Hedge-Konten. Ich bin überhaupt nicht gegen Beschleunigung, aber wenn die Geschwindigkeit des Internets nicht mit der Geschwindigkeit der CPU übereinstimmt, von welcher Beschleunigung können wir dann sprechen? Sie wissen schon, dass die Eröffnung einer Position auf dem Server stattfindet, und es ist nicht sicher, dass die Eröffnung fehlerfrei sein muss. Und die Geschwindigkeit der Antwort auf OrderSend() hängt direkt von der Geschwindigkeit des Internets ab... Also, MT4 hat es in sich, bis eine Antwort vom Server empfangen wird, wird die Fortsetzung nicht stattfinden. Und erst nach Erhalt einer Ticket- oder Fehlernummer wird alles bekannt sein. Und dieser Auftrag gilt für alle. Folglich ist die Ausführungsgeschwindigkeit nicht besonders hoch.

Jetzt hat MT5 eine andere Taktik ... Der Programmierer muss überprüfen, ob es ausgeführt wurde oder nicht ... wenn Sie wollen, müssen Sie überprüfen, aber wenn Sie nicht wollen, werden Sie eine erhöhte Geschwindigkeit zu bekommen. Aber aus irgendeinem Grund wollen Sie das nicht verstehen und nehmen es Ihnen übel, dass Sie es überprüfen müssen, und anstatt es zu überprüfen, versuchen Sie, eine Verzögerungszeit zu finden.

Was hat das mit Reptilianismus zu tun? Freundliche Software in MQL5 schreiben, während Python nicht dafür geschaffen wurde, um darin geschrieben zu werden, und MQL5 wegwerfen... Das ist es, was ich denke.

 

Ich persönlich habe hundertfünfzig Mal teilgenommen, es gibt nichts, was mich überzeugen könnte, ich kenne die Vorteile jeder Plattform schon lange.

Ich bin nicht an seiner Umsetzung interessiert:

offene Positionen auf einem leeren Konto haben. Es ist erlaubt, einige Positionen von einem beliebigen Terminal aus während der Laufzeit des Skripts zu schließen. Dieses "Eingreifen" ist nur notwendig, um dumme Entscheidungen zu vermeiden.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Der große und der schreckliche MT4 für immer (oder wie man eine intelligente Migrationsstrategie entwickelt)

fxsaber, 2021.05.08 18:54

Ich muss ein Skript auf MT5 schreiben, das 100 Positionen auf einem leeren Konto eröffnet.


Auf MT4 habe ich das so gelöst.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Wer hat eine Lösung für MT5?



 
Igor Makanu:

Ich persönlich habe hundertfünfzig Mal teilgenommen, es gibt nichts, was mich überzeugen könnte, ich kenne die Vorteile jeder Plattform schon lange.

Ich interessiere mich für die Umsetzung des Themas:

Sie wissen, wofür dieser Vorschlag gedacht ist:

Ich muss ein Skript auf einem MT5 schreiben, das 100 Positionen auf einem leeren Konto eröffnet.

Auf MT4 habe ich das so gelöst.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

Wer hat die Lösung für MT5?

Wenn ich zeigen wollte, wie ekelhaft MQL5 ist (weil ich dort schreiben muss, was bereits in MQL4 in OrderSend() geschrieben ist)

So die neuen unwissenden Menschen, die nicht verstehen, das Wesen der Einfachheit von MQL4 wird sagen, wie schlecht MQL5 ist - statt zwei Zeilen Code [1. Ich will eine offene Position 100 mal. 2. Gut - halten], müssen sie ihre eigenen Prüfungen nach jedem "Ich will" und vor "gut halten" zu schreiben, versteckt vor dem Benutzer im ersten Fall, und erweitert in MQL-Code in der zweiten ein. Dies ist Manipulation der reinsten Art.

Höchstwahrscheinlich aufgrund der Haken in der Frage wird niemand eine öffentliche Entscheidung in diesem Thread treffen - viele Leute verstehen den Sinn dieses Trash-Talks - das glücklich-perfekte MQL4 und das komplizierte-moot-core MQL5 zu zeigen. Ich werde mich freuen, wenn ich mich irre. Aber die Formulierung der Frage sagt viel aus.

 
Artyom Trishkin:

Packen wir all das aus, was sich in den Standard-MQL4-Funktionen verbirgt, und sehen wir, ob es so einfach ist, und ob es mit zwei magischen Codezeilen getan ist. Das glaube ich nicht...

Eine Situation wie in MT5 ist architektonisch nicht möglich. Nicht von außen, sondern von innen. Da es im MT5 keinen Begriff für Auftrag/Handel/Position gibt (nicht für das, was man von außen sieht). D.h. das Innenleben von MT4 ist viel einfacher als das von MT5.

Die doppelten Einträge sind kein Problem von MT5, sondern ein Architekturfehler, bei dem die Total()-Funktionen falsch positive Ergebnisse anzeigen. Und wenn ein Auftrag zur Eröffnung einer (vollständig gefüllten) Position erteilt wird, wird er zusammen mit seiner Position platziert. Alles in allem sind nur Krücken die Lösung für alles. Und es scheint, dass alle Krücken jetzt in vollem Umfang verfügbar sind.

 

Artyom Trishkin:

... Das ist schlicht und einfach Manipulation.

Ich verstehe die Gründe nicht ...

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wie man MT4 sinnvoll nutzt (oder wie man eine Migrationsstrategie entwickelt)

Alexey Viktorov, 2021.05.09 09:15

D.h. Sie stellen solche Bedingungen für MQL5, die jemand durcheinander bringen kann, aber für MQL4 tun Sie das nicht? Was passiert, wenn ich mich von einem anderen Unternehmen aus mit meinem Konto verbinde und ein paar ausstehende Aufträge erteile? Was wird MQL4 dann öffnen?

Wollen Sie es ohne Kontrolle vermasseln? Befürworten Sie Freizügigkeit bei der Programmierung oder versuchen Sie nur, MQL5 aus eigennützigen Interessen zu verleumden ?

Schreiben Sie dasselbe in mql4 mit Kontrollen und narrensicher.


 
Artyom Trishkin:

Wissen Sie, wofür dieser Satz steht:....

Um allen Ignoranten zu zeigen, wie ekelhaft MQL5 ist

Das ist Spekulation, das Problem muss gelöst werden, wenn wir versuchen, wie technisch gebildete Menschen zu denken.

Ich habe 5 Mal versucht, dieses Problem zu lösen, bis ich herausgefunden habe, wie ich es optimal machen kann.

 

fxsaber:

...Und es scheint, dass alle Krücken jetzt vollständig verfügbar sind.

Brechen Sie sich nur nicht den Kopf mit diesen Krücken.

 
Artyom Trishkin:

Um allen Unwissenden zu zeigen, wie ekelhaft MQL5 ist (weil man dort schreiben muss, was bereits in OrderSend() in MQL4 geschrieben steht)

Es geht nicht darum, sich kurz zu fassen. Verwenden Sie Ihre öffentliche Handelsbibliothek, um eine Lösung für das Problem zu schreiben. Ich habe nach einer Lösung gefragt und sie nicht bewertet.

Tatsache ist, dass das grundlegende Problem auf MT5 noch nicht gelöst ist. Und die Länge des Codes ist mir egal.


Da es hier Leute gibt, die ihre eigenen Fachbibliotheken haben, können sie nicht ihre eigenen vorgefertigten Lösungen verwenden, um eine so einfache Formulierung des Skripts zu schreiben?

 
Igor Makanu:

Ich bin dieses Problem fünfmal angegangen, bis ich herausgefunden habe, wie ich es optimal lösen kann

Ich habe den MT4-Stil noch nicht selbst ausprobiert, aber theoretisch sollte er funktionieren. Ich hatte noch keine Gelegenheit, es mir anzusehen.