Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 273

 

Guten Tag an alle. Hat jemand Erfahrung mit der Anzeige von Indikatoren während der Prüfung im visuellen Modus? Ist es möglich, sie während der Prüfung auszublenden? Ich möchte wirklich sehen, wie das Schleppnetz funktioniert, aber wegen der großen Anzahl von Indikatoren ist das Visualisierungsdiagramm sehr klein und ich muss bei jedem Test anhalten und alle Indikatorfenster manuell minimieren. In der Dokumentation von https://www.mql5.com/ru/docs/runtime/testing#indicatorrelease heißt es, dass

Для того чтобы запретить показ индикатора на графике после завершения одиночного тестирования, используйте функцию IndicatorRelease() в обработчике OnDeinit().

Ich kann keine Informationen darüber finden, wie man Indikatoren während der Prüfung ausblenden kann.

Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
  • www.mql5.com
Программы MQL5 / Тестирование торговых стратегий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
jommerbot:


Ich habe jedoch keine Informationen darüber gefunden, was zu tun ist, wenn Sie die Indikatoren während der Prüfung ausblenden möchten.

Das liegt daran, dass es sie nicht gibt.

https://www.mql5.com/ru/search#!keyword=HideTestIndicators

 

Können Sie mir sagen, ob ein Broker erkennen kann, ob ein Trader oder ein Roboter handelt (MT4)? Früher schien es so, als ob es das nicht könnte, aber jetzt? Es gibt nur eine Bedingung in einem der Wettbewerbe der Händler:

1.4 Der Wettbewerb ist ein Wettbewerb zwischen Gewerbetreibenden. Daher sind insbesondere automatisierte Strategien, bei denen kein Mensch (Händler) eine Entscheidung auf der Grundlage der aktuellen Marktsituation trifft, nicht zulässig.


Wenn ich einen Expert Advisor verwende, werde ich dann verbrannt oder nicht?)

Ich habe den Manager gefragt, aber er hat mir nicht geantwortet, wie sie feststellen können, wer handelt.

 
Crucian:

Können Sie mir sagen, ob ein Broker erkennen kann, ob ein Trader oder ein Roboter handelt (MT4)? Früher schien es so, als ob es das nicht könnte, aber jetzt? Es gibt nur eine Bedingung in einem der Wettbewerbe der Händler:

Wenn ich einen Expert Advisor verwende, werde ich dann verbrannt oder nicht?)

Auf die Frage, wie sie erkennen können, wer handelt, antwortet der Manager nicht.

Ich habe solche Bedingungen bei Wettbewerben gesehen. Es kann sein, dass der Broker die Auto-Trading-Funktion in der Plattform blockiert und der EA für Sie nicht startet.
 
papaklass:

Natürlich kann er das.

Wenn er das nicht könnte, würde er nicht schreiben. :)

Es gibt nur eine Möglichkeit zu erkennen, ob ein Auftrag von einem EA erteilt wurde - eine magische Zahl ungleich Null.
 
stringo:
Es gibt nur eine Möglichkeit zu erkennen, ob ein Auftrag von einem EA erteilt wurde - eine magische Zahl ungleich Null.

Und wenn ich einen Magier in der EA habe:

int mag=NULL;

niemand in der DC in der Lage sein wird, festzustellen, dass es sich um einen EA handelt?

 
rosomah:

Und wenn ich einen Magier in meinen EAs habe:

int mag=NULL;

niemand in der Maklerfirma wird es als EA erkennen?

Wahrscheinlich sollte int mag != NULL; (ungleich 0) gesetzt werden.

Und welche Magie soll dem Auftrag zugeordnet werden?

Irgendeine? Auch das wäre eine Katastrophe.

 
Crucian:

Wahrscheinlich müssen Sie int mag != NULL; (ungleich 0) eingeben.

Und welche Magie soll dem Auftrag zugeordnet werden?

Irgendeine? Auch das wäre ein Unsinn.

int mag != NULL; -dieser Weg wird im Testprogramm nicht kompiliert.

int mag = NULL; -das geht ganz einfach. Wenn wir dies über den Alarm überprüfen, wird "0" zurückgegeben.

int mag = EMPTY_VALUE; -das funktioniert auch. Hier wird"-2147483648" zurückgegeben.

Alert("mag=",mag);

Jetzt habe ich es im Testgerät bei MQL4 und MQL5 getestet. Im Testgerät funktioniert es.

Was den realen Code betrifft, so bleibt für mich die Frage offen, was wir tun sollten, damit ein Brokerunternehmen den Expert Advisor nicht spürt, zumindest nicht nach den eingehenden Parametern. Natürlich können wir das auch ohne Teilaufträge machen.

 
rosomah:

int mag != NULL; -lässt sich im Testprogramm nicht kompilieren.

int mag = NULL; -Es funktioniert problemlos. Wenn Sie dies mit den Warnmeldungen überprüfen, wird "0" zurückgegeben.

int mag = EMPTY_VALUE; -das funktioniert auch. Hier wird"-2147483648" zurückgegeben.

Alert("mag=",mag);

Jetzt habe ich es im Testgerät in MQL4 und MQL5 ausprobiert. Im Prüfgerät geht es.

Was den realen Code betrifft, so bleibt für mich die Frage offen, was wir tun sollten, damit ein Maklerunternehmen den Expert Advisor nicht spürt, zumindest was die eingehenden Parameter betrifft. Natürlich können wir das auch ohne Aufträge machen.

NULL ist ein spezieller Bezeichner, der bei der Arbeit mit Referenztypen (Zeigern auf Objekte) verwendet wird. Integer (int) ist ein signifikanter Typ. Die signifikanten Typen können nicht auf irgendetwas verweisen, insbesondere nicht auf NULL-Bezeichner, sie können nur per Referenz übergeben werden. Daher ist der Vergleich eines signifikanten Typs mit einem Referenztyp falsch. Außerdem ist es unmöglich, einen sinnvollen Typ mit einem Referenztyp gleichzusetzen. Der Grund, warum dieser Code kompilierbar ist, liegt darin, dass der Compiler NULL implizit in einen sinnvollen Typ "0" umwandelt und dann die Variable mag damit gleichsetzt. Die einzig wahre Lösung besteht darin, die magische Zahl eines Auftrags oder eines Geschäfts einfach mit Null zu vergleichen. Wenn dieser Wert von Null verschieden ist, kann man daraus schließen, dass dieser Auftrag vom EA erteilt wurde:

ulong magic = HistoryOrderGetInteger(order_id, ORDER_MAGIC);

if(magic != 0)

   printf("Ордер выставлен экспертом");

else

   printf(Ордер выставлен вручную); 

 

Wo soll ich anfangen?!?! Ich habe mich gerade erst angemeldet