template< typename T >
class SeriesVolume
{
public:
T operator[]( constint i ) const
{
long val[1];
if( CopyTickVolume( Symbol(), Period(), i, 1, val ) == 1 ){
return (T)val[0];
}
return -1;
}
};
SeriesVolume< long > Volume;
混乱させたいなら、これでもいい:
#define CVolume SeriesVolume< long >
CVolume Volume;
興味深い、自明ではないテクニック)
バマー構造には)欠陥があり、最適とは言えない。
コピーブックへ
外部変数を宣言しなければならないことが明らかでない。
"テンプレート上 "とはこういう意味だった:
混乱させたいなら、これでもいい:
それ以外は不要なだけだ。
文章は少ない方が便利なこともある
実現可能性、使いやすさ、パフォーマンスの問題だ。
プログラムのパフォーマンスが落ちることはない。しかし、過剰な詳細を目から隠すことはプラスに働く。このデフィニートリックを覚えて使いこなすべきだ。
恐ろしく高い!本当に構造を通してやりたいのなら、せめてやっておくべきだった。しかも、なぜかチェックがない。
SymbolInfoDoubleはMT4に完全準拠しています。
パフォーマンス測定
結果
私は完全に間違っていた!SymbolInfoDoubleは SymbolInfoTickの2倍遅い。
パフォーマンス測定
測定結果
私は完全に間違っていた!SymbolInfoDoubleはSymbolInfoTickの2倍遅い。
パフォーマンス測定ありがとう。
SymbolInfoDoubleの ドキュメントは嘘ではないことがわかりました:
注
パフォーマンス測定
測定結果
私は完全に間違っていた!SymbolInfoDoubleはSymbolInfoTickの2倍遅い。
staticを使うと速度に影響するのでしょうか?自分で確認しなかったことをお詫びします。
スタティックはスピードに影響しますか?自分で確認しなかったことをお詫びしますが、すでに比較されたと思います。
この場合は違います。コンパイラのバグだと思います。
私は完全に間違っていた!SymbolInfoDoubleはSymbolInfoTickの2倍遅い。
無能だ。テスターの結果
パフォーマンスが必要な場合(オプティマイザー)には、SymbolInfoDoubleを使った 方がいい。現実の世界では違いはない。
ZY パフォーマンスが重要視される環境(テスター)で関数の速度を測定すべきです。