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

 

こんにちは、どなたかこのインジケーターをサブウィンドウに貼り付けられるようにコーディングしていただけないでしょうか・・・・? ありがとうございます。

ファイル:
5days.mq4  4 kb
 

こんにちは。

チャート上にいくつかのボタンがあり、ボタンの後ろに矩形が作成されています。

今、私がボタンをクリックしたいときは、毎回、私は矩形に達するだけです。

どうしたらいいでしょうか?

OBJPROP_SELECTABLE = falseとします。

またはOBJPROP_BACK = trueです。

は役に立ちません。

 

Mladen, なぜ、すべてのインジケータは宣言するのですか。

extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;

キャンドルは、信号のオープン、開始を与えるからです。私は間違っているかどうか正しいですか?

 
popej30:
Mladen、 なぜあなたはすべての指標を宣言するのですか。
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
キャンドルは、信号のオープン、開始を与えるので。私は間違っているかどうか正しいですか?
あなたは、メタトレーダーで7価格の選択肢を持っています。

開く

閉じる

高い

ロー

中央値 - (高値+安値)/2

標準偏差 - (高値+安値+終値)/3

重み付け - (高値+安値+終値+終値)/4

Closeは通常の終値(BidがCloseと異なる場合があるので、チャート上で通常表示されている価格)、Using open price in indicatorはそのバーのオープンプライスを使用して値を設定し、現在の(オープンバー)変更を無視する。

追記:オプションは、あなたが望む価格を使用することができるようにするためにあります。終値を 使用したデフォルト値は、メタトレーダーだけでなく、ほとんどのインジケーターでデフォルト値として広く受け入れられています。もし終値が嫌なら、始値を使えばいいのですが、現在のバーの始値を使った方がいいというルールはありません(全く逆で、上に説明したような理由があります)。

 
popej30:
Mladen, なぜすべての指標を宣言するのですか。
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
キャンドルは、信号のオープン、開始を与えるからです。私は間違っているかどうか正しいですか?

通常の指標は終値を使うものがほとんどですが、CCIは代表的な価格を使います。それは、openよりも現在の価格をうまく表示してくれるからだと思います。オープンプライスにインジケータを設定した場合、クローズのように現在のローソク足を再計算することはありませんが、現在の価格がどこであるかも表示されません。また、closeの インジケータを使って、シグナルが出たら次のローソク足でエントリーするのと、openのインジケータを使って、現在のローソク足でエントリーするのでは、全く同じになるのですが...。

編集:私はちょうどMladenが答えたのを見た、私は週末で誰もここにいなかったと思ったので、私は助けたいと思った 。私はとにかく私の返信を残す。Regards.

 

この指標は、価格に追従していれば、常に再描画されます。

 
popej30:
インジケータが価格に追従している場合、常にリペイントが行われると考えています。

再描画と現在開いているバーの価格変更の 計算を混同しています。

再描画/再計算は、閉じたバーを変更する場合です(再描画はコーディングエラーです)。現在の価格状態を反映するために開いたバーを変更することとは関係ありません。

 

ボタンの後ろに矩形を描き、ボタンをクリックすると矩形ではなくイベントが発生すると定義することはできません。

しかし、私は別の質問があります。

どうすれば、定義された長さの水平線を 描くことができるのでしょうか?OBJ_TRENDでやってみましたが、線の一辺は無限かゼロです。だから、Bid-10からBid+10まで水平線を引くことができません。

解決策はありますか?

 

私は初心者のコーダーです。orderselect関数で 現在のウィンドウのシンボルだけを選択する方法は?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); この文章をどのように修正すればよいでしょうか?

どうもありがとうございました。

 
leowang:
注文選択関数で現在のウィンドウのシンボルだけを選択するにはどうすればよいですか?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); この文章を修正する方法は?

ありがとうございました。

オーダーセレクト を修正することはできません。しかし、処理された注文をフィルタリングすることはできます。OrderSelect()の直後にifを一つ追加し、すべての処理を次の行以降に追加してください。

if (OrderSymbol()!=Symbol()) continue;