诚信为本
量力而为
当前位置:峰汇在线 ea编程知识 正文

ea订单备注怎么编写?

在mt4平台上,订单备注或者说订单注释,是用来对订单做相关备注说明的。当然,订单备注不是必须要填写的,比如手工开仓,就很少有人去填写订单备注。不管是手工开仓还是EA程序开仓,如果不去填写订单备注/注释,那么它的默认值是””空值。

在MQL4语言中,EA开仓是调用 OrderSend 函数,订单备注/注释就是 OrderSend 函数的一个参量,我们可以先看下 OrderSend 函数的结构及所有参量:

OrderSend(货币名称,开仓类型,手数,价格,偏差,止损,止盈,注释,订单识别码,有效期(挂单),标记颜色)

在上面的OrderSend函数中,如果不需要对订单做注释,那么注释参数直接用”“填充即可。但很多时候在开发外汇EA程序时,由于某些需求,比如说通过注释对订单开仓货币、周期、数量做标注,又或者说要通过注释声明EA版权、开发者联系方式等等,那就可以根据实际需要编写各种各样的订单备注/注释。

首先,我们要清楚订单备注 OrderComment() 的数据类型,它是字符串类型,所以要自行定义订单注释,那就用 string 来定义。

其次,在mt4终端窗口,默认情况下,订单注释是不显示的,可以通过在终端窗口左上角的”订单“上面鼠标右键,并在右键菜单中勾选“注释”来显示注释栏(如下方图片所示)。

下面我们可以列举几种常见的需求来探讨一下订单备注的编写方式及技巧。

1、单一持仓的EA策略,可以直接用开仓类型+交易品种来做注释,示范代码如下:

string buycom = "buy_" + Symbol();

2、对于一些加仓类的EA程序,可以考虑用开仓类型+交易品种+订单数量来做注释,示范代码:

int  li_buy = Tk_Count(OP_BUY);//Tk_Count(OP_BUY)是统计多单数量函数
string buycom = "buy_" + Symbol()+"_"+IntegerToString(li_buy+1);

3、如果EA程序需要别人通过订单注释能看到开发者的联系方式(比如显示开发者QQ),那就可以用如下代码:

string eacom = "QQ:12345678";

4、如果没有特殊要求,订单注释仅仅展示EA名称,也是可以的,示范代码:

string buycom = "欧美五分钟EA";

5、如果开发多周期交易EA,那么也可以通过注释来备注不同周期开的单子,注释格式:开仓类型+交易品种+图表周期,示范代码:

string ptxt="";  if(Period()==PERIOD_D1)ptxt= "D1";//其它周期同样列举,或者用switch语句。
string buycom = "buy_" + Symbol()+"_"+ ptxt;

注释参数定义好后,将其填充到 OrderSend 函数的注释位置即可,如果是空单注释将buy改为sell。上面几个示范开仓后注释效果如下图所示:

ea订单备注的编写示范

当然,上面也只是简单的说说EA订单注释的编写方式,并不能涵盖所有策略,实际开发中,还是需要根据具体要求具体对待的。

版权所有转载请注明标题及链接:峰汇在线 » ea订单备注怎么编写?