请教一下,如何在 MT5中EA自定义不同级别均线的颜色

 
比如我用 1小时 5根均线 上穿 1小时10根均线时,开多单,下穿时开空单。但在测试的图表中,两根均线的颜色都是红色 。现在想把 短周期的 5 根 均线用黄色 ,长周期 10 根的均线用红色 ,方便观察,请教在EA中如何做,谢谢!
 
ligh:
比如我用 1小时 5根均线 上穿 1小时10根均线时,开多单,下穿时开空单。但在测试的图表中,两根均线的颜色都是红色 。现在想把 短周期的 5 根 均线用黄色 ,长周期 10 根的均线用红色 ,方便观察,请教在EA中如何做,谢谢!

要在MT5的EA中编写不同的均线,并为它们设置不同的颜色,可以按照以下步骤进行:

1. 首先,在你的代码中定义不同的均线参数。例如,你可以使用不同的变量来表示不同的均线周期,如`int period1 = 20;`和`int period2 = 50;`。

2. 然后,在你的代码中创建相应的均线对象。你可以使用`iMA()`函数来创建均线对象。例如,你可以使用以下代码创建两个不同周期的均线对象:


int maHandle1 = iMA(_Symbol, _Period, period1, 0, MODE_SMA, PRICE_CLOSE);

int maHandle2 = iMA(_Symbol, _Period, period2, 0, MODE_SMA, PRICE_CLOSE);

3. 接下来,你可以使用`ObjectSet()`函数为每个均线对象设置不同的颜色。例如,你可以使用以下代码为第一个均线对象设置红色,为第二个均线对象设置蓝色:

```cpp

ObjectSet("MA1", OBJPROP_COLOR, clrRed);

ObjectSet("MA2", OBJPROP_COLOR, clrBlue);

```

4. 最后,在你的代码中使用`ObjectCreate()`和`ObjectSet()`函数来绘制均线。例如,你可以使用以下代码绘制两个不同颜色的均线:

```cpp

ObjectCreate("MA1", OBJ_TREND, 0, Time[0], ObjectGetValueByShift(maHandle1, 0));

ObjectCreate("MA2", OBJ_TREND, 0, Time[0], ObjectGetValueByShift(maHandle2, 0));

ObjectSet("MA1", OBJPROP_COLOR, clrRed);

ObjectSet("MA2", OBJPROP_COLOR, clrBlue);

至于用多少根线,分别什么颜色,随自己高兴了。