EATC

 找回密码
 立即注册
查看: 768|回复: 0

外汇EA编程教程――函数

[复制链接]

196

主题

1168

帖子

8003

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8003
发表于 2022-7-23 17:03:18 | 显示全部楼层 |阅读模式
函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数构成。函数的参数最多不能超过64个。

例如:一个实现加法功能的函数,

double Add(double a, double b)

{

return (a + b);

}

一 这个函数的返回类型为 double

二 函数名称为 Add

三 有两个函数参数 类型都为 double。

还有一种情况就是函数不需要返回值,例如我们一个打印功能的函数:

void DoThis(string s)

{

Print(s);

}

一 这个函数无返回值,void就代表无返回类型。

二 函数名称为DoThis

三 这个函数有一个类型为string的参数。

以下是函数调用方法:

int start()

{

double c = 0;

c = Add(1, 2); //调用Add函数,c的结果为3.0

Print©;

DoThis("打印内容");

return(0);

}

EA里面的特殊函数,当我们建立一个ea的时候,里面有三个函数,int init(),int deinit(), int start(), 这三个是系统定义好的函数。意义如下:

init():但载入ea的时候,mt4首选会自动运行init()函数,只运行一次,一般这个函数我们用于初始化数据。注意尽量不要再init函数里面调用start函数。

deinit():当结束运行ea的时候,mt4自动调用这个函数,我们一般用这个函数清理一些数据。

start():当mt4每收到一个报价的时候,就会运行一下start函数,所以start是最重要的函数,我们的策略主要就是写在start函数里面,如果start函数还没运行完,但一个新的报价过来了,mt4不会去调用start函数,所有只有在mt4没有运行start函数的时候,并且收到报价的时候才会运行start函数。
回复

使用道具 举报

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

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号 )

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。