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

 
Комбинатор:

できないって何が?こうやって書くと?

構造体[(int)0]の場合

はい、そのような書き方はできません。さらに言えば、Struct[(MqlTick)0] もそうだ。


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

MetaTrader 5ビルド1570の新バージョン:MQL5におけるマーケットウォッチの改善とテンプレート機能の拡張について

メタクォーツ・ソフトウェア株式会社, 2017.03.22 16:31

  1. MQL5: テンプレート関数の明示的な特殊化の可能性が追加されました。このため、タイピングパラメータは、コールパラメータ一覧の前に指定する必要があります。
    template<typename T>
    T Func() { return (T)0; }
      
      
    void OnInit()
      {
       Func<double>();   // явная специализация шаблонной функции
      }
    このように、特殊化は呼び出しパラメータによるものではなく、明示的に型を指定することで行われる。
 
C言語はクールなプログラミング言語です。でも、多くの人は目をつぶってプログラムしているんですよ(笑)。
 

このように、特殊化はパラメータを呼び出すことではなく、型を直接指示することで行われる。

どのような種類ですか?強姦している構造の種類は?

 
Алексей Тарабанов:

どのような構造でレイプするのですか?

struct STRUCT
{
  template <typename T>
  void operator []( int )
  {
    Print(__FUNCSIG__);
  }
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.operator[]<int>(0);
  Struct.operator[]<MqlTick>(0);
}

結果
void STRUCT::operator[]<int>(int)
void STRUCT::operator[]<MqlTick>(int)
 
fxsaber:

結果

単純にデータ型を 勉強してください。
 
Алексей Тарабанов:
ただ、データの種類 を勉強してください。
ユーモアのセンスがあること - これに尽きます。
 
fxsaber:
ユーモアのセンスがあること - これに尽きます。

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

タスクはすでにこの戦略を変更し、リクエストの最も遠い日付から500本より深い データを持ち出さないように設定されています。これにより、マーケットスクリーナーを苦もなく書くことができるようになります。

1.この深さを変更することは可能でしょうか?

2.MT5のどこで読み込み履歴の上限が規制されているのか?

 
Tutorial for Dummiesを読みました。 アルゴリズムはあるのですが、きちんとした処方ができないのです。
そこで、0を除く過去86本のローソクのデータセットにアクセスし、白いローソクを1、黒いローソクを0として、1本のローソクの終値と1本のローソクの 値が同じなら、2本のローソクの終値を見て、1本の始値より高ければ0に、2本のローソクの終値と1本の始値が同じなら同じ原理で2本のローソクの始値と終値を見比べてみようというものである。
15分または60分ごとにサイクルが実行されます
 
これは言語のバグなのでしょうか、それとも文書化されていない機能なのでしょうか?
struct STRUCT
{
  void operator =( STRUCT& ) { Print(__FUNCSIG__); }
};

void OnStart()
{
  STRUCT Struct = {0};
  
  Struct = (STRUCT)Struct; // Пусто
  Struct = Struct;         // void STRUCT::operator=(STRUCT&)
}

テンプレート演算子にしても、演算子は呼ばれない!