资源描述:
《mt4mt5外汇ea编程教程大全之交易函数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MT4MT5外汇EA编程教程大全之交易函数(三)从自定义指标中不能调用OrderSend(),OrderClose,OrderCloseBy,OrderDelete和OrderModify交易函数。 OrderClose OrderCloseBy OrderClosePrice OrderCloseTime OrderComment OrderCommission OrderDelete OrderExpiration OrderLots OrderMagicNumber OrderModify OrderOpenPrice OrderOpe
2、nTime OrderPrint OrderProfit OrderSelect OrderSend OrdersHistoryTotal OrderStopLoss OrdersTotal OrderSwap OrderSymbol OrderTakeProfit OrderTicket OrderType boolOrderClose(intticket,doublelots,doubleprice,intslippage,voidColor)对定单进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信
3、息,请查看GetLastError()函数。参量:ticket-定单编号。 lots-手数。 price-收盘价格。 slippage-最高划点数。 Color-图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出。 示例:if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Ask,3,Red); return(0); } boolOrderCloseBy(intticket,intopposite,voidColor)用相反定单对打开仓位进行平仓操作。如果函
4、数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信息,请查看GetLastError()函数。参量:ticket-定单编号。 opposite-相对定单编号 Color-图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出 示例:if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderCloseBy(order_id,opposite_id); return(0); } doubleOrderClosePrice()对于当前选择定单返回收盘价格。注解:定单必须用OrderSel
5、ect()函数提前选定。示例:if(OrderSelect(ticket,SELECT_BY_POS)==true) Print("对于定单",定单编号"=",OrderClosePrice()的收盘价格); else Print("OrderSelect失败错误代码是",GetLastError()); datetimeOrderCloseTime()对于当前选择定单返回平仓时间。如果定单时间不是0,所选定单会从账户历史重新尝试。开仓和挂单交易平仓时间必须等于0。注解:定单必须用OrderSelect()函数提前选定。示例:if(Order
6、Select(10,SELECT_BY_POS,MODE_HISTORY)==true) { datetimectm=OrderOpenTime(); if(ctm>0)Print("定单10"开仓时间,ctm); ctm=OrderCloseTime(); if(ctm>0)Print("定单10"平仓时间,ctm); } else Print("OrderSelect失败错误代码是",GetLastError()); stringOrderComment()返回定单的注释。注解:定单必须用OrderSelect()函数提前选定。示例:st
7、ringcomment; if(OrderSelect(10,SELECT_BY_TICKET)==false) {Print("OrderSelect失败错误代码是",GetLastError()); return(0); } comment=OrderComment(); //...doubleOrderCommission()返回定单的佣金数。注解:定单必须用OrderSelect()函数提前选定。示例:if(OrderSelect(10,SELECT_BY_POS)==true) Print("定单10"佣金,OrderCommiss
8、ion()); else Print("OrderSelect失败错误代码是",GetLastError()); boolOrderDelete(intticket