Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 85

 
Nikolai Semko:

Es ist sehr interessant...
Haben Sie eine Ahnung, warum das so ist?

Was ist der Mechanismus?

Es ist schwer, das genau zu sagen. Wenn Sie im Voraus wissen, dass sich eine Variable nicht ändern wird, können Sie einen eleganteren Weg finden, sie zu speichern und Schleifen und andere Compileroptimierungen zu lösen.

Ich würde also empfehlen, const so oft wie möglich zu verwenden, nicht nur zur Selbstkontrolle, sondern auch für den Compiler.

 
fxsaber:

Das ist schwer zu sagen. Wenn Sie im Voraus wissen, dass sich die Variable nicht ändern wird, können Sie einen eleganteren Weg finden, sie zu speichern und so Zyklen und andere Compiler-Optimierungen aufdecken.

Daher würde ich nicht nur für die Selbstüberwachung, sondern auch für den Compiler empfehlen, const so oft wie möglich zu verwenden.

Haben Sie die anderen StringXXX-Funktionen überprüft? Vielleicht sind sie alle langsam: -D
 
Alain Verleyen:
Haben Sie die anderen StringXXX-Funktionen überprüft? Vielleicht sind sie alle langsam: -D

Das habe ich nicht. Dafür habe ich es gebraucht.

Скрипты: ThirdPartyTicks
Скрипты: ThirdPartyTicks
  • 2018.04.11
  • www.mql5.com
ThirdPartyTicks: Автор: fxsaber...
 

fxsaber:

void OnStart()
{  
  const string Str = "123.456";
  
  BENCH(Print(Bench1(1 e7, Str)));
  BENCH(Print(Bench2(1 e7, Str)));
  BENCH(Print(Bench3(1 e7, Str)));
}

Ergebnis(Freigabe).

1234559999.924436
Time[Print(Bench1(1 e7,Str))] = 1656182
1234559999.924436
Time[Print(Bench2(1 e7,Str))] = 1639179
1234559999.924436
Time[Print(Bench3(1 e7,Str))] = 147382

Diese Tests sind aufgrund der Fähigkeit des Compilers, solchen Code zu optimieren, nicht ganz objektiv, da ein und dieselbe Zeichenkette mehrfach geparst wird, während Sie bei jedem Durchlauf eine andere Zeichenkette parsen müssen

 
Alexey Navoykov:

Diese Tests sind aufgrund der Fähigkeit des Compilers, solchen Code zu optimieren, nicht ganz objektiv, da ein und dieselbe Zeichenkette mehrfach geparst wird, während bei jeder Iteration andere Zeichenketten geparst werden müssen

Ich habe diesen Umstand in Betracht gezogen, aber keinen schwereren Code entworfen. Das Ergebnis ist das gleiche.

 

Ich werde es hier duplizieren, es ist verloren gegangen

Forum für Handel, automatisierte Handelssysteme und Strategietests

FAQ von Anfängern MQL5 MT5 MetaTrader 5

Vitaly Muzichenko, 2018.04.18 14:54

Können Sie mir sagen, nach dem Test im Mehrwährungsmodus im Tester sehen wir nur das Ergebnis ..., aber wir sehen nichts anderes als das Gesamtergebnis.

Irgendwo bin ich entweder in einem Artikel oder in kodobase auf einen Code gestoßen, der die Ergebnisse für jedes Symbol einzeln anzeigt. Wer weiß was darüber?

 
Vitaly Muzichenko:

Ich werde es hier duplizieren, es muss dort verloren gegangen sein.

https://www.mql5.com/ru/articles/4562

Работаем с результатами оптимизации через графический интерфейс
Работаем с результатами оптимизации через графический интерфейс
  • 2018.04.05
  • Anatoli Kazharski
  • www.mql5.com
Продолжаем развивать тему обработки и анализа результатов оптимизации. В предыдущей статье было показано, как визуализировать результаты оптимизации через графический интерфейс MQL5-приложения. На этот раз усложним задачу: выберем  100 лучших результатов оптимизации и отобразим их в таблице графического интерфейса.  Кроме этого, продолжим...
 

Ich habe das hier gefunden, aber es ist ein bisschen anders.

Ich danke Ihnen!

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Veröffentlichung der Beta-Version von MetaTrader 5 build 1795 auf MetaQuotes-Demo

fxsaber, 2018.04.24 09:37

Tester
TESTER_EURUSD : real ticks begin from 2018.04.02 00:00:00
TESTER_EURUSD : 2018.04.03 00:00 - 2018.04.24 00:00  last prices absent for 15 whole days, bars built by bid prices
final balance 10000000.00 USD
OnTester result 203343
TESTER_EURUSD,M1: 1407448 ticks, 21591 bars generated. Environment synchronized in 0:00:00.172. Test passed in 0:00:00.905 (including ticks preprocessing 0:00:00.203).


Was hat der letzte Preis mit einem Symbol mit diesen Einstellungen zu tun?

Sie müssen SYMBOL_TICKS_BOOKDEPTH auf Null setzen, sonst (im Screenshot = 9) erwartet der Tester den letzten Preis (auch wenn es keinen gibt), wie oben im Beitrag.

Achten Sie also nach "Kopieren von:" auf diesen Parameter.
 
Ich habe es in der SB gesehen, wusste aber nicht, dass es eine Möglichkeit ist.
template <typename T>
struct TMP
{
  T Tmp;
};

TMP<int>Var; // Между типом и названием переменной нет пробела