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

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

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

学友们调试不下去了,能给看看吗,错误显示是OnCalculate function not found in c...

[复制链接]
发表于 2015-12-4 07:20:09 | 显示全部楼层 |阅读模式
//+------------------------------------------------------------------+
//|                                                  test04变色的MA.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
#property indicator_chart_window //在主图中显示指标
#property indicator_buffers 2 //定义两个画线对象
#property indicator_color1 Red  //定义下线为红色
#property indicator_color2 Blue //定义上线为蓝色
#property indicator_width1 2 //定义下线线宽为2
#property indicator_width2 2 //定义上线线宽为2
//定义指标输入参数
extern int MA_Period=20; //平均线周期
//定义指标输出缓冲参数
double UpLineBuffer[];
double DownLineBuffer[];//上线,下线缓冲变数
//其它预定义公共变量
//int ExtCountedBars=0;
//初始化
int OnInit()
  {
//--
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));//按照市场价格显示数据   
//---定义下线类型
SetIndexStyle(0,DRAW_LINE);//画实线
SetIndexBuffer(0,UpLineBuffer);//分配画线参数
SetIndexLabel(0,"下线("+IntegerToString(MA_Period)+")");//定义参数名称
//---定义上线类型
SetIndexStyle(1,DRAW_LINE);//画实线
SetIndexBuffer(1,DownLineBuffer);//分配画线参数
SetIndexLabel(1,"上线("+IntegerToString(MA_Period)+")");//定义参数名称


   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---检验新蜡烛形成时的错误
if (IndicatorCounted()<0) return;
//重数最后有效柱
int limit =Bars-IndicatorCounted();
//计算平均数,画线
for (int i=limit;i>=0;i--)
     {
     double myCloseSum=0;
     for (int j=MA_Period;j>=0;j--)
        myCloseSum=myCloseSum+Close[i+j]; //求和
        double myMA=myCloseSum/MA_Period; //计算平均数
        //画线
        if (Close>myMA)
           DownLineBuffer=myMA;  //画下线
        else
           UpLineBuffer=myMA;  //画上线
      }  
     
return;   
     }
  
  
//+------------------------------------------------------------------+
回复

使用道具 举报

 楼主| 发表于 2015-12-8 07:02:44 | 显示全部楼层
找到原因了,这个不是EA,用了EA的框架,这个是指标,应当用指标的框架
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-10-23 14:48 , Processed in 0.137819 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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