您当前的位置: > TMGM学习中心 > 帮助中心
联系我们
服务热线:Jin-DaoCheng

EA编程教程第六讲:函数基础与应用

时间:2026-04-03  来源:  作者:TMGM投资平台

函数可以理解为一个具备特定功能的程序模块,它能够在程序的不同位置被重复调用。一个标准函数通常由返回类型、函数名称以及函数参数三部分构成。需要注意的是,函数参数的数量存在上限,一般不超过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(c);

DoThis("打印内容");

return(0);

}

在EA编程中,存在一些系统预定义的函数。当创建EA时,通常会看到三个特殊函数:int init(),int deinit() 和 int start()。理解这些函数对于策略开发至关重要,尤其是在像TMGM投资平台这样的交易环境中运行自动化策略时。

init():当EA被加载到图表时,交易平台会首先自动执行一次init()函数。此函数通常用于初始化变量或数据。请注意,应避免在init函数内部调用start函数。

deinit():当EA停止运行或从图表移除时,平台会自动调用deinit()函数。开发者通常在此函数中执行数据清理或资源释放的操作。

start():这是EA中最为核心的函数。每当交易平台接收到新的报价时,便会触发执行一次start函数。因此,主要的交易逻辑和策略代码都编写在此函数内。需要了解的是,如果start函数正在执行中,即使有新报价到来,平台也不会中断当前执行去启动新的start函数。只有在start函数执行完毕且新报价到达时,才会再次运行它。掌握这一机制对于在TMGM投资平台等环境进行稳定可靠的EA编程非常重要。

本网站并非 TMGM官方网站,TMGM官网为:https://www.tmgm.com 可点击上方“立即开户”跳转访问