MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx

上传人:b****6 文档编号:4405663 上传时间:2022-12-01 格式:DOCX 页数:10 大小:19.52KB
下载 相关 举报
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx_第1页
第1页 / 共10页
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx_第2页
第2页 / 共10页
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx_第3页
第3页 / 共10页
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx_第4页
第4页 / 共10页
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx

《MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx》由会员分享,可在线阅读,更多相关《MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx(10页珍藏版)》请在冰豆网上搜索。

MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx

MT4MT5外汇EA编程教程大全之交易函数10页精选文档

MT4MT5外汇EA编程教程大全之交易函数(三)

单靠“死”记还不行,还得“活”用,姑且称之为“先死后活”吧。

让学生把一周看到或听到的新鲜事记下来,摒弃那些假话套话空话,写出自己的真情实感,篇幅可长可短,并要求运用积累的成语、名言警句等,定期检查点评,选择优秀篇目在班里朗读或展出。

这样,即巩固了所学的材料,又锻炼了学生的写作能力,同时还培养了学生的观察能力、思维能力等等,达到“一石多鸟”的效果。

从自定义指标中不能调用

OrderSend(),OrderClose,OrderCloseBy,OrderDelete和OrderModify

交易函数。

 

OrderClose 

OrderCloseBy 

OrderClosePrice 

OrderCloseTime 

OrderComment 

OrderCommission 

OrderDelete 

OrderExpiration 

OrderLots 

OrderMagicNumber 

OrderModify 

OrderOpenPrice 

OrderOpenTime 

OrderPrint 

OrderProfit 

OrderSelect 

OrderSend 

OrdersHistoryTotal 

OrderStopLoss 

OrdersTotal 

OrderSwap 

OrderSymbol 

OrderTakeProfit 

OrderTicket 

OrderType 

boolOrderClose(intticket,doublelots,doubleprice,intslippage,voidColor)

对定单进行平仓操作。

如果函数成功,返回的值是真实的。

如果函数失败,返回的值是假的。

获得详细错误信息,请查看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)

用相反定单对打开仓位进行平仓操作。

如果函数成功,返回的值是真实的。

如果函数失败,返回的值是假的。

获得详细错误信息,请查看GetLastError()函数。

参量:

ticket-定单编号。

 

opposite-相对定单编号 

Color-图表中标记颜色。

如果参量丢失,CLR_NONE值将不会在图表中画出 

示例:

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) 

OrderCloseBy(order_id,opposite_id); 

return(0); 

doubleOrderClosePrice()

对于当前选择定单返回收盘价格。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(ticket,SELECT_BY_POS)==true) 

Print("对于定单",定单编号"=",OrderClosePrice()的收盘价格); 

else 

Print("OrderSelect失败错误代码是",GetLastError()); 

家庭是幼儿语言活动的重要环境,为了与家长配合做好幼儿阅读训练工作,孩子一入园就召开家长会,给家长提出早期抓好幼儿阅读的要求。

我把幼儿在园里的阅读活动及阅读情况及时传递给家长,要求孩子回家向家长朗诵儿歌,表演故事。

我和家长共同配合,一道训练,幼儿的阅读能力提高很快。

datetimeOrderCloseTime()

对于当前选择定单返回平仓时间。

如果定单时间不是0,所选定单会从账户历史重新尝试。

开仓和挂单交易平仓时间必须等于0。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(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()函数提前选定。

示例:

stringcomment; 

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"佣金,OrderCommission()); 

else 

Print("OrderSelect失败错误代码是",GetLastError()); 

boolOrderDelete(intticket,voidColor)

删除先前打开挂单。

如果函数成功,返回的值是真实的。

如果函数失败,返回的值是假的。

获得详细错误信息,请查看GetLastError()函数。

参量:

ticket-定单编号。

 

Color-图表中标记颜色。

如果参量丢失,CLR_NONE值将不会在图表中画出。

 

示例:

if(Ask>var1) 

OrderDelete(order_ticket); 

return(0); 

datetimeOrderExpiration()

返回挂单的有效日期。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_TICKET)==true) 

Print("定单#10有效日期为",OrderExpiration()); 

else 

Print("OrderSelect返回的",GetLastError()错误); 

doubleOrderLots()

返回选定定单的手数。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_POS)==true) 

Print("定单10"手数,OrderLots()); 

else 

Print("OrderSelect返回的",GetLastError()错误); 

intOrderMagicNumber()

返回选定订单的指定编号

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_POS)==true) 

Print("定单10"指定编号,OrderMagicNumber()); 

else 

Print("OrderSelect返回的",GetLastError()错误); 

boolOrderModify(intticket,doubleprice,doublestoploss,doubletakeprofit,datetimeexpiration,voidarrow_color)

对于先前的开仓或挂单进行特性修改。

如果函数成功,返回的值为TRUE。

如果函数失败,返回的值为FALSE。

获得详细的错误信息,查看GetLastError()函数。

注解:

开价格和有效时间的改变只对挂单而言。

如果未改变的值作为函数参量通过,将会生成错误1(ERR_NO_RESULT)。

在一些服务器中挂单的有效时间会被隐藏。

这种情况下,当一个非零值在有效参量被指定时,将生成错误147(ERR_TRADE_EXPIRATION_DENIED)。

参量:

ticket-定单编号。

 

price-收盘价格 

stoploss-新止损水平。

 

takeprofit-新赢利水平。

 

expiration-挂单有效时间。

 

arrow_color-在图表中允许对止损/赢利颜色进行修改。

如果参量丢失或存在CLR_NONE值,在图表中将不会显示。

 

示例:

if(TrailingStop>0) 

OrderSelect(12345,SELECT_BY_TICKET); 

if(Bid-OrderOpenPrice()>Point*TrailingStop) 

if(OrderStopLoss()

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue); 

return(0); 

}

doubleOrderOpenPrice()

对于当前选择定单返回开价格。

定单必须由OrderSelect()函数首先选定。

示例:

if(OrderSelect(10,SELECT_BY_POS)==true) 

Print("对于定单10开价格",OrderOpenPrice()); 

else 

Print("OrderSelect返回错误",GetLastError()); 

datetimeOrderOpenTime()

对于当前选择定单返回买入时间。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_POS)==true) 

Print("定单10买入时间",OrderOpenTime()); 

else 

Print("OrderSelect返回的错误",GetLastError()); 

voidOrderPrint()

按照以下形式打印选择定单信息:

定单编号;买入时间;交易业务;手数总数;开盘价格;止损;赢利;平仓时间;收盘价格;佣金;掉期;盈利;注释;指定编码;挂单有效日期

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_TICKET)==true) 

OrderPrint(); 

else 

Print("OrderSelect失败错误代码是",GetLastError()); 

doubleOrderProfit()

对于选择定单返回净盈利值(除掉期和佣金外)。

对于开仓位当前不真实盈利。

对于平仓为固定盈利。

 

对于当前选择定单返回盈利。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(10,SELECT_BY_POS)==true) 

Print("定单10盈利",OrderProfit()); 

else 

Print("OrderSelect返回的错误",GetLastError()); 

boolOrderSelect(intindex,intselect,voidpool)

函数选择定单。

如果函数成功,返回的值为TRUE。

如果函数失败,返回的值为FALSE。

获得详细错误信息,请查看GetLastError()函数。

如果定单编号被选定,此pool参量被认知。

此定单编号为唯一识别符。

找出所选定单的列表,它的平仓时间必须进行分析。

如果定单卖出时间为零,开单和挂单将从终端位置列表打开。

可以从定单类型区别开挂单和开单。

如果定单的卖出时间不等于0,平单和删除定单是在终端历史中被选择。

他们同样可以区分删除定单是在终端历史中被选择。

他们同样可以区分定单类型。

参量:

index-定单索引。

 

select-选定模式。

可以为以下的任意值:

 

SELECT_BY_POS 

SELECT_BY_TICKET。

 

pool-可选择定单索引。

当选择SELECT_BY_POS参量时使用。

可以为以下的任意值:

 

MODE_TRADES(default)-来自交易的定单(开单和挂单), 

MODE_HISTORY-来自历史的定单(平仓和取消定单)。

 

示例:

if(OrderSelect(12470,SELECT_BY_TICKET)==true) 

Print("定单#12470开价格",OrderOpenPrice()); 

Print("定单#12470收盘价格",OrderClosePrice()); 

else 

Print("OrderSelect返回的错误",GetLastError()); 

intOrderSend(stringsymbol,intcmd,doublevolume,doubleprice,intslippage,doublestoploss,doubletakeprofit,voidcomment,voidmagic,voidexpiration,voidarrow_color) 

这个功能主要应用于开仓位置和挂单交易.

由交易服务器返回定单的定单编号或者-1,说明是错误的。

获得另外的错误信息,查看GetLastError()函数。

注解:

市场定单的开启(OP_SELLorOP_BUY),只有最后的卖价格或买价格可以应用到开价格中.如果执行当前带有不同证券的业务,必须使用带有MODE_BID或MODE_ASK参量的MarketInfo()函数获得.预测或是不标准的价格不可用.如果没有要求重新开价格或者没有按照小数点后的数字正常化,错误129(ERR_INVALID_PRICE)将会生成.如果请求开价格的日期完全过期,错误138(ERR_REQUOTE)将会生成.如果请求的价格是过时的,仓位只能够在当前价格位打开/只有当前价格位在price+-slippage范围内. 

止损和赢利水平线不能够关闭市场.最小距离的终止水平点可以使用MarketInfo()函数得到MODE_STOPLEVEL参量。

在错误或水平位不正常停止情况下,错误130(ERR_INVALID_STOPS)将会生成. 

在挂单的位置,开价格不能够终止市场活动.最小距离的终止水平点可以使用MarketInfo()函数得到MODE_STOPLEVEL参量。

在错误或水平位不正常停止情况下,错误130(ERR_INVALID_STOPS)将会生成. 

挂单交易的期限在一些服务器上禁止应用。

这种情况下,一个特殊的非零值的参量将会产生,错误147(ERR_TRADE_EXPIRATION_DENIED)将会生成。

 

在一些服务器上,开仓和挂单交易的总数会被限定。

如果超出限定,则不能开启新仓位。

这样交易服务器返回到错误148(ERR_TRADE_TOO_MANY_ORDERS)。

参量:

symbol-交易货币对。

 

cmd-购买方式。

可以是购买方式列举的任意值。

 

volume-购买手数。

 

price-收盘价格。

 

slippage-最大允许滑点数。

 

stoploss-止损水平。

 

takeprofit-赢利水平。

 

comment-注解文本。

注解的最后部分可以由服务器改变。

 

magic-定单指定码。

可以作为用户指定识别码使用。

 

expiration-定单有效时间(只限挂单)。

 

arrow_color-图表上箭头颜色。

如果参量丢失或存在CLR_NONE价格值不会在图表中画出。

 

示例:

intticket; 

if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25) 

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"Myorder#2",16384,0,Green); 

if(ticket<0) 

Print("OrderSend失败错误#",GetLastError()); 

return(0); 

}

intOrdersHistoryTotal()

在账户历史返回关闭定单数加载进入终端。

历史列表的大小取决于终端的"帐户历史"表格的当前的设置.

示例:

//来自交易历史的恢复信息 

inti,hstTotal=OrdersHistoryTotal(); 

for(i=0;i

//----检查选择结果 

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) 

Print("带有(",GetLastError(),")错误的历史失败通道"); 

break; 

//定单的一些工作 

doubleOrderStopLoss()

对于当前选择定单返回止损值。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(ticket,SELECT_BY_POS)==true) 

Print("对于10止损值",OrderStopLoss()); 

else 

Print("OrderSelect失败错误代码是",GetLastError()); 

intOrdersTotal()

返回市场和挂单的总数

示例:

inthandle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t"); 

if(handle<0)return(0); 

//写标题 

FileWrite(handle,"#","开价格","买入时间","货币对","手数"); 

inttotal=OrdersTotal(); 

//编写定单命令 

for(intpos=0;pos

if(OrderSelect(pos,SELECT_BY_POS)==false)continue; 

FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots()); 

FileClose(handle); 

doubleOrderSwap()

对于当前选择定单返回掉期值。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(order_id,SELECT_BY_TICKET)==true) 

Print("对于定单#掉期",order_id,"",OrderSwap()); 

else 

Print("OrderSelect失败错误代码是",GetLastError()); 

stringOrderSymbol()

对于选择定单返回定单货币对值。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(12,SELECT_BY_POS)==true) 

Print("定单#货币对",OrderTicket(),"is",OrderSymbol()); 

else 

Print("OrderSelect失败错误代码是",GetLastError());

doubleOrderTakeProfit()

对于当前选择定单返回赢利值。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(12,SELECT_BY_POS)==true) 

Print("定单#",OrderTicket(),"盈利:

",OrderTakeProfit()); 

else 

Print("OrderSelect()返回错误-",GetLastError()); 

intOrderTicket()

对于当前选择定单返回定单编号。

注解:

定单必须用OrderSelect()函数提前选定。

示例:

if(OrderSelect(12,SELECT_BY_POS)==true) 

order=OrderTicket(); 

else 

Print("OrderSelect失败错误代码",GetLastError()); 

intOrderType()

对于当前选择定单返回定单类型。

可以是以下的任意值:

OP_BUY-买进, 

OP_SELL-卖出, 

OP_BUYLIMIT-挂单买入限定, 

OP_BUYSTOP-挂单停止限定, 

OP_SELLLIMIT-挂单卖出限定, 

OP_SELLSTOP-挂单停止限定。

注解:

定单必须由OrderSelect()函数选择。

示例:

intorder_type; 

if(OrderSelect(12,SELECT_BY_POS)==true) 

order_type=OrderType(); 

//... 

else 

Print("OrderSelect()返回错误-",GetLastError());

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1