• 新添加量子混沌系统板块,欢迎大家访问!---“量子混沌系统”
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我们吧

EA编写技术分享:揭秘MT4编程中最重要的几个函数

交易进阶 Qchaos_007 2年前 (2023-10-30) 9460 复制链接

对于MT4程序化交易世界中的交易员们而言,编写一款高效稳定的EA非常关键。而在MT4编程中,有一些函数是最核心、最重要的,熟练掌握它们会对编写优秀EA有所帮助。本文将分享MT4编程中最重要的几个函数,帮助投资者学习和了解EA编程技术。

一、OrderSend函数

OrderSend函数是MT4编程中最基本的下单函数,因此也是最为重要的函数之一。函数的主要作用是向MT4服务器发送交易订单。

语法:

bool OrderSend(string symbol,int cmd,double volume,double price,

int slippage,double stoploss,double takeprofit,string comment = "",

int magic = 0,datetime expiration = 0,color arrow_color=CLR_NONE);

参数说明:

symbol — 交易品种符号。

cmd — 交易类型(买入/卖出)。

volume — 手数。

price — 单价。

slippage — 滑点(允许价格波动的最大值)。

stoploss — 止损点位。

takeprofit — 止盈点位。

comment — 交易备注,不是必填项。

magic — EA魔术编号。

expiration — 挂单有效期限,不是必填项。

二、OrderSelect函数

OrderSelect函数用于获得与当前订单相关的信息。这个函数很重要,它可以在程序执行过程中帮助我们获得订单的各种信息,如订单号码、开仓时间、价格、手数、止损点位和止盈点位等。

语法:

bool OrderSelect(int index,int select, int pool = MODE_TRADES);

参数说明:

index — 订单索引。

select — 按照什么顺序获取订单信息。

pool — 订单池类型。此处MODE_TRADES表示选择活动订单池。

三、AccountInfoDouble函数

AccountInfoDouble函数主要用于获取账户基本信息,这些信息包括了当前账户的各种资金数据,如账户余额、保证金值、收益率、净值等。

语法:

double AccountInfoDouble(int type);

参数说明:

type — 枚举类型。如:ACCOUNT_BALANCE表示账户余额;MARGIN_FREE表示可用保证金;ACCOUNT_EQUITY表示账户净值。

四、iBars函数

iBars函数是获得图表某段时间范围内交易品种的K线数目。这个函数同样非常重要,常常用于寻找历史K线的收盘价等计算。

语法:

int iBars(string symbol,int timeframe);

参数说明:

symbol — 交易品种符号。

timeframe — K线周期设定。

五、iMA函数

iMA函数是计算简单移动平均线(MA)的一种类型。它是编写EA中最为重要的函数之一,因为大多数策略都需要通过计算MA来确定交易信号的生成,如趋势跟踪策略和均线交易策略等。

语法:

bool iMA(string symbol,int timeframe,int ma_period,int ma_shift,int ma_method,int applied_price,int shift);

参数说明:

symbol — 交易品种符号。

timeframe — K线周期设定。

ma_period — 移动平均线周期。

ma_shift — 偏移量(例如: ma_shift=1时,表示当前计算的是前一时间段的MA数据)。

ma_method — 五种计算移动平均线的方法之一。

applied_price — 计算简单移动平均的数据类型。

shift — 偏移量,当该参数等于0时,表示计算当前期赋值。

以上就是MT4编程中最基本、最为重要的几个函数。对于初学者而言,熟练掌握以上函数将会对EA编写工作的成功有很大的帮助。当然,如果需要编写更加复杂、高级的EA策略,还需要对其他更为深入的编程技术进行学习和掌握。EA编写技术分享:揭秘MT4编程中最重要的几个函数


量子混沌 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:EA编写技术分享:揭秘MT4编程中最重要的几个函数