找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 17|回复: 0

按照这个学习路径走,半小时学会MT5编程

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-23 03:20:00 | 显示全部楼层 |阅读模式
MT5是一门非常容易学习的编程语言。网上有很多关于MT5的编程教程,实在是把简单的事情弄得太复杂了。看完这篇文章,你也可以用MT5写出EA。当然,这里只是入门,剩下的自己轻车熟路,自己研究就行了。学号MT5只需要学会使用MT5中的CTrade类,然后知道几个函数就可以了。学会灵活使用CTrade类,就等于学会了MT5的60%。比如要开一个买单#include <Trade\Trade.mqh>CTrade trade;

//实例化一个对象为tradevoid OnTick()  {   

trade.Buy(0.01); //市价买入0.01手,买入品种为加载的货币对  

trade.PositionClose(PositionGetTicket(0)); //平掉序号为0的头寸  }

说下怎么选择订单或者持仓。需要学会下面这几个重要的函数,PositionSelectByTicket()和OrderSelect(),PositionGetTicket(),OrderGetTicket(),SymbolInfoDouble(),AccountInfoDouble(),AccountInfoInteger(),Symbol()。就可以开始编写EA了。需要说明的是在MT5中Position是已经成交的头寸。而Order是未成交的挂单。这两者在MT5中是完全不同的。千万不要用OrderSend()下单。千万不要重复造轮子,你能想到的大部分功能,MT5都有现成的方法可以直接调用。如果你想完全面向对象编程,还可以看下CAccountInfo类(集成了与账户相关的属性和方法),CSymbolInfo类(集成了和交易品种相关的属性和方法),COrderInfo类(集成了处理挂单的属性和方法),CPositionInfo类(集成了处理持仓头寸相关的属性和方法)。只需要学会调用类的属性和方法就可以了,千万不要去深究类的实现过程,否则你可能搞上几年也未必能吃透。

比如用一句代码就可以平掉所有持仓头寸。

#include <Trade\Trade.mqh>
CTrade trade;
void OnTick(){   
while (PositionsTotal()>0) trade.PositionClose(0);
}
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-12 14:36 , Processed in 0.067874 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表