为指标添加颜色

 

我想在下一个较高的时间段下降时,在图表上打印一个红色方块(小)。 如果是上升,则是一个白色的方块。

我如何做到这一点呢? 一旦我弄清楚了,我就可以添加其他时间段和不同的条形图。

到目前为止,我的代码是。

// 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); //前次收盘

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

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

注释("\n 30 min current up or down " + 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); //前次收盘

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

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

注释("\n 30 min current up or down " + Up.30.0 +" "+ Down.30.0)。

但是,我不希望评论中出现 "0 "或 "1",而是希望它显示一个红色或白色的方块或圆点。


希望得到任何帮助... 我在这个网站或网络上都找不到任何东西。

嗨,mrchuckw。

在本网站和其他外汇论坛搜索有ObjectCreate代码的EA...

你可以使用ObjectCreate 将彩色标记放在你想要的地方。

希望这有帮助。

罗伯特


 
颜色指示器使用两个缓冲区。将一个设置为值,另一个设置为空_值。看看代码库中 的一些指标代码
 
谢谢你,罗伯特!
 

我正在使用以下代码......为什么它没有在我的图表上放一个白色的矩形?

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);



你需要为......填写日期时间1、双倍价格1、日期时间2、双倍价格2的值。

或者你想用一个Label, OBJ_LABEL,然后用一个wingding来表示正方形?https://docs.mql4.com/constants/wingdings

 

好吧......我想。 我不希望它是以日期/时间为导向的... 我不认为。

我的要求是这样的。 在图表的底部,在当前的条形图下,我想放置一个正方形(Wingding 110),我可以将其填充为

红色,如果下一个时间段是下降的,或者用白色填充,如果它是上升的。

然后,当该柱状图关闭,下一个柱状图开始时,我想让这个正方形在前一个柱状图下移动,并在新的柱状图下建立一个新的正方形......

这有意义吗?

那么,ObjectCreate()行是怎样的呢? 我如何把它放在图表上我想要的地方,或者我应该使用一个单独的窗口?

谢谢你的帮助。

 
mrchuckw:

好吧......我想。 我不希望它是以日期/时间为导向的... 我不认为。

我的要求是这样的。 在图表的底部,在当前的条形图下,我想放置一个正方形(Wingding 110),我可以将其填充为

红色,如果下一个时间段是下降的,或者用白色填充,如果它是上升的。

然后,当该柱状图关闭,下一个柱状图开始时,我想让这个正方形在前一个柱状图下移动,并在新的柱状图下建立一个新的正方形......

这有意义吗?

那么,ObjectCreate()行是怎样的呢? 我如何把它放在图表上我想要的地方,或者我应该使用一个单独的窗口?

谢谢你的帮助。

啊,好的,所以你想在每个柱子下面有一个正方形,根据指标的不同,可以是白色或红色......不要使用对象,使用指标缓冲区。 (https://docs.mql4.com/customind)

创建2个指标缓冲区,一个用于红色方块,一个用于白色方块,将缓冲区设置为空值(SetIndexEmptyValue( int index, double value))以获得条形下的方块,使用条形低值-10点 ......这基本上就是WHRoeder 所要做的。

 
但如果我把它设置在价格以下10个点,它不会跳来跳去吗?也许我应该把它放在一个单独的windo中。 我想让方块在图表中处于同一位置,无论条形图如何变化。
 
mrchuckw:
但如果我把它设置在价格以下10点,它不会跳来跳去吗?也许我应该把它放在一个单独的窗口里。
如果你想的话,你可以把它放在一个单独的窗口里 ......我说的是比条形图的低点 低10点 ......而不是比当前 价格低10点。 你所需要的大部分代码都是通用的,如果你把它放在一个单独的窗口里,那么事后很容易把它改成在条形图下的一个位置 ......。
 
好吧......让我玩一会儿。 我感谢所有的帮助!
原因: