MetaEditor Build 1463 - Seite 15

 
fxsaber:
ArrayPrint - ähnlich.
Hier ist ein Beispiel https://www.mql5.com/ru/forum/160673/page2#comment_3827986
MetaEditor build 1467
MetaEditor build 1467
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...
 
Rashid Umarov:
Hier ist ein Beispiel https://www.mql5.com/ru/forum/160673/page2#comment_3827986

Das unterscheidet sich nicht von dem, was Sie selbst oben geschrieben haben.

ArrayPrint hat jedoch viel mehr Eingabeparameter. Der letzte Parameter "Flags" ist von Interesse.

 

Generell gilt, dass der Prüfer auflegt. Ich habe mehrere Funktionen ausfindig machen können, die dies verursachen. Die häufigste ist Kommentar.

Versuchen Sie hier, einen solchen Indikator im Tester laufen zu lassen:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Geschwindigkeit nur nicht das Maximum, so dass der Test dauert einige Zeit, in den Prozess der hängt. Stimmt, nicht immer - ich verstehe nicht, wovon es abhängt, ob es Mausbewegungen oder etwas anderes sind. In der Regel können Sie ein paar Mal testen, ob er hängen bleibt.

 
Die Funktion ArrayPrint wird heute Abend auf der Website verfügbar sein
 
Alexey Navoykov:

Generell gilt, dass der Prüfer auflegt. Ich habe mehrere Funktionen ausfindig machen können, die dies verursachen. Die häufigste ist Kommentar.

Versuchen Sie hier, einen solchen Indikator im Tester laufen zu lassen:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Geschwindigkeit nur nicht das Maximum, so dass der Test dauert einige Zeit, in den Prozess der hängt. Stimmt, nicht immer - ich verstehe nicht, wovon es abhängt, ob es Mausbewegungen oder etwas anderes sind. Im Allgemeinen können Sie es mehrmals testen, es sollte hängen.

Mit drei Prüfgeschwindigkeiten:

  • maximal
  • maximal minus eine Stufe
  • maximal minus zwei Stufen
Die Anzeige der Registerkarte "Logbuch" im Prüfgerät friert ein, weil man davon ausgeht, dass bei diesen Geschwindigkeiten die Ausgabe von Ausdrucken sehr langsam sein wird, und es auch einfach unrealistisch ist, Informationen über Öffnungen/Schließungen zu verfolgen.

Im Allgemeinen sollten Sie genauer nachweisen, was Ihr "Tester einfriert".

Hinzugefügt: und die Situation genauer beschreiben: Version, Build, Server, Symbol, Zeitrahmen, Testmodus...

Hinzugefügt: Scheiße, mein Redakteur und Tester haben sich aufgehängt. Der Tick-Erzeugungsmodus war "Alle Ticks".

 
Alexey Navoykov:

Generell gilt, dass der Prüfer auflegt. Ich habe mehrere Funktionen ausfindig machen können, die dies verursachen. Die häufigste ist Kommentar.

Versuchen Sie hier, einen solchen Indikator im Tester laufen zu lassen:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

Geschwindigkeit nur nicht das Maximum, so dass der Test dauert einige Zeit, in den Prozess der hängt. Stimmt, nicht immer - ich verstehe nicht, wovon es abhängt, ob es Mausbewegungen oder etwas anderes sind. Im Allgemeinen können Sie es mehrmals testen, es sollte hängen.

Und was ist das hier:

   return rates_total;

?

 

In der Tat:

//+------------------------------------------------------------------+
//|                                               Indicator_Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
                 )
  {
   Comment("OnCalculate");
   return (rates_total);
  }

Testen mit Höchstgeschwindigkeit, Tick-Erzeugungsmodus "Alle Ticks" - das Prüfgerät hängt sich auf. Hängen bedeutet Folgendes:

Hängend

Wenn Sie die Kommentarzeile auskommentieren, wird alles getestet.

Dateien:
 
Vladimir Karputov:

Testen mit Höchstgeschwindigkeit, Tick-Erzeugungsmodus "Alle Ticks" - das Prüfgerät hängt sich auf.

Sie hängt nicht von der Geschwindigkeit, dem Modus oder dem Zeitrahmen ab. Sie kann in jedem Fall einfrieren.

Übrigens führen auch einige andere Funktionen, z.B. ChartGetInteger(0, CHART_WIDTH_IN_BARS) zu Hängern in meinem Programm. Aber ich kann kein einziges Beispiel mit ihnen reproduzieren. Ich denke jedoch, dass der Kommentar ausreicht.

 

Was ist das?

HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\EURUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\GBPUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDCHF, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDJPY, last access time 2016.04.12 10:37
 
fxsaber:
Bitte ändern Sie MqlTick in
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
D.h. Einführung eines neuen datetime_msc-Typs.
Es wäre besser, einfach das Feld msc zu machen und dort Millisekunden (0-999) separat zu schreiben.