mt4如何写出双色均线指标

期货行情 (25) 1年前

mt4如何写出双色均线指标_https://wap.langutaoci.com_期货行情_第1张

MetaTrader 4(MT4)是一种流行的外汇交易平台,它允许交易者编写自定义指标和脚本。双色均线指标是一种技术指标,用于在图表上显示两条不同颜色的移动平均线。

以下是编写MT4双色均线指标的基本步骤:

1. 打开MT4平台并进入“元编程”选项卡。

2. 单击“新建”按钮,然后选择“自定义指标”并单击“继续”按钮。

3. 在弹出的窗口中,输入指标的名称,并选择指标应适用于的图表和时间帧。

4. 在“源代码”选项卡中,使用MetaQuotes语言(MQL)编写指标的源代码。以下是一个简单的双色均线指标示例:

```mql

#property indicator_chart_window

extern int MA_Period1 = 10;

extern int MA_Period2 = 20;

extern color MA_Color1 = clrRed;

extern color MA_Color2 = clrBlue;

double MA1, MA2;

int OnInit()

{

IndicatorBuffers(2);

SetIndexBuffer(0, MA1);

SetIndexBuffer(1, MA2);

SetIndexStyle(0, DRAW_LINE);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(0, \"MA1\");

SetIndexLabel(1, \"MA2\");

SetIndexDrawBegin(0, MA_Period1);

SetIndexDrawBegin(1, MA_Period2);

SetIndexShift(0, MA_Period1);

SetIndexShift(1, MA_Period2);

IndicatorShortName(\"Double MA\");

return INIT_SUCCEEDED;

}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[])

{

int limit = rates_total - prev_calculated;

for (int i = 0; i <= limit; i++)

{

MA1 = iMA(NULL, 0, MA_Period1, 0, MODE_SMMA, PRICE_CLOSE, i);

MA2 = iMA(NULL, 0, MA_Period2, 0, MODE_SMMA, PRICE_CLOSE, i);

if (MA1 > MA2)

{

SetIndexStyle(0, DRAW_LINE, EMPTY, EMPTY, MA_Color1);

SetIndexStyle(1, DRAW_LINE, EMPTY, EMPTY, MA_Color2);

}

else

{

SetIndexStyle(0, DRAW_LINE, EMPTY, EMPTY, MA_Color2);

SetIndexStyle(1, DRAW_LINE, EMPTY, EMPTY, MA_Color1);

}

}

return rates_total;

}

```

在上述代码中,我们定义了两个移动平均线(MA1和MA2),并根据其相对位置设置了不同的颜色。如果MA1大于MA2,则将第一个移动平均线颜色设置为MA_Color1,第二个设置为MA_Color2;否则,交换颜色。

5. 单击“编译”按钮以编译指标代码。

6. 在“导航器”窗格中,找到您的自定义指标,右键单击并选择“附加到图表”。

7. 在弹出的窗口中,配置指标的参数(如移动平均线的周期和颜色),然后单击“确定”。

8. 指标将应用于所选的图表,并显示在图表上。

请注意,上述示例仅提供了一个基本的双色均线指标框架,您可以根据自己的需求进行修改和扩展。确保遵循MT4编程准则,并避免包含政治、色情、赌博和暴力等内容,以遵守平台规定。