Fehler, Irrtümer, Fragen - Seite 3047

 
Yury Lemeshev:
Guten Tag. Hilfe. Funktionieren SymbolSelect undSymbolExist unterschiedlich?

Print(SymbolSelect( "EURUSD",true)); Ich erhalte einen Fehler - true
Print(SymbolExist("EURUSD",false)); Ich erhalte einen Fehler - 'true' - Variable erwartet.

Dokumentation sorgfältig lesen:SymbolExist

bool  SymbolExist(
   const string  name,    // имя символа
   bool&   is_custom      // признак пользовательского символа
   );


So sieht es im Code aus:

   Print(SymbolSelect("EURUSD",true));
   bool exist=false;
   Print(SymbolExist("EURUSD",exist));
Документация по MQL5: Получение рыночной информации / SymbolExist
Документация по MQL5: Получение рыночной информации / SymbolExist
  • www.mql5.com
SymbolExist - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Lesen Sie die Dokumentation sorgfältig:SymbolExist


So sieht es im Code aus:

Vielen Dank, Vladimir

 

Frage zur Initialisierung von Indikatoren durch den Expert Advisor beim Testen im visuellen Modus.

Wenn ich Indikatoren in OnInit() { } des Expert Advisors initialisiere, dann erscheint der Indikator im visuellen Tester normalerweise nicht und wird nicht gezeichnet.

Gleichzeitig wird im Log die Initialisierung durchlaufen und der Handle empfangen. Im visuellen Modus hat man das Gefühl, dass der Tester keine Zeit hat, etwas zu tun und der Indikator nicht am Chart klebt.

Wenn ich Indikatoren in OnTick() { } des EA initialisiere, verschwindet das Problem, aber es erzeugt unnötiges Schreiben, Überprüfen und so weiter.


Wenn ich die IndicatorInitialization() in OnTick auskommentiere und in OnInit kommentiere, beginnt es zu funktionieren.

int  TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
int OnInit()
  {
   IndicatorInitialization();
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   IndicatorRelease(TicksTesterIndicatorHandle);
  }

void OnTick()
  {
//if(!InitComplite)
//  {
//   IndicatorInitialization();
//  }
  }
//+------------------------------------------------------------------+
bool IndicatorInitialization()
  {
//---Получить хэндл индикатора TicksTesterIndicator
   TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");

//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(TicksTesterIndicatorHandle<0)
     {
      Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
      return(false);
     }
   else
     {
      Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
      ArraySetAsSeries(Buf, true);
      InitComplite=true;
     }
   return(true);
  }
 

Fortsetzung der Geschichteder magischen Akten:

Nachdem MetaEditor sich aufgehängt und neu gestartet hat, wird diese Datei nun als roter Text angezeigt, aber derselbe Notizblock öffnet sie normal (unnötig entfernt)

Dateien:
main.txt  1 kb
 

Nachmittags,

Android MT5/MT4: Im Orderplatzierungsfenster sind die Farben der Ticklinien vertauscht. Auch in den Farbschemata der Karte.

 

Hallo zusammen!

Der Fehler [Ungültiger Preis] kann nicht behoben werden, wenn ein schwebender Auftrag erteilt wird. Das ganze Problem besteht darin, dass solche Fehler bei Standardkontrollen der EA-Veröffentlichung auftreten. Ich kann die Protokolle nicht entsprechend einsehen, um zu verstehen, was der Grund dafür ist. Ich habe das bei meinen Tests nicht reproduzieren können. Die Komplexität besteht natürlich darin, dass ich nicht weiß, für welche Parameter das Symbol in den Standardprüfungen steht. Ich habe versucht, das MetaQuotes-Terminal zum Abspielen zu verwenden. Der Auftrag wird an der gleichen Stelle eröffnet, sogar zum gleichen Preis, und es liegt kein Fehler vor. Die Preise werden mit CSymbolinfo::NormilizePrice() normalisiert, es gibt Prüfungen für StopsLevel, Freeze Level, für die Korrektheit der Preise von Pending Orders, ich aktualisiere die Preisdaten mit jeder Prüfung.

Bericht über Standardprüfungen

Vielleicht kennt jemand alle Fälle, in denen ein solcher Fehler bei schwebenden Aufträgen auftreten kann? Der einzige, der mir einfällt, ist
.

  • Nicht normalisierter Preis
  • Preis über/unter dem Marktpreis für eine bestimmte Auftragsart
  • Gefrierpunkt (nicht sicher)
Ich bin für jeden Tipp dankbar :)
 

Guten Morgen.

Ist es möglich, eine Testabschaltung durch Parameter im Prüfgerät vorzunehmen?

Wird zum Beispiel bei einem Test ein Drawdown von 40 % erreicht, wird dieser gestoppt und die Ressourcen werden für die nächsten Tests verwendet.

 
Dmitry Homenkov:

Hallo zusammen!

Der Fehler [Ungültiger Preis] kann nicht behoben werden, wenn ein schwebender Auftrag erteilt wird. Das ganze Problem besteht darin, dass solche Fehler bei Standardkontrollen der EA-Veröffentlichung auftreten. Ich kann die Protokolle nicht entsprechend einsehen, um zu verstehen, was der Grund dafür ist. Ich habe das bei meinen Tests nicht reproduzieren können. Die Komplexität besteht natürlich darin, dass ich nicht weiß, für welche Parameter das Symbol in den Standardprüfungen steht. Ich habe versucht, das MetaQuotes-Terminal zum Abspielen zu verwenden. Der Auftrag wird an der gleichen Stelle eröffnet, sogar zum gleichen Preis, und es liegt kein Fehler vor. Die Preise werden mit CSymbolinfo::NormilizePrice() normalisiert, es gibt Prüfungen für StopsLevel, Freeze Level, für die Korrektheit der Preise von Pending Orders, ich aktualisiere die Preisdaten mit jeder Prüfung.


Vielleicht kennt jemand alle Fälle, in denen ein solcher Fehler bei schwebenden Aufträgen auftreten kann? Der einzige, der mir einfällt, ist
.

  • Nicht normalisierter Preis
  • Preis über/unter dem Marktpreis für eine bestimmte Auftragsart
  • Gefrierpunkt (nicht sicher)
Ich freue mich über jeden Tipp :)

Artikel: Welche Tests muss ein Handelsroboter bestehen, bevor er auf dem Marktplatz veröffentlicht wird?

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Yury Lemeshev:

Ist es möglich, eine Testabschaltung durch Parameter im Prüfgerät vorzunehmen?

Wenn beispielsweise bei einem Test ein Drawdown von 40 % erreicht wird, wird er abgebrochen und die Ressourcen werden für die nächsten Tests verwendet.

Dies ist für Ihre EAs möglich: Sie müssen das Ausstiegskriterium innerhalb zählen (wenn es schwer ist - in OnTimer), erreicht die Schwelle - TesterStop()/ExpertRemove().

 

Etwas Unnötiges.