コーディングのヘルプ - ページ 463

 
mrcodix:
こんにちは。

ArrayMaximum - MQL4 ドキュメント

調べたところ、この関数は配列内のすべての値のうち、最も高い値を返すようです。私が探しているのは、1つのタイムフレームバー内でインジケータが到達した最高値を教えてくれる関数です。どのように記録すればよいのでしょうか?例えば、インジケータXが直近のバーを形成しているとします。3→5→4→7と推移し、時間枠のバーが閉じると値2で終了します。最高値は7ですが、この値はどのように記録できますか?

自動でやってくれるような関数はありません。

単純に以下のようなことを行ってください。

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(メインループで変数iを使用していることが前提です)

これが実行された後、count変数には、最高値または最安値を検索する必要がある、より高い時間枠のバーの正確な数が格納されているはずです。

 
mladen:
それを自動的にやってくれるような関数はありません。

単純に次のようなことをします。

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(メインループで変数iを使用していることが前提です)

この関数が実行された後、count変数には、最高値または最安値を検索する必要がある、より高い時間枠のバーの正確な本数が格納されます。

こんにちは。

HigherTimeFrameとはどういう意味ですか?

 
mrcodix:
HigherTimeFrameとはどういう意味ですか?

"1本のタイムフレームバー "と呼んでいましたね。.

現在のタイム フレームであれば、最高値と最安値は単に現在のバーの値です。

より高い時間枠のバーに属するバーを探している場合にのみ、それを求めることに意味があります(例えば、15分チャート上にいて、現在の日のためにこれまでに到達した15分インディケータの値の最小値または最大値を確認したい場合など)。

 

こんにちはMladenは、それが移動平均として柔らかい線でこの指標の直線を変換する方法でやってこの指標を変更することが可能であるかどうかを彼女に尋ねたかった。実際にこの指標は、私はあなた/彼/彼女はMAアップセットをプログラムすることができれば彼に聞いていたことを示すように動作し、私はこれを行うには両方の可能性を願っています

non_repainting_supertrend_alerts.mq4[ATTACH]です。

ファイル:
 
morenokosta:
こんにちはMladenは、それが移動平均として柔らかい線でこの指標の直線を変換する方法でやってこの指標を変更することが可能であるかどうかを彼女に尋ねたかった。実際にこの指標は、私はあなた/彼/彼女がMAアップセットを使用してプログラムすることができれば彼に聞いていたことを示すように動作しますが、私はこれを行うことが可能な両方を願っています

non_repainting_supertrend_alerts.mq4[ATTACH]です。

モルノコスタ

スーパートレンドのトレンドはこれらの値に直接依存しているため、これを行うことはできません。これらの値を変更すると、スーパートレンドインジケータは多かれ少なかれ役に立たなくなります。

 
mladen:
morenokosta スーパートレンドのトレンドは、これらの値に直接依存しているので、それは行うことはできません。これらの値を変更すると、スーパートレンドのインジケータは多かれ少なかれ役に立たなくなります。

しかし、それはそこからすべての権利ではありません...しかし、あなたの可用性をありがとうございました。

 
morenokosta:
そこから先は大丈夫です......ありがとうございました。

モルノコスタ

スーパートレンドの「トレンド」は、チャート上に表示されている値にも依存します。これらの値が変更された場合、スーパートレンドの "トレンド "が変更され、それはもはや同じではありません - それは、元のスーパートレンドと比較して、すべての異なる場所に傾向を示すことになります。

 

こんにちは。

助けていただけるかどうかわかりませんが、よろしくお願いします。

私のEAの条件を考えています。しかし、ボリンジャーバンドを 使ったコーディングで、ある種の問題に陥っています。

ボリンジャーバンドは、ローソク足全体が ボリンジャーバンドを超えたら取引するとEAに伝えるにはどうしたらいいでしょうか。

今のところ、条件として

Close[0]>bands(0,0)+Above_Below_Range*P*Point という条件にしています。

悲しいことに、それはこのようなときにトレードを取ります。

私はそれがこのように本体全体が外にあるときに取引を取るようにしたい。

何か解決策があれば教えてください。

ありがとうございます。

ファイル:
 

こんにちは

このインディを見つけ、私のニーズに合うように修正しました。

例えば、CADを含むすべての通貨ペ アのチャートを開くために入力ボックスを置くことができるかどうか/どのように教えてください。

そうでなければ、私が1つのペアをロードし、チャートを開くための入力ボックスです。

お時間をいただきありがとうございました。

ダレン

文字列 template_ = "DCC";

//

void OnStart()

{

//

long nr;

nr = ChartOpen(Symbol(),1440).ChartApplyTemplate(nr,template_)。

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),240)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),60)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),15)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),5)。

ChartApplyTemplate(nr,template_)を使用します。

//

}

 
DCC66:
こんにちは

このインディを見つけ、私のニーズに合うように修正しました。

例えばCADを含む全ての通貨ペアのチャートを開くための入力ボックスを置くことができるかどうか/どのようにすることができるか教えてください。

そうでない場合は、私が1つのペアをロードし、チャートを開くための入力ボックスです。

お時間をいただきありがとうございました。

ダレン

文字列 template_ = "DCC";

//

void OnStart()

{

//

long nr;

nr = ChartOpen(Symbol(),1440).ChartApplyTemplate(nr,template_)。

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),240)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),60)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),15)。

ChartApplyTemplate(nr,template_)。

nr = ChartOpen(Symbol(),5)。

ChartApplyTemplate(nr,template_)を使用します。

//

}

まず、名前に「CAD」を含むシンボルが何であるかを確認する必要があります。

このインジケーターのコードを使用することができます :https://www.mql5.com/en/forum/173060/page118