ロボットコードの一部をインジケータに保持する意味があるのはどんな場合ですか? - ページ 29

 

以下は、時間計測を伴う正しいコードです。ディミトリはインジケーターですくい上げ、ここに投稿して比較できるようにする必要があります。


extern double Alpha = 0.1;

double EMA;

double GetPrice()
{
  return(Open[0]);
}

void init()
{
  EMA = GetPrice();
  
  return;
}

void start()
{
  static int PrevTime = 0;
  int start = GetTickCount();
  
  if (PrevTime == Time[0])
    return;
 
  PrevTime = Time[0];
    
  for(int i = 0; i != 100000; i++)
      EMA = EMA * Alpha + (1 - Alpha) * GetPrice();
  Print("Calculation Time", GetTickCount()-start,"ms");

  return;  
}
 
hrenfx:

比較のために、インジケータ(iema.mq4)を少し修正しました。

とEA。


私のコードだと言わないでください
 
hrenfx:
生意気なことを言うな、コードは11ページの付録の中にあるんだ。
そこにタイミングがない、コードが不完全なんです。
 
Andrei01:

以下は、時間計測を伴う正しいコードです。

誰が正しいと言っているのか?
 
TheXpert:
誰が正しいって言うんだ?
このコードは、EAにおけるEMAの計算時間の測定という問題を完全にクリアしています。
 
Andrei01:

以下は、時間計測を伴う正しいコードです。Dimitriは彼のツールでそれをすくい上げ、ここに投稿して比較できるようにしてください。

そんなデタラメをちゃんとしたコードと言いながら、私に関係があるとほざくとは、随分と神経が図太いですね。

 
Andrei01:

以下は、時間計測を伴う正しいコードです。ディミトリはインジケータですくい上げ、ここに投稿して比較できるようにする必要があります。

完全な誤りです。明らかに焦ってコードに手を出していますね。文字列が少ないだけです。

価格BPを生成し、「all in one」と「with indicator」バリアントの実行時間を計算します。

 
私は永久に支店を去ります。
 
hrenfx:

価格BPを生成し、オールインワンとインジケータの実行時間を計算します。


最初の段階でのBPは必要なく、単純にこのコード断片の速度を比較すればよい。そのような結果は重要ではなく、重要なのは計算時間だけです。

より複雑なケースでは、内部ループの代わりにスタート関数をループさせることができます。

 
Integer:

そんな異端をまっとうなコードと称して、私に関係することをほのめかすとは、ずいぶんな度胸ですね。

失礼の前に競争の条件をよく読みなさい、比較のためのコードを要求した-ここにコードはある。

あとは、先ほどと同じように、インジケーターに取り付けてください。