PDA

View Full Version : バッファを空にする方法、少なくともバッファの長さを制限する方法



ひなた
08-20-2009 04:31, 04:31 AM
添付書類私は別のウィンドウの行に置かれたドットを示すマルチフレームインジケータを書いています。私はドットの数を3に制限したい(5分のグラフに15分のバーを表示するため)

私が使用しているコードの関連セクションはこれです。

int start()
{
int i、limit;


limit =(TimeFrame1Period()) - 1;
for(i = limit; igt; = 0; i--)



しかし、何が起こるかは、さらに5分後、バーの数は4になり、5分ごとに増加します。
バーの数を元の3に制限するプロセスは何ですか?

https://www.forexgroove.com/attachments/15189530301158701010.jpg

Satoru
09-25-2021 15:39, 03:39 PM
コードを投稿していないので、私はあなたの命名規則に従うことができます。バッファーの名前をbuffer1 []とし、バッファーの空の値を別のものに変更していないと仮定していると仮定します。開始関数の最後に次の行を追加するだけです。挿入されたコードバッファ1#91; 3#93; = EMPTY_VALUE;その方法では、常にbuffer1 [0]、buffer1 [1]、およびbuffer1 [2]に値があります。それについて考える。新しいろうそくが開けられると、buffer1 [2]はbuffer1 [3]になり、上記のコードはそれが何の価値も与えないので、有効期限が切れているので正方形を削除します。他のextern変数を追加することで、設定可能な値として '3'を持つことができます。挿入されたコードextern int Max_Dots_Num = 3;開始関数の最後に、次のコードを使用します。挿入コードbuffer1#91; Max_Dots_Num#93; = EMPTY_VALUE;お役に立てれば。禅について

ひなた
09-25-2021 17:00, 05:00 PM
3アタッチメントこんにちは、禅、私に戻ってくれてありがとう。私は徐々にMT4プログラミングを自分自身に教えています。主に自分自身に質問してから、答えをコードで策定しようとしています。試行錯誤の過程で前進するもう少し詳しい情報。私はTRIXフェーズを表示するためにMACD_CCIマルチタイムフレームインジケータを採用しました。これは、正と立上り、正と立下り、負と立上り、立下りと立下りの値を含むバッファで、マルチカラーのマクロヒストグラムを模倣します。ここまでは順調ですね。マルチタイムフレームインジケータの性質上、より高いタイムフレームの最後のバーは、より高いタイムフレームバーが閉じられるまで、より低いタイムフレームで常に再ペイントされる。これは理解される。だから私は、矢印バッファが進行中のバーを表示するようにバッファマッピングを変更し、さらに高いタイムフレームバーが完了し、チャートが前方に移動すると、完成したバーが四角で表示されます。 (肯定から否定への変化は、とにかく色の変化によって示されるので、私は現在、矢印でそれを複製しているだけです。)そして、これが私が立ち往生している場所です。もう私を連れてきてくれますか?写真が1000以上の言葉を言っている(私が言っていることを示すためにPhotoshopの仕事をしてきた)。編集が後で追加されました:すべて修正されました。まったく違うことをやっているうちに、答えは私のところにきた。面白い古い世界...
https://www.forexgroove.com/attachments/1518953033606601257.mq4
https://www.forexgroove.com/attachments/1518953035533851138.ex4
https://www.forexgroove.com/attachments/15189530371675714555.jpg