手机版

MT4编程初级手册(4):自定义函数

阅读 :
外_汇_邦 WaiHuiBang.com

大家可以将自定义函数与数学函数在本质上看作是是一致的,在程序中需要用到的地方直接以函数名来调用。

 

例如:数学函数fuc(x,y)=5x+6y (x,y为正整数) 写成程序语句就是:

 

double fuc(double x,double y){

     double temp;

     temp=5*x+6*y;

     return(temp);

    }

 

一、同自定义变量一样,自定义函数在付诸使用前,也必须先声明设立,应定义其返回值类型、名称、参数和函数体(运算处理语句)。

 

函数返回值类型、名称、参数位于的函数头部(参数间以逗号分隔),大括号中的是运算语句或者处理语句,也就是函数体部分。

 

return语句为函数结束语句,return后面的括号中的值为函数返回值,即函数运算处理结果。

 

在上面例子中,double为函数类型,表示该函数的返回值(运算结果)是小数;

 

x,y为参数,由于自定义变量使用之前都必须先声明,否则函数不知道参数的类型,所以要加上类型定义关键词double;

 

fa为函数名,有了函数名,我们就可以在需要使用的地方用fa(2,1)的格式来调用此函数;

 

函数体部分有三个语句:

 

第一句,定义一个整形变量temp(函数内部使用的变量);

 

第二句,用我们设定的规则计算temp的值;

 

第三句,函数结束,返回调用点,以temp的值作为本函数返回值。

 

此函数也可以简写为:double fa(double x,double y)  {return(5*x+6*y);}

 

二、函数的类型与类型符

 

函数的类型就是函数返回值(运算结果)的类型,与自定义变量类型一致。

 

包括整型(int)、双精度浮点型(double)、字符串型(string)、布尔型(bool)等,还有一种函数是以函数运行或进行一定的处理为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以在声明中写成void(无值型)。

 

三、函数中如果需要定义自定义变量,那么此变量作用域仅在本函数内部,函数运行结束时,这个自定义变量也就自动注销了。

 

上例中,有x、y、temp三个自定义变量,在函数运行时被声明创建,在函数运行结束的时侯自动消失,仅在函数内部有效,与函数外部无关,外部不可使用这些变量,需要注意的是外部可以使用与内部同名的变量但不影响内部的变量,不过为了程序的清晰性,不建议大家这么做。

 

四、函数的调用

 

函数调用非常便捷,只要函数名正确,参数个数一致,类型相同就能够正确的调用。

 

如我们前面创建了一个fa(x,y)函数,在程序的别处我们可以用ft(4,5)等样式来调用fa(x,y)函数运算求值。

 

调用时,传递参数值给fa(x,y)函数(按次序把4传给x,把5传给y),返回结果22后继续向下执行主程序。

外_汇_邦 WaiHuiBang.com
本文标题:MT4编程初级手册(4):自定义函数 - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/40521.html

相关文章

  • MT4历史数据中心的下载

    打开MT4,按F2,会出现一个历史数据中心对话框。之前,我直接按下载按钮时,往往下载数据会出错。因此百度了很久,也查看了很多的处理方式,觉得都不尽如人意。不是数据找不到,就是即使找到了下载时也出现问题。 近日又捣弄了...

    MQL4编程学习
  • Million Dollar Pips常见问题答疑

    Million Dollar Pips外汇智能交易软件越来越火爆,一些汇友对此EA不太熟悉,我常常会被用户问及一些问题,在这里简单做个总结,方便大家更好地了解Million Dollar Pips(MDP),同时也欢迎对Million Dollar Pips(MDP)感兴趣的汇友...

    MQL4编程学习
  • MQL4日期时间处理函数(一)

    本组函数用于处理日期时间型数据(从1970年1月1日00:00开始已经过的秒数)。Year() – 获取当前年份 Month() – 获取当前月份 Day() – 获取今日是本月第几天 DayOfWeek() – 获取今日...

    MQL4编程学习
  • MT4平台MQL4编程的方法介绍和学习
    MT4平台MQL4编程的方法介绍和学习

    为了达到MT4指标编写的目的,我们首先需要了解MT4编程工具MetaEditor,这个工具是安装MT4后,在程序列表里面自动出现的MT4编程工具。...

    MQL4编程学习
  • EA复盘非常漂亮,一旦挂了实盘就完蛋的原因是什么?

    很多EA复盘非常漂亮,一旦挂了实盘就完蛋了,其最主要的有几点原因:1.复盘时间不够长,或者有选择性。      大家知道外汇行情放大来说是按年来分析行情的,可能某年或某几年是单边,某年或某几年是震荡,但却不会连续十年以上都是单边或都是震荡。...

    MQL4编程学习
你可能感兴趣