随着金融市场的持续发展和开放,投资者在数据分析和交易决策上投入的时间与精力越来越多,而任何投资行为都伴随着风险。单纯依赖人工盯盘分析行情进行交易,已逐渐难以应对瞬息万变的庞大信息。可以预见,不使用任何辅助工具软件进行交易的投资者,很难在市场中长期实现稳定表现。此外,如果一个人把所有时间都耗费在分析市场数据上,或许就偏离了投资与生活应有的平衡。
因此,德璞资本认为,未来的投资将越来越离不开高效的工具支持。一个好的工具能帮助投资者从复杂的数据中理清头绪,从而更专注于策略本身。最终在投资领域取得长期成果的,往往是那些善于使用工具但又不拘泥于工具的人。
需要明确的是,任何投资工具都只是一种辅助手段,并不能保证绝对的盈利。同样,一个连基本工具都不会使用的人,也很难持续获利。工具本身具有两面性,这正如自然界中的很多事物一样。比如一件工具,在合适的使用者手中能发挥巨大作用,而在不懂使用的人手中则可能毫无价值,甚至带来风险。
EA(自动交易系统)作为一种相对新颖的投资工具,也不例外。正确理解EA的本质,对于认识德璞资本在智能交易领域的研究方向,或许会有所帮助。
EA是什么?及它的工作原理
EA 即 Expert Advisors 的缩写,中文意思是专家顾问,俗称智能交易系统。它由计算机模拟交易员的决策过程,实现自动下单交易。
一、人工操盘过程
下面以MT4交易客户端为例,分析手工交易的基本步骤:
1. 打开交易客户端,选定一个货币对图表;
2. 观察该货币对的K线走势,寻找开仓或平仓的条件;
3. 若条件满足,执行下单开仓(做多或做空)或平仓;
4. 重复步骤2,继续盯盘,若之前为开仓,则寻找平仓机会;
5. 若平仓条件达成,进行平仓并计算盈亏,完成一次交易循环;
6. 若想继续交易,重复2—5步;
7. 若不交易则退出客户端。
二、机器操盘过程
基于以上分析,EA的核心功能就是模拟人工操作的前5步。其工作过程可概括为:盯盘—开仓—再盯盘—平仓,如此循环。
EA的原理是由程序员使用计算机语言编写交易指令,让机器自动执行下单。目前广泛支持的平台是MetaQuotes公司的MT4,其中嵌入的MQL4语言提供了访问服务器数据和交易接口的能力。
交易者可以根据自己的策略编写EA,既能减轻工作负担,也能克服情绪化交易中的某些性格弱点。当前EA开发仍处于早期阶段,部分系统存在局限,但随着技术进步,机器自动交易有望逐步替代部分手工操作,为德璞资本等关注智能交易的机构提供更多可能。
三、 相关MQL语言知识
为实现机器操作,需了解MQL4的相关内容:
1. 掌握MQL4的基本语法、程序构成及运行流程。语法部分可参考相关资料,此处略去。程序主要由三个函数构成:
init():初始化函数,负责变量及初始输入,只在程序调入时执行一次;
deinit():反初始化函数,负责释放内存,只在程序退出时执行一次;
start():主函数,负责EA的全部交易执行,每隔数秒循环执行一次,直到程序退出。
运行流程:启动EA后,init()执行一次 → start()循环执行 → 退出时deinit()执行一次。
2. MQL4中与交易相关的函数
开仓函数:
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void magic, void expiration, void arrow_color)
该函数用于开仓或挂单交易。
参量:
symbol - 交易货币对;
cmd - 购买方式;
volume - 手数;
price - 收盘价格;
slippage - 最大允许滑点数;
stoploss - 止损水平;
takeprofit - 止盈水平;
comment - 注解文本;
magic - 定制编号,可作为用户识别码;
expiration - 挂单有效时间;
arrow_color - 图表箭头颜色,若为CLR_NONE则不显示。
平仓函数:
bool OrderClose( int ticket, double lots, double price, int slippage, void Color)
用于平仓,成功返回TRUE,失败返回FALSE,详细错误可调用GetLastError()。
参量:
ticket - 订单编号;
lots - 手数;
price - 收盘价格;
slippage - 最大滑点数;
Color - 图表标记颜色,若为CLR_NONE则不显示。
订单修改函数:
bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, void arrow_color)
用于修改开仓或挂单的属性,成功返回TRUE。
参量:
ticket - 订单编号;
price - 收盘价格;
stoploss - 新止损水平;
takeprofit - 新止盈水平;
expiration - 挂单有效时间;
arrow_color - 图表中止损/止盈颜色,若为CLR_NONE则不显示。
四、源码的交易流程分析
以下是一个基于移动平均线的EA示例代码,整个程序简洁且功能完整,实现了自动开仓和平仓,仅由一个start()函数完成。源码此处略去。
五、本文结论
综上所述,EA即由电脑模拟交易员操作,实现自动化交易,具体流程为:
1. 用户打开交易客户端,系统自动加载预设的EA程序;
2. EA启动后监视K线走势,寻找开仓条件;
3. 条件满足时,自动开仓(做多或做空);
4. 继续盯盘,若之前已开仓则寻找平仓条件;
5. 条件满足时自动平仓,完成一次循环;
6. 若继续交易,重复2—5步;
7. 用户可通过菜单禁用EA或退出客户端来停止自动交易。
通过以上介绍,可以看出EA为交易者提供了一种全新的选择,德璞资本将持续关注这一领域的发展,助力投资者更理性地运用工具。
资深外汇分析师
由多名资深外汇分析师组成的专业团队,拥有平均15年以上的市场分析经验,擅长技术分析和基本面分析相结合的交易策略。