Fehler, Irrtümer, Fragen - Seite 2908

 

Wenn es einen geeigneteren Thread für Fragen zur Codebasis gibt, verschieben Sie die Frage dorthin. Diese "Bugs" sind zu lang und werden von MQ wahrscheinlich nicht sehr sorgfältig gelesen.

Das ist ein Problem. Ich möchte ein Modul für MQL Wizard veröffentlichen, um universelle Signale zu erzeugen, d.h. vom Benutzer anpassbar und unter Verwendung beliebiger Indikatoren, anstatt des begrenzten Satzes, der mit der Standardbibliothek geliefert wird. Ich habe den mit dem neuen Modul generierten Expert Advisor als mq5-Code beigefügt. Aber natürlich gibt es keine fest kodierten Signale in dem Modul, denn der Sinn des Moduls ist die Anpassung. Infolgedessen wird der Expert Advisor weder gehandelt noch automatisch überprüft.

Welche Möglichkeiten gibt es, das Problem zu lösen?

 
Stanislav Korotky:

Wenn es einen geeigneteren Thread für Fragen zur Codebasis gibt, verschieben Sie die Frage dorthin. Diese "Bugs" sind zu lang und werden von MQ wahrscheinlich nicht sehr sorgfältig gelesen.

Das ist ein Problem. Ich möchte ein Modul für MQL Wizard veröffentlichen, um universelle Signale zu erzeugen, d.h. vom Benutzer anpassbar und unter Verwendung beliebiger Indikatoren, anstatt des begrenzten Satzes, der mit der Standardbibliothek geliefert wird. Ich habe den mit dem neuen Modul generierten Expert Advisor als mq5-Code beigefügt. Aber natürlich gibt es keine fest kodierten Signale in dem Modul, denn der Sinn des Moduls ist die Anpassung. Infolgedessen wird der Expert Advisor weder gehandelt noch automatisch überprüft.

Welche Möglichkeiten gibt es, das Problem zu lösen?

Ich habe die EA-Öffnungsaufträge nach Zeit umgangen und einen Auftrag mit SL und TP in OnInit. in mt4 geöffnet. Ich habe die Validierung vor einem halben Jahr bestanden.

Ich habe auch die Bedingung gestellt: Wenn es im Tester ist, eröffnen wir einen Auftrag, wenn nicht, lassen wir es aus. Die Validierung wird im Prüfgerät durchgeführt.

 
Stanislav Korotky:

Wenn es einen geeigneteren Thread für Fragen zur Codebasis gibt, verschieben Sie die Frage dorthin. Diese "Bugs" sind zu lang und werden von MQ wahrscheinlich nicht sehr sorgfältig gelesen.

Das ist ein Problem. Ich möchte ein Modul für MQL Wizard veröffentlichen, um universelle Signale zu erzeugen, d.h. vom Benutzer anpassbar und unter Verwendung beliebiger Indikatoren, anstatt des begrenzten Satzes, der mit der Standardbibliothek geliefert wird. Ich habe den mit dem neuen Modul generierten Expert Advisor als mq5-Code beigefügt. Aber natürlich gibt es keine fest kodierten Signale in dem Modul, denn der Sinn des Moduls ist die Anpassung. Infolgedessen wird der Expert Advisor weder gehandelt noch automatisch überprüft.

Welche Möglichkeiten gibt es, das Problem zu lösen?

Ich dachte, es wäre möglich, einen Trigger-Wrapper mit der Direktive #property tester_set zu erstellen, aber es stellte sich heraus, dass diese Parameter nicht automatisch standardmäßig gesetzt werden, sondern dem Tester nur ein Menüelement zur manuellen Auswahl hinzugefügt wird.

 
Stanislav Korotky:

Ich dachte, es wäre möglich, einen Launcher-Wrapper zu erstellen, der die #property tester_set-Direktive verwendet, aber es stellte sich heraus, dass diese Parameter nicht automatisch standardmäßig gesetzt werden, sondern dem Tester nur ein Menüelement zur manuellen Auswahl hinzugefügt wird.

Ich habe auch die Richtlinie #property tester_file "DefaultSettings.tpl" ausprobiert. Die angegebene Datei wird in den Agenten im Stammordner kopiert, aber nicht automatisch angewendet (zumindest in Bezug auf die Expert Advisor-Einstellungen).

 
Aleksei Ostroborodov:
Die Produktbewertung, die Anzahl der Bewertungen und die Rezensionen werden auf dem Marktplatz nicht angezeigt, obwohl sie in der Beschreibung vorhanden sind https://www.mql5.com/en/market/
Vielen Dank für die Lösung des konkreten Falls.
Aber was ist mit den anderen Produkten? Ich habe die gleiche Situation mit vier anderen EAs. Soll ich jedes Mal einen Link posten?
 

Der Tester wechselt während der EA-Optimierung bei jedem neuen Durchlauf auf die Registerkarte "Einstellungen", es gibt keine Möglichkeit, den Agentenstatus zu kontrollieren, er wechselt einfach auf eine andere Registerkarte. Ich habe es heute bemerkt, derzeit Build 2697.

Verteilt eine ungerade Anzahl von Aufgaben an die lokalen Bearbeiter und keine davon wird ausgeführt



Irgendwelche Ideen?

Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
  • www.mql5.com
Скальперские автоматические системы по праву считаются вершиной алгоритмического трейдинга, но при этом они же являются и самыми сложными для написания кода. В этой статье мы покажем, как с помощью встроенных средств отладки и визуального тестирования строить стратегии, основанные на анализе поступающих тиков. Для выработки правил входа и...
 
Wie erhalte ich über CopyTicks den Tick, der vor einem bestimmten Zeitpunkt lag?
 
fxsaber:
Wie erhält man über CopyTicks den Tick, der vor einem bestimmten Zeitpunkt lag?

Nun, wenn die maximalen Balken im Fenster unbegrenzt sind,

Es ist wahrscheinlich so etwas wie das:

MqlTick Prev_Tick(ulong t) {  // t - время в миллисекундах
   MqlTick ticks[];
   int bar =iBarShift(_Symbol,PERIOD_M1,t/1000); 
   if (bar>=0 && CopyTicksRange(_Symbol,ticks,COPY_TICKS_ALL,iTime(_Symbol,PERIOD_M1,bar)*1000,t)>0) 
      return ticks[ArraySize(ticks)-1];
   else {
      MqlTick tick;  // если до заданного времени нет тиков возвращаем пустой тик.
      return tick;
   }
}

überprüft, aber nicht mit Vorurteilen.

Wenn Sie die Balken umgehen(iBarShift), kann die Suche nach dem nächstgelegenen Tick ziemlich kostspielig sein, wenn die Zeit auf ein Wochenende fällt.


 
Nikolai Semko:

Wenn Sie ohne Balken auskommen (iBarShift), kann es recht aufwändig sein, den nächsten Tick zu finden, wenn die Zeit auf ein Wochenende fällt.

Ja, das Häkchen auf der rechten Seite ist elementar, das Häkchen auf der linken Seite ist furchtbar.

 
fxsaber:

Ja, das Häkchen auf der rechten Seite ist elementar, das Häkchen auf der linken Seite ist furchtbar.

Ja.
Was fehlt, ist, dass in der Funktion

int  CopyTicks( 
   string           symbol_name,           // имя символа 
   MqlTick&         ticks_array[],         // массив для приёма тиков 
   uint             flags=COPY_TICKS_ALL,  // флаг, определяющий тип получаемых тиков 
   ulong            from=0,                // дата, начиная с которой запрашиваются тики 
   uint             count=0                // количество тиков, которые необходимо получить 
   );

Der Parameter count ist int und die Funktion unterstützt negative Zählwerte, d.h. rückwärts.