エラー、バグ、質問 - ページ 2664

 
Stanislav Korotky:

どなたか、これをコンパイルされた方はいらっしゃいますか?
どうしたんですか?

大丈夫、また来てね。

class B {};

template<typename T>
class A
{
    static T *array;
    
    static void check(){
      T *ptr = array; 
    }
};

template<typename T>
static T *A::array;

class Y: public A<B>
{
};

void OnStart()
{
  Y y;
}
静的配列の定義は、クラスYの作成より上位に移動しました。
 

マーケットレビューですべてのシンボルに対して最適化+テストを 実行できるようになった のでしょうか?それとも、最適化せずに同じパラメータで実行するだけで、全体のレビューに行われるのですか?


つまり、Market Watchのシンボルに対して同じパラメータでテストを実行するだけでなく、同時に最適化することができるのですね。そうでない場合は、すべてのシンボルが選択された時点で、最適化パラメータの選択がブロックされます。

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Askr:

マーケットレビューのすべてのシンボルに対して最適化+テストを実行 することは可能ですか?

https://www.mql5.com/ru/code/26132

MultiTester
MultiTester
  • www.mql5.com
Бывает, нужно советник прогнать на множестве символов. Для этого в MT5-тестере существует режим "Все символы, выбранные в окне Обзора рынка". Получается прогон одних и тех же настроек советника на разных символах. Но иногда требуется сделать много различных запусков MT5-тестера. Данная библиотека позволяет это. Возможности. Можно задавать...
 
たしか、標準テスターにはすでに登場していると読んだのですが?

ライブラリの実行方法を知りたいのですが、明確ではありません。結局、Expert Advisor自体はテスターで指定する必要がありますが、ライブラリはどのように起動すればよいのでしょうか?

それとも、スキヤルをターミナルにコピーすれば、すべて勝手に動いてくれるのでしょうか?
 
Askr:
それとも、ターミナルにscialをコピーすれば勝手に動くようになったのでしょうか?

はい。

 
Alexey Kozitsyn:
ストレージにコミットできない...

また同じ問題か!開発者の皆さん、ストレージの修正をお願いしますこれでは仕事になりません。よくあるエラーです。

 
Sergey Dzyublik:

大丈夫、また来てね。

私たちは、連絡を取り合っています。このコードは動作します。

class A
{
  protected:
    int field;

  public:
    A() { field = rand(); }
};

class B: public A
{
  public:
    B(A &origin)
    {
      field = origin.field;// это другой экземпляр, C++ дает ошибку 'int A::field' is protected
    }
    int getField(void) const
    {
      return field;
    }
};


void OnStart()
{
    A a;
    B b(a);
    Print(b.getField());
}

しかし、C++のルールでは、protected(同じクラスとはいえ、別のオブジェクトのフィールド。protectedは同じオブジェクトの継承されたフィールドへのアクセスのみを表し、異種フィールドへのアクセスはpublicでなければならない)には アクセスできないはずです。これはバグなのでしょうか、それとも機能なのでしょうか?

 
Stanislav Korotky:

回ります。これは、動作するコードです。

しかし、C++のルールでは、コンパイル時にprotectedへのアクセスを許可してはいけないことになっています。バグなのか修正なのか?

どういう意味ですか?どのような場所で?つまり、あなたのコードはpublic継承(=子孫のプロクタイルメンバーがpublicになる)であり、メソッドはpublicである。

S.W.目をこすって、どこを見たのか、すみません)
 
Stanislav Korotky:

回ります。これは、動作するコードです。
しかし、C++のルールでは、コンパイル時にprotectedへのアクセスを許可してはいけないことになっています。これはバグなのか修正なのか?

はい、C++オンラインスワーズ: https://onlinegdb.com/Hkv1_13EU
それは開発者次第です。

 
Sergey Dzyublik:

はい、C++オンラインスワーズ: https://onlinegdb.com/Hkv1_13EU
それは開発者次第です。

そうだ、開発者の話を聞こう。このたび、この便利な穴を利用することになりました。もし閉鎖されたら、他の方法を探さなければなりませんね。