1

有没有办法可以在 msql 中获取条形图的当前颜色。假设我在图表下降时将其设置为红色,在图表上升时将其设置为绿色。那么如何在 mql 中获取并返回当前颜色呢?

我尝试使用OBJPROP_COLOR但似乎无法让它工作。

4

2 回答 2

3

MQL4在概念上不允许用户触摸查询BarOBJECT。

根本没有以类似方式询问的功能,就像您可以询问任何其他功能一样MT4.Graph.anyOtherGuiOBJECT

颜色设置本身可通过 [ F8 ]属性下的手动 GUI 对话框进行配置

然而,MQL4 可以间接检测上涨看涨/下跌看跌柱

bool isThisBarBULLISH( int aBarPTR = 0 ){
     return ( Close[aBarPTR] > Open[aBarPTR] );
    }

bool isThisBarBEARISH( int aBarPTR = 0 ){
     return ( Close[aBarPTR] < Open[aBarPTR] );
    }

# ||||||||||||||
#
# kindly notice, aBarOBJECT.color has a tri-<state> behaviour:
#
#                           {  aBullish | anIndifferent ( Hammer | ... ) | aBearish }
# ____________________________________________________________________________________
于 2014-06-12T23:11:36.523 回答
0

AFAIK,您只能在这些对象上获取/设置对象属性 ( http://docs.mql4.com/constants/objectconstants/enum_object )

我不确定我是否理解您关于设置条形图颜色的意思。您想更改当前条形的颜色,还是图表上所有条形的颜色?我不认为您可以在 MT4 中以编程方式更改图表上所有条形的颜色。

您可以随时按 F8 并将图表的颜色属性更改为您喜欢的任何颜色。然后您可以右键单击图表,转到模板,然后单击保存模板(将其命名为“默认”)。然后,每当您打开新图表时,它将具有您在模板中设置的颜色。

于 2014-03-07T04:10:01.573 回答