找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 14|回复: 0

量化交易之MQL4篇 - 模板、图表、窗口的相关操作

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-23 00:49:00 | 显示全部楼层 |阅读模式
void OnStart() {

    // 加载模板 20180505
    if(ChartApplyTemplate(0, "20180505")) {
      Alert("seikou");
    }

    // 保存模板
    ChartSaveTemplate(0, WindowExpertName());


    ChartSetInteger(0, CHART_COLOR_BACKGROUND, Black); // 设置背景色
    ChartSetInteger(0, CHART_AUTOSCROLL, true); // 自动滚动
    ChartSetInteger(0, CHART_SHIFT, 1); // 偏移量 1
    ChartSetSymbolPeriod(0, Symbol(), PERIOD_D1); // 设置货币对与时间周期

    // 设置盘面价格纵坐标的最小值
    ChartSetInteger(0, CHART_SCALEFIX, 1);
    ChartSetDouble(0, CHART_FIXED_MIN, Low[0]);

    ChartSetString(0, CHART_COMMENT, "TQZ");

    // 打开指定货币对与周期的窗口
    ChartOpen("GBPUSD", PERIOD_M15);
    ChartOpen("USDJPY", PERIOD_M15);

    // 遍历图表并操作
    long qian = ChartFirst();
    for(int i=0; ; i++) {

      // 在遍历图表过程中操作
      //ChartSetString(qian, CHART_COMMENT, IntegerToString(qian));
      ChartClose(qian);
      //if(ChartSymbol(qian) == "EURUSD" && ChartPeriod(qian) == PERIOD_M15) {
      //   ChartSetInteger(qian, CHART_COLOR_BACKGROUND, White);
      //}

      long next = ChartNext(qian);
      qian = next;
      if(next<0) break;
    }

    // 截图
    ChartScreenShot(0, Symbol()+".jpg", 800, 600, ALIGN_RIGHT);


    // 指定窗口的指标个数
    int total=ChartIndicatorsTotal(0, 0);
    for(int i=0; i<total; i++) {
      // 删除指标
      string indicatorName = ChartIndicatorName(0, 0, i);
      ChartIndicatorDelete(0, 0, indicatorName);
    }

    // 当前图表内的窗口个数
    int windowsTotal = WindowsTotal();

}

复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-12 10:40 , Processed in 0.101202 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表