MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 115

 
同志よ!

インジケーターをセグメントで表示する必要性がある。
古いデータがチャートに表示されないように、バッファをクリアすることが望ましいです。

問題は、
1.配列をクリア するとエラーが表示されます(out of range)。
2.それに合わせてデータをゼロにすると、グラフがゼロにクロールする。

どの方向に掘ればいいのかアドバイス。ありがとうございます。
 
こんにちは、ex4のインジケータは非常にCPUインテンシブです、私はそのバッファをすべてのティックではなく、(1つまたは2つの)引き抜くインジケータを作成し、ex4の代わりにそれを置くと、プロセッサを助けるでしょうか?
 
Андрей:
ex4のインジケータはプロセッサに大きな負荷をかけますが、毎ティックではなく、(1、2回で)バッファを引き出すインジケータを作り、ex4の代わりに配置すれば、プロセッサの助けになりますか?
私なら、2つのアプローチを選びます。
- 新しいバーのバッファーで作業するか。
- または期間限定でのバッファの更新を行います。
 
terentjew23:
私なら、2つのアプローチをとります。
- 新しいバーのバッファーで作業するか。
- または期間限定でのバッファの更新を行います。
私なら、3番目の選択肢を選びます。そんなインジケーターは、誰にも見つからないように捨ててしまう。
 
terentjew23:
同志よ!

指標を分割して出力する必要性がある。
古いデータがチャートに表示されないように、バッファをクリアすることが望ましい。

問題は、そのことです。
1.配列をクリアすることができず、エラーが出る(out of range)。
2.データがゼロになると、それに応じてグラフもゼロにクロールします。

どの方向に掘ればいいのか、アドバイス。ありがとうございます。
ゼロの代わりにEMPTY_VALUEを入れてみて ください。
 

インジケーターとアドバイザーを入れてみた

int init()
  {
   if(Digits==5){if(Close[0]>1)plus=0.00003; else plus=0.00002;}
   if(Digits==3){if(Close[0]>100)plus=0.003; else plus=0.002;}
}


void start()
  {
   if(time0!=Time[0]){ time0=Time[0]; hig=0; loww=1000;} 


   if((High[0]>hig)||(Low[0]<loww))  {hig=High[0]+plus; loww=Low[0]-plus;

код здесь, поскольку интересуют пиковые моменты индикаторов

хочу так
буфер_0=iCustom(NULL,0,"1rd",1,0);


}
 
Alexey Viktorov:
ゼロの代わりにEMPTY_VALUEを入れてみて ください。
ありがとうございます、助かりました。
 

をどのように行うか。

例えば、口座残高が5800円だとすると

(5800)\2000= (この場合2が出るはずです。端数はすべて捨てられます。このような処理には関数自体が必要です。)

 
trader781:
18002000=1
いいえ、0になります。
 
Alexey Kozitsyn:
いいえ、0になります。
そこは別にやらないといけないから消したんです。