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



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();
    
}
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值