MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx
- 文档编号:4405663
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:10
- 大小:19.52KB
MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx
《MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx》由会员分享,可在线阅读,更多相关《MT4MT5外汇EA编程教程大全之交易函数10页精选文档.docx(10页珍藏版)》请在冰豆网上搜索。
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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MT4MT5 外汇 EA 编程 教程 大全 交易 函数 10 精选 文档