智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 915|回复: 1

数组越界,请老师帮忙看一下

[复制链接]
发表于 2018-3-21 10:59:40 | 显示全部楼层 |阅读模式

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot Label2
#property indicator_label2  "Label2"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
#include <zhinengjiaoyi.com\jiaoyi.mqh>
#include <zhinengjiaoyi.com\shuju.mqh>
#include <zhinengjiaoyi.com\huaduixiang.mqh>
jiaoyi jy;
shuju sj;
huaduixiang hdx;
//--- indicator buffers
double         Label1Buffer[];
double         Label2Buffer[];
input string 货币一="EURUSD";
input string 货币二="GBPUSD";


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
   SetIndexBuffer(1,Label2Buffer,INDICATOR_DATA);
  
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
   ArraySetAsSeries(Label1Buffer,true);
   ArraySetAsSeries(Label2Buffer,true);
   double spread1[];
   double spread2[];   
   double duibicha1[];
   double duibicha2[];   
   int shu=0;
   if(prev_calculated==0)
     {
      shu=rates_total-50;
     }
     else
     {
      shu=rates_total-prev_calculated+50;
     }
     for(int i=0;i<shu;i++)
        {  
         spread1[i]=sj.iCloseMQL4(货币一,0,i)-sj.iCloseMQL4(货币一,0,i+1);
         spread2[i]=sj.iCloseMQL4(货币二,0,i)-sj.iCloseMQL4(货币二,0,i+1);
         duibicha1[i]=spread1[i]-spread2[i];
         duibicha2[i]=spread2[i]-spread1[i];
         Label1Buffer[i]=sj.iMAOnArrayMql4(duibicha1,0,20,0,MODE_EMA,i);
         Label2Buffer[i]=sj.iMAOnArrayMql4(duibicha2,0,20,0,MODE_EMA,i);
        }
        
      
      
      
      
   return(rates_total);
  }
//+------------------------------------------------------------------+
回复

使用道具 举报

 楼主| 发表于 2018-3-21 11:01:07 | 显示全部楼层
同样代码在mt4,没有提示数组越界,请老师帮忙看一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-11-19 15:13 , Processed in 0.075214 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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