mql5言語の特徴、微妙なニュアンスとテクニック - ページ 85

 
ニコライ・セムコ

とても興味深いです...。
なぜこのような現象が起こるのか、何か心当たりはありますか?

その仕組みとは?

正確には言いにくいのですが。変数が変化しないことが事前に分かっている場合、よりエレガントな格納方法が見つかり、ループやその他のコンパイラの最適化が解決されることがあります。

ですから、セルフチェックのためだけでなく、コンパイラのためにも、できるだけconstを使うことをお勧めします。

 
fxsaber:

はっきりとは言えません。変数が変化しないことがあらかじめ分かっている場合、よりエレガントな格納方法を見つけることができ、サイクルやその他のコンパイラの最適化を明らかにすることができます。

ですから、自己監視のためだけでなく、コンパイラもなるべくconstを使うことをお勧めします。

他のStringXXX関数は確認されましたか?みんな遅いのかもしれませんね。-D
 
アラン・ヴェルレーエン
他のStringXXX関数は確認されましたか?みんな遅いのかもしれませんね。-D

してないんです。そのために 必要だったんです。

Скрипты: 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)));
}

結果(リリース)。

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

このように、コンパイラがこのようなコードを最適化する能力があるため、これらのテストは全く客観的ではありません。 1つの同じ文字列が複数回パースされる一方で、各反復で異なる文字列をパースする必要があります。

 
アレクセイ・ナヴォイコフ

このように、コンパイラがこのようなコードを最適化する能力があるため、これらのテストは全く客観的ではありません。 1つの同じ文字列が複数回パースされる一方で、各反復で異なる文字列をパースする必要があるのです

このような状況を考えましたが、より重いコードは敷きませんでした。同じ結果になります。

 

迷子になったので、ここに複製します。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

初心者からのFAQ MQL5 MT5 MetaTrader 5

ヴィタリー・ムジチェンコ さん 2018.04.18 14:54

テスターで多通貨モードでテストした後、我々は唯一の結果を参照してください...、しかし、我々は全体の結果以外の何も表示されない、私に教えてもらえますか?

どこかの記事かkodobaseで、各シンボルの結果を別々に表示するコードに出会いました。それについて誰が知っていますか?

 
ヴィタリー・ムジチェンコ

ここに複製します、そこで迷子になったのでしょう

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

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

これを見つけたのですが、ちょっと違いますね。

ありがとうございました。

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

MetaQuotes-DemoにMetaTrader 5 build 1795のベータ版をリリースしました。

fxsaber さん 2018.04.24 09:37

テスター
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).


last-priceとこれらの設定のあるシンボルとの関係は?

SYMBOL_TICKS_BOOKDEPTHをゼロにする必要があります。そうしないと(スクリーンショットでは=9)、上記の投稿のようにテスターはlast-price(何もない場合でも)を期待することになります。

したがって、"Copy from: "の後は、このパラメータに注目してください。
 
SBで見た、可能性があったとは
template <typename T>
struct TMP
{
  T Tmp;
};

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