首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在mql4中绘制曲线进度图?

在mql4中绘制曲线进度图,可以通过使用绘图函数来实现。MQL4是一种专门用于MetaTrader 4平台的编程语言,用于开发自动交易系统和指标。

要绘制曲线进度图,可以按照以下步骤进行:

  1. 创建自定义指标或脚本:在MetaEditor中创建一个新的自定义指标或脚本文件。可以使用#property indicator_chart_window指令将指标显示在图表上,或者使用脚本来执行特定的功能。
  2. 定义输入参数:使用input关键字定义需要的输入参数,例如曲线的颜色、宽度等。
  3. 定义初始化函数:使用OnInit函数来初始化指标或脚本。在该函数中,可以使用IndicatorBuffers函数来定义需要的缓冲区。
  4. 计算曲线数值:使用iCustom函数获取所需的数据,或者进行计算,将结果存储在缓冲区中。可以使用SetIndexBuffer函数将计算结果与缓冲区关联起来。
  5. 绘制曲线:使用Plot函数来绘制曲线。可以使用Plot函数的不同参数来设置曲线的样式、颜色等。
  6. 更新曲线:在每个新的价格更新时,使用OnCalculate函数来更新曲线的数值。可以使用CopyBuffer函数获取最新的数值,并使用PlotIndexSetDouble函数更新曲线。

以下是一个示例代码,用于在mql4中绘制曲线进度图:

代码语言:txt
复制
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue

input int period = 14;

double buffer[];

int OnInit()
{
    SetIndexBuffer(0, buffer);
    return(INIT_SUCCEEDED);
}

void 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;
    if (prev_calculated > 0)
        limit++;

    for (int i = 0; i < limit; i++)
    {
        // 计算曲线数值
        buffer[i] = iCustom(NULL, 0, "CustomIndicator", period, i);
    }
}

在上述示例中,我们使用了buffer作为缓冲区来存储曲线的数值。在OnCalculate函数中,我们使用iCustom函数获取自定义指标的数值,并将其存储在buffer中。然后,使用Plot函数将曲线绘制在图表上。

请注意,示例中的CustomIndicator是一个自定义指标的名称,需要根据实际情况进行替换。

这是一个简单的示例,用于演示如何在mql4中绘制曲线进度图。根据具体需求,可以根据自己的需要进行修改和扩展。对于更复杂的图表需求,还可以使用其他绘图函数和技术来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券