template <typename T>
T GetValue()
{
T Res; // possible use of uninitialized variable 'Res'return(Res);
}
voidOnStart()
{
MqlTick Tick = GetValue<MqlTick>();
int i = GetValue<int>();
}
ライフハック
template <typename T>
const T GetDefaultValue( void )
{
struct STRUCT_TYPE
{
const T Value;
};
const STRUCT_TYPE Res = {0};
return(Res.Value);
}
voidOnStart()
{
int i = GetDefaultValue<int>();
MqlTick Tick = GetDefaultValue<MqlTick>();
string Str = GetDefaultValue<string>();
}
HistorySelectは非常に高価な機能です。しかし、HistorySelectByPositionはさらに高価である。
例えば、クローズドポジションの最初のディールを求める必要がある場合、次の2つの方法で行うことができます。
2つ目の項目は、もっと安くてもいいのでは?しかし、確かに値段は高くはない。
テスターでHistorySelect*-functionsを呼び出すのは、ほとんど計算資源の 無駄遣いです。そのため、常にその数を最小限に抑えるようにする必要があります。特にHistorySelectByPosition。
テスターのヘッジ口座の場合これは、テスターの結果が口座の種類に大きく左右されることを意味します。
あるスレッドで判明したように、テスターの結果は、テストがローカルエージェントで行われるか、分散ネットワーク上のエージェントの一つで行われるかにさえ依存します。
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
あるスレッドで判明したように、テスターの結果は、テストがローカルエージェントで行われるか、分散ネットワーク上のエージェントの一つで行われるかにさえ依存するのです。
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
このスレッドの文脈にないBAGについて説明されていますね。リミッターの実行が違うのは、公式見解です。
同意見です。ただ、テスターがますます予測不可能なツールになりつつあることを指摘したかったのです。
私もそう思います。ただ、テスターがますます予測不可能なツールになってきていることを指摘したかったのです。
つまり、テスターの結果は、アカウントの種類に大きく左右されるのです。
結果
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
fxsaber さん 2017.04.10 16:53
開発者の皆様、このような状況でWarningを消すにはどうしたらよいでしょうか?ルーディメンツ機能(必須ではありません)