分享

MT4智能交易 (OrderSend()函数)

 禁忌石 2018-06-24

OrderSend() 是 EA 里用来下单或者挂单的函数。这个函数的完整组成为:

int OrderSend (string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Ordersend: 这个函数的名字。这个函数将返回一个ticket号(ticket号码是一个单子的单号)作为该命令的号码;或者返回-1的值——如果交易请求被终端或服务器拒绝的话。如果想要知道被拒绝的原因,可以由函数 GetLastError() 得出。

symbol: 货币对的名称。比如欧元美元的名称为EURUSD。

cmd:交易的种类。比如说买单或者卖单。

volume:交易手数。

price: 价位。可以为即时变动买卖价位,或者设定固定价位。

slippage: 在开市价单时市场价位的最大允许滑点数。只对市价单起作用,和挂单无关。

stoploss: 止损价位。

takeprofit: 止盈价位。

comment:对此单的文字叙述。

magic:单子的magic号码。用于对此单的识别。

expiration: 单子的作废时间。此日到来时挂单会自动取消。

arrow_color:在图表上的开仓箭头的颜色。如果没有这个参数或者它的值等于CLR_NONE, 则图表上不会显示任何标记。

 

当然上面的很多参数并不都会用到。我们可以举一个简化的下单指令的例子:

//--------------------------------------------------------------------
int start() // 特殊函数 start()
{ // 开仓买单
OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
return; // 退出 start()
}
//--------------------------------------------------------------------

 

在上面这个例子里,下单指令的分析如下:

交易货币对:EURUSD
开仓类型:买单
手数:0.1手
价位:市场卖价
滑点:3点
止损:市场买价减去15点
止盈:市场买价加上15点

把这个开单的命令放到EA里,就可以执行开单部分的操作了。里面的参数可以根据自己的需求修改。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多