インジケーターに色をつける

 

次の上位の時間枠が下降しているときは、チャートに赤い四角(小)を印刷したい。 そして、上がっている場合は白い四角を表示したいのです。

どうすればいいのでしょうか? それがわかれば、他の時間枠や別のバーを追加することができます。

私のコードは今のところ

// 30分足

double open.30.0 =iCustom(NULL,30,"Heiken Ashi",0,2,0); //前回の始値

double close.30.0 =iCustom(NULL,30, "Heiken Ashi",0,3,0); //Previous Close(前回の終値

bool Up.30.0 = (close.30.0>open.30.0);

bool Down.30.0 = (close.30.0<open.30.0);

コメント("˶‾‾‾˵" + Up.30.0 +" "+ Down.30.0");

しかし、コメントには "0 "や "1 "を表示するのではなく、赤や白の四角や点を表示させたいのです。


何か良い方法があれば教えてください。 このサイトやウェブで検索しても何も見つかりません。

 
mrchuckw:

次の上位の時間枠が下降しているときは、チャートに赤い四角(小)を印刷したい。 そして、上がっている場合は白い四角を表示したいのです。

どうすればいいのでしょうか? それがわかれば、他の時間枠や別のバーを追加することができます。

私のコードは今のところ

// 30分足

double open.30.0 =iCustom(NULL,30, "Heiken Ashi",0,2,0); //前回の始値

double close.30.0 =iCustom(NULL,30, "Heiken Ashi",0,3,0); //Previous Close(前回の終値

bool Up.30.0 = (close.30.0>open.30.0);

bool Down.30.0 = (close.30.0<open.30.0);

コメント("˶‾‾‾˵" + Up.30.0 +" "+ Down.30.0");

しかし、コメントには "0 "や "1 "を表示するのではなく、赤や白の四角や点を表示させたいのです。


何か良い方法があれば教えてください。 このサイトやウェブで検索しても見つからないのです。

mrchuckwさん、こんにちは。

このサイトや他のFXフォーラムで、ObjectCreateのコードを持つEAを検索してください...

ObjectCreateを使って、色付きのマークを好きな場所に配置することができます。

お役に立てれば幸いです。

ロバート


 
カラーインジケータは2つのバッファを使用します。1つを値に、もう1つをempty_valueにセットします。コード・ベースのいくつかのインジケータ・コードを見てください
 
ロバートさん、ありがとうございます。
 

以下のコードを使っているのですが、なぜチャート上に白い四角形が表示されないのでしょうか?

ObjectCreate("square",OBJ_RECTANGLE,0,0,0);

ObjectSet("square",OBJPROP_XDISTANCE,193)を実行します。

ObjectSet("square",OBJPROP_YDISTANCE,48)。

ObjectSet("square",OBJPROP_COLOR,White)。

 

mrchuckw:

以下のコードを使っているのですが、なぜチャート上に白い四角形が表示されないのでしょうか?

ObjectCreate("square",OBJ_RECTANGLE,0,0,0);

ObjectSet("square",OBJPROP_XDISTANCE,193)を実行します。

ObjectSet("square",OBJPROP_YDISTANCE,48)。

ObjectSet("square",OBJPROP_COLOR,White);

OBJ_RECTANGLE 16 長方形です。2つの座標を使用します。 座標は時間と価格です ... ... ...

ObjectCreate("square",OBJ_RECTANGLE, 0, datetime time1, double price1, datetime time2, double price2);

ObjectSet("square",OBJPROP_COLOR,White);



... datetime time1, double price1, datetime time2, double price2 の値を記入する必要があります。

あるいは、Label, OBJ_LABELを使用して、squareにwingdingを使用したいですか?https://docs.mql4.com/constants/wingdings

 

OK・・・と思う。 日時指定はしないでほしい・・・。 私は思わない。

私が欲しいものはここにあります。 チャートの下、現在のバーの下に、四角形(wingding 110 ?)を置きたい。

を置き、次の時間枠が下降している場合は赤で、上昇している場合は白で塗りつぶします。

そして、そのバーが閉じて、次のバーが始まると、四角は前のバーの下に移動し、新しいバーの下に新しい四角を作りたいのです。

ということなのだが、これは意味があるだろうか?

では、ObjectCreate() の行はどのように見えるのでしょうか? それとも、別のウィンドウを使うべきですか?

ご教授ありがとうございます。

 
mrchuckw:

OK・・・と思う。 日時指定はしないでほしい・・・。 私は思わない。

私が欲しいものはここにあります。 チャートの下、現在のバーの下に、四角形(wingding 110 ?)を置きたい。

を置き、次の時間枠が下降している場合は赤で、上昇している場合は白で塗りつぶします。

そして、そのバーが閉じて、次のバーが始まると、四角は前のバーの下に移動し、新しいバーの下に新しい四角を作りたいのです。

ということなのだが、これは意味があるだろうか?

では、ObjectCreate() の行はどのように見えるのでしょうか? それとも、別のウィンドウを使うべきですか?

よろしくお願いします。

ああ、なるほど、すべてのバーの下に、インジケータによって白か赤の四角を表示させたいんですね ... オブジェクトを使わずに、インジケータバッファを使ってください。 (https://docs.mql4.com/customind)

2つのバッファを作り、1つは赤い四角、もう1つは白い四角とします。

 
しかし、価格より10ピップス下に設定すると、飛び回ったりしないのでしょうか? バーがどうであれ、チャートの同じ場所にスクエアを表示させたいのです。
 
mrchuckw:
しかし、価格より10ピップス下に設定すると、飛び回らないのでしょうか?
私が言ったのは、バーの安値から 10ピップス下ということです。 必要なコードのほとんどは一般的なもので、別のウィンドウで実行すれば、後でバーの下のポジションに変更するのは簡単です。
 
OK...しばらくこれで遊ばせてください。 ありがとうございました。