MT5ターミナルでインジケーター(ライン、矢印、ヒストグラム)が点滅するのはなぜですか? - ページ 7

 
for(int i=rates_total-prev_calculate; i>=0;i--) のようなループのコードで、rates_total-prev_calculateを1500の数値に置き換えると、フリッカーが止まりました!参考になるか分かりませんが、この方法で解決しました。
 
Dmitry Melnichenko: for (int i=rates_total-prev_calculate; i>=0;i--) のようなループのコードで、rates_total-prev_calculateを1500という数値に置き換えたら、ちらつきが止まりました!参考になるかわかりませんが、このような方法で問題を解決しました。

不思議なことに、この方法では、ループで処理するバーの数を1500本に制限しているだけです。つまり、処理するバーの数を(1桁、あるいは2桁)大幅に制限すると、フリッカーが消えることに気づきましたね。もしかしたら、何かあるのかもしれないので、確認してみようと思います。

そうすると、このスレッドの最初の例のOnCalculate()関数は、次のようになります。

//+------------------------------------------------------------------+
//| Custom indicator iteration function
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер входных таймсерий 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const datetime& time[],     // Time 
                 const double&   open[],     // Open 
                 const double&   high[],     // High 
                 const double&   low [],     // Low 
                 const double&   close[],    // Close 
                 const long& tick_volume[],  // Tick Volume 
                 const long& real_volume[],  // Real Volume 
                 const int&  spread[])       // Spread 
{
// int N=rates_total-prev_calculated; if (N>MAX_PERIOD) N-=MAX_PERIOD;

   for (int i=1500; i>0 && !IsStopped(); i--) {
      double ma_fast=getMA(ma_fast_handle, i);
      double ma_slow=getMA(ma_slow_handle, i);;
      aom=ma_fast-ma_slow;
      if (aom>last_aom) {aUP[i]=aom; aDN[i]=EMPTY_VALUE;}
      else              {aDN[i]=aom; aUP[i]=EMPTY_VALUE;}
      last_aom=aom;
   }
   aUP[0]=EMPTY_VALUE; aDN[0]=EMPTY_VALUE;
   return(rates_total);
}

しかし、インジケータをバーの全セットに表示する必要がある場合、全体として問題を解決することはできません。

 

どうやら、端末がブローカーに見積もり履歴が変更されたことの確認を送信していないようです。(アンチウイルスが抵抗しているのかもしれません)。

しかし、ブローカー(ブローカーのサーバー)は、「相場履歴を変更する必要がある」と、送ったり送らなかったりします。

あるいは、お使いのコンピュータの性能が低すぎて、ブローカーが新しい相場を送信する前に、MT5が相場の履歴を変更する時間がない場合です。

 
Sergey Chalyshev:

どうやら、端末がブローカーに見積もり履歴が変更されたことの確認を送信していないようです。(アンチウイルスが抵抗しているのかもしれません)。

しかし、ブローカー(ブローカーのサーバー)は、「相場履歴を変更する必要があります」と送ったり送らなかったりするのです。

あるいは、コンピュータの性能が低くて、ブローカーが新しい見積もり履歴を送信する前に見積もり履歴を変更することができない。

土日もZZがチラホラ。
 
-Aleks-:

土日もZZがチラホラ。

ブローカーとそのサーバーの設定に依存します。例えばMQLのデモサーバーは、3時間後に履歴が書き換わります。

私が間違っているのかもしれませんが、プラットフォームの開発者が説明に来てくれることを期待しています。


 
Sergey Chalyshev:

ブローカーとそのサーバーの設定に依存します。例えばMQLのデモサーバーは、3時間後に履歴が書き換わります。

私が間違っているのかもしれませんが、プラットフォームの開発者が説明に来てくれることを期待しています。

私はOtkritieというブローカーを持っています -デモ口座では ありません。

開発者はパルチザンとして沈黙している。

 
-Aleks-:

私はOtkritieというブローカーを持っています -デモ口座では ありません。

開発者は党派として沈黙している。


チャート再描画

指定されたチャートを強制的に再描画します。

コードの中にあるのでしょうか?

 
Sergey Chalyshev:

チャート再描画

指定されたチャートを強制的に再描画します。

コードの中にあるのでしょうか?

いいえ。
 
-Aleks-:

いいえ。

この 特殊なインジケーターは不具合なのでしょうか?暇な時にでも調べてみます。

 
Sergey Chalyshev:

この 特殊なインジケーターは不具合なのでしょうか?暇な時にでも調べてみます。

MT5から標準搭載されているZigZagインジケーターのことです。