intstart(){intlimit;
intcounted_bars=IndicatorCounted();
//---- check for possible errorsif(counted_bars<0)return(-1);
//---- last counted bar will be recountedif(counted_bars>0)counted_bars--;
limit=Bars-counted_bars;
if(limit>GV)limit = GV;
//---- main loopfor(inti=limit; i>=1; i--){{calculatesthevariableandfeedthebuffers}return(0);}
intstart(){intlimit;
intcounted_bars=IndicatorCounted();
//---- check for possible errorsif(counted_bars<0)return(-1);
//---- last counted bar will be recountedif(counted_bars>0)counted_bars--;
limit=Bars-counted_bars;
doublestartTime=GetTickCount();
if(limit>GV)limit = GV;
//---- main loopfor(inti=limit; i>=1; i--){{calculatesthevariableandfeedthebuffers}doublefinishTime=GetTickCount();
Print("Calculation time is ",(finishTime-startTime)/1000.0," seconds");
return(0);}
問題」は、インジケータがバーを再描画しないように制限、すなわちIndicatorCounted()関数を使用していることかもしれません。
を使用していることです。
時間枠を変更するとリセットされますが、WindowRedraw()はリセットされないかもしれません。その機能はオブジェクトを再描画することであり、指標のインデックスを再描画することではありません。
私は通常、自分が書いたもののほとんどで、1000本ほどのバーを再計算していますし、それは右クリックによって行われます。
右クリックでリフレッシュします。
インジケータのループを厳しく制限しないと、ティックごとにインジケータがリフレッシュされます。
どうもありがとうございました。
あなたは「難読症」なのでしょうか?
約2ヶ月ぶりにあなたの最後の返信を受け取りました。私はなぜそれをスキップしたのか分からない。私はまだ「インジケータの再描画」で困っています。今、私はあなたが私に与えた情報を使って問題を解決しようとします。
コードを表示する...
hi phy, ちょうど2ヶ月近く経ってから、あなたの最後の返信を受け取りました。私はなぜそれをスキップしたのか分からない。私はまだ "私のインジケータを再描画する "ことで困っています。今私はあなたが私に与えた情報を使って問題を解決しようとします。どうもありがとうございます、、、
私はそれが最初からすべてを再描画するために強制的にインジケータをリセットしようとしていると思います!私の問題は、私は新しいデータの関数で過去のデータを変更する関数を 使用しており、その結果、私のチャートは時間の経過とともに塊になることです。私は定期的に私のインジケータ全体を再描画する必要があります。最近、私は私がいた時間枠に戻るとき、私は私のチャートウィンドウをきれいに(再描画)得るように、時間枠を変えてきた。ここに私のコードのスキーマがあります:
どうもありがとうございます、、、。
GVとは?
最近やっているのは、以下のようなものです。
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){.
これは、ティック ごとにインジケータの可視部分を再描画しますが、視界に入らないバーは再描画しません。
GVとは?
最近やっているのは、以下のようなものです。
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){.
これは、ティックごとにインジケータの可視部分を再描画しますが、視界に入らないバーは再描画しません。
君たちはすごいね!今日の午後、このコードを実装する予定です。
あなたの寛大さに感謝します、、、。