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

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

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

错误无法解决,请帮助

[复制链接]
发表于 2014-10-28 00:12:19 | 显示全部楼层 |阅读模式
我学习写了个指标5cross10,当5日线上穿10日线时画一个白色箭头,10日线下穿5日线画一个红色箭头,代码如下:
//+------------------------------------------------------------------+
//|                                                     5cross10.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property  indicator_color1  Blue
#property  indicator_color2  Yellow
#property  indicator_color3  White
#property  indicator_color4  Red

extern int bigMA=10;
extern int smallMA=5;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,217);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,0.0);

SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,218);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexEmptyValue(3,0.0);
   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[])
  {
  int counted_bars=IndicatorCounted();
  if(counted_bars<0) return(-1);
  if(counted_bars>0) counted_bars--;
  int limit=Bars-counted_bars;
  
  for (int i=limit;i>=0;i--)  
{
  double MAbig=iMA(NULL,0,bigMA,0,MODE_EMA,PRICE_CLOSE,i);
  double MAsmall=iMA(NULL,0,smallMA,0,MODE_EMA,PRICE_CLOSE,i);
  ExtMapBuffer1=MAbig;
  ExtMapBuffer2=MAsmall;

  double MAbigp=iMA(NULL,0,bigMA,0,MODE_EMA,PRICE_CLOSE,i+1);
  double MAsmallp=iMA(NULL,0,smallMA,0,MODE_EMA,PRICE_CLOSE,i+1);

  if((MAbigp>MAsmallp)&&(MAbigp<MAsmallp))
  {
   ExtMapBuffer3(i)=Low-100*Point;
  }
  if ((MAbigp<MAsmallp)&&(MAbigp>MAsmallp))
  {
  ExtMapBuffer4(i)=High+100*Point;
  }
  }
  
   return(0);
  }
可是到ExtMapBuffer3(i)=Low-100*Point时,总是报错:'ExtMapBuffer3' - function not defined; 'ExtMapBuffer3' - l-value required        '=' - l-value required,下面的ExtMapBuffer4(i)=High+100*Point错误也和上面一样,研究了好几天我也看不出来有什么错,请指教,谢谢!

回复

使用道具 举报

 楼主| 发表于 2014-10-28 00:26:10 | 显示全部楼层
ExtMapBuffer3(i)=Low[i]-100*Point,是有[i]的,不知道怎么回事上传以后就没有了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-28 00:27:28 | 显示全部楼层
是括号的问题,发现了,不好意思
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-28 00:35:30 | 显示全部楼层
运行没错误了,可是加载以后,图上没有任何反应,是怎么回事呢?请帮助!谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-10-28 09:03:31 | 显示全部楼层
论坛发代码  会少东西,需要提供源代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-12-15 05:22 , Processed in 0.076462 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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