莫等闲 发表于 2023-3-12 23:31:41

我没学过mql4,靠chatGPT写了一个指标

投资人说,他没学过MQL4代码,靠chatGPT很快就写出了一个MT4指标:)


原来是真的哦,请看下图




问:MQL4,编写一个每间隔10分钟语音播报当前价格的指标
答:以下是一个每间隔10分钟语音播报当前价格的指标的示例代码:
//+------------------------------------------------------------------+
//|                                                MyQuote.mq4 |
//|                     Copyright 2023, ChatGPT                      |
//|                                       https://www.chatgpt.com/ |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow

// 输入参数
input int IntervalMinutes = 10;   // 报价时间间隔(分钟)

// 缓存数组
double MyQuoteBuffer[];

// 初始化函数
int init()
{
    // 指定缓存数组
    SetIndexBuffer(0, MyQuoteBuffer, INDICATOR_DATA);

    // 每10分钟更新一次报价
    int interval = IntervalMinutes * 60;
    SetTimer(interval);

    return (0);
}

// 计算函数
int start()
{
    // 读取当前时间
    datetime now = TimeCurrent();

    // 取整到最近的10分钟
    datetime rounded = MathRound(now / (IntervalMinutes * 60)) * (IntervalMinutes * 60);

    // 如果当前时间是报价时间
    if (now == rounded)
    {
      // 获取当前价格
      double price = MarketInfo(Symbol(), MODE_BID);

      // 将价格保存到缓存数组中
      MyQuoteBuffer = price;

      // 播报价格
      string message = "当前" + Symbol() + "的价格为" + DoubleToString(price, Digits);
      Alert(message);
    }

    return (0);
}

// 计时器回调函数
void OnTimer()
{
    // 强制重新计算指标
    IndicatorRedraw();
}
使用以上代码编写一个指标,并将其保存为“MyQuote.mq4”文件。将该文件复制到MetaTrader 4的“MQL4\Indicators”目录下,并在MT4的“导航”窗格中找到该指标并将其拖拽到图表上即可。该指标将每10分钟报价一次,并在每次报价时语音播报当前价格。你可以根据自己的需求对代码进行修改和优化。
页: [1]
查看完整版本: 我没学过mql4,靠chatGPT写了一个指标

“失败是成功的一部分。一生中没有称心如意的事情。但是,如果您从中吸取教训,失败将永远不会成为成功的障碍”——汉克·亚伦