有您的持续关注
我们会做得更好

MQL4高级培训教程 第二章编程规则 第五节 常用内置命令的使用




第五节 常用内置命令的使用

一:订单操作

订单命令是编程的重要命令,其中的参数许多人用不好,导致测试时候经常出错。我们以开仓命令为例详细说明每个参数的用法和注意事项。

intOrderSend{ 本函数如果执行成功则返回订单号
string symbol 指定开仓货币对
int cmd 开仓方式
double volume 开仓量
double price 开仓价格
int slippage 滑点数
double stoploss 止损点数
double takeprofit 止盈点数
void comment 订单备注
void magic 订单识别代码
void expiration 订单有效时间
void arrowes color) 箭头颜色

本函数如果成功执行,则返回订单号,否则返回“-1“

用Symbole()表示获取当前图表的货币对,也可以指定其它货币对,例如USDJPY.

int cmd:指定开仓方式,包括买入、卖出和挂单。OP BUY为买入订单,OP_ SELL为卖出订单,OP_ BUYLIMI下为限制买入单,OP SELLLIMIT为限制卖出单,OP_ BUYSTOP为止损买入单,OP SELLSTOP为止损卖出单.

doublevolume:指定开仓量,有些平台限制最小开仓量为0.1手,如果还执行0.01就会出错。

double price.如果市价买入则使用ASK,如果市价卖出则使用BID,挂单要遵循”停止水平“规则。

int slippage:通常设置为0,系统会自动调整

double stoploss:设置止损点需要遵循“停止水平”规则。

double takeproft:设置止赢点需要遵循“停止水平”规则。

void comment:设置订单各注说明,比如“美联储公布消息”.

void magic:订单识别码是为了区别其他交易程序开出的订单而设置,有了这个“魔术号”,交易程序就可以只对本程序开出的订单进行操作。

void expiration:仅对挂单有效,一般设置为0,几乎所有的平台都会规定挂单有效时间为永久。

void arrowes color:订单成功执行后,系统会在图表中标注箭头,该参数用来设置箭头颜色.
持仓单是指已经开仓还未平仓的订单以及挂单订单。对于持仓单,随着市场价格波动,盈利会发生变化,技术指标数据也会发生变化,这就需要进行修改价位、平仓和撤单等操作。
ECN平台通常不允许开仓时设置止损止盈,那么我们只能通过修改持仓单的方式来追加订单的止损止盈价位。

MQL4规定在对持仓单操作之前必须先选定指定订单,多个持仓单必须逐个操作。

bool OrderSelect(                           成功选中订单则返回ture

 int index,                                  订单索引

 int select,                                  选择订单模式

 void pool)                                   订单类型

木函数如果成功执行,则返回true,如果没有选中订单则返回false。

int index:可以是订单号或者是订单序列号。

int select: SELECT_ BY_TICKET 表示按照订单号选择订单,SELECT_ BY_POS 表示按照订单序列号选择订单。

void pool: MODE_TRADES表示对持仓单操作,MODE_HISTORY表示对历史订单操作。
举例说明:

OrderSelect(12470,SELECT_ BY_TICKET)
选择订单号为“12470 “的订单
OrderSelect(OrdersTotal()-1,SELECT_ BY_POS)
选择当前最近一张持仓单,OrdersTotal()表示当前持仓单总数
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)
选择第i张历史订单。OrdersHistaryTatal()-1
返回最近的一张历史订单朗序号

从上面例子我们可以看出,当采用订单序号迸行选择时,才会使用到第三个参数。不论是持仓订单还是历史订单,订单序号的排列总是最远的那张单为0,最近的订单序号为订单总数减1。
总结订单操作命令用法见表2_5-1:
表}.5-1订单操作命令

命令 说明 备注
OrderClose 订单平仓 需要选中订单
OrderCloseBy 需要选中订单
OrderClosePrice 返回历史订单平仓价 需要选中订单
OrderCloseTime 返回历史订单平仓时间 需要选中订单
OrderComment 返回订单备注 需要选中订单
OrderCommission 返回订单佣金 需要选中订单
OrderDelete 取消挂单 需要选中订单
OrderExpiration 返回挂单有效时间 需要选中订单
OrderMagicNumber 返回订单识别码 需要选中订单
OrderModify 修改订单止损止盈价格 需要选中订单
OrderOpenPrice 修改订单开仓价 需要选中订单
OrderOpenTime 修改订单开仓时间 需要选中订单
OrderPrint 打印订单信息 需要选中订单
OrderProfit 返回订单净益利(除去佣金和利息) 需要选中订单
OrderSelect 选择订单
OrderSend 开仓
OrdersHistoryTotal 返回历史订单总数
OrderStopLoss 返回订单止损价格 需要选中订单
OrderStopLoss 返回订单止损价格 需要选中订单
OrdersTotal 返回持仓单总数
OrderSwap 返回订单利息 需要选中订单
OrderSymbol 返回订单货币对 需要选中订单
OrderTakeProfit 返回订单止盈价 需要选中订单
OrderTicket 返回订单号 需要按SELECT BY_POS选定订单
OrderType 返回订单类型 需要选定订单

二:内置指标

交易信息的产生基于指标的计算,MQL4提供了29个常用内置指标,准确获取指标输出值就显得很重要了。

调用内置指标尽管参数不尽相同,但都有一个统一的格式,我们理解了这个格式(图2.5-1)就很容易从指标函数中取值了。MQL4高级培训教程    以MACD举例说明如下:
iMACD(NULL,0,12,26,9,PRICE_CL0SE,MODE_MAIN,0)表示获取当前图表货币对(NULL),当前时间周期(0,可以指定其他时间周期)、快速周期12、慢速周期26.简单平均周期9,以收盘价计算(PRICE_ CL0SE ) ,输山杜线数值(MCIDE_  MAIN),在当前蜡烛(0,1为前一个蜡烛)的MACD数俏。输入参赞如图2.5-2所示。MQL4高级培训教程其他指标以此类推。

三:预定义参量

#property是一组预定义参量,用来定义EA程序、脚本以及自定义指标需要的环境,列表说明如下:
表2.5-1预定义参量

标识符 数据类型 描述
link string 开发者的相关链接
copyright string 开发者名称
stacksize int 堆栈大小
library 指定资料库文件,资料库一般用于保存错误提示信息
indicator_chart_window void 在图表主窗中显示指标
indicator_separate_window void 在图表副窗中显示指标
indicator_buffers int 指标输出数量,最大为8
indicator_minimum double 指定指标显示下边界
indicator_maximum double 指定指标显示上边界
indicator_colorN color 定义指标指定输出变量的颜色,N在1-8之间
indicator_widthN int 定义指标指定输出变量的宽度,在0一5之间取值
indicator_ styleN int 定义指标指定输出变量的类型,如画线、画柱、画箭头等
indicator_LeVeLN double 定义水平线,N为水平线序号,后而的数字为水平线所在位置(从坐标数据)
indicator_LeVelcolor color 定义指定水平线颜色
indicator_LeVelwidth int 定义指定水平线宽度
indicator_ levelstyle int 定义指定水平线风格,如实线、虚线、点画线等
show_confirm void 脚术运行前弹出提示确认窗口
show_inputs void 脚木运行前弹出输入参数确认窗口

如您喜欢此文章请点下面分享按钮↴峰汇在线 » MQL4高级培训教程 第二章编程规则 第五节 常用内置命令的使用
上一篇:
下一篇:
分享到:更多 ()