第二十一节 交易函数.docx
- 文档编号:23151138
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:18
- 大小:19.42KB
第二十一节 交易函数.docx
《第二十一节 交易函数.docx》由会员分享,可在线阅读,更多相关《第二十一节 交易函数.docx(18页珍藏版)》请在冰豆网上搜索。
第二十一节交易函数
Tradingfunctions
HistoryTotal()
OrderClose()
OrderCloseBy()
OrderClosePrice()
OrderCloseTime()
OrderComment()
OrderCommission()
OrderDelete()
OrderExpiration()
OrderLots()
OrderMagicNumber()
OrderModify()
OrderOpenPrice()
OrderOpenTime()
OrderPrint()
OrderProfit()
OrderSelect()
OrderSend()
OrderStopLoss()
OrdersTotal()
OrderSwap()
OrderSymbol()
OrderTakeProfit()
OrderTicket()
OrderType()
intHistoryTotal(
)
Returnsnumberofclosedordersintheaccounthistory.
Sample
intaccCount;
accCount=HistoryTotal();
boolOrderClose(
int ticket,double lots,double price,int slippage,color Color=CLR_NONE)
Closesopenedorderandselectsit.
Parameters
ticket
-
Uniquenumberoftheorderticket.
lots
-
Numberoflots.
price
-
Preferredclosingprice.
slippage
-
Valueofthemaximumpriceslippageinpoints.
Color
-
Coloroftheclosingarrowonthechart.IfparameterisabsentorhasCLR_NONEvalueclosingarrowisnotdrawnonthechart.
Sample
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
{
OrderClose(order_id,1,Ask,3,Red);
return(0);
}
boolOrderCloseBy(
int ticket,int opposite,color Color=CLR_NONE)
Closesopenedorderbyanotheroppositeopenedorder.
Parameters
ticket
-
Uniquenumberoftheorderticket.
opposite
-
Uniquenumberoftheoppositeorderticket.
Color
-
Coloroftheclosingarrowonthechart.IfparameterisabsentorhasCLR_NONEvalueclosingarrowisnotdrawnonthechart.
Sample
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
{
OrderCloseBy(order_id,opposite_id);
return(0);
}
doubleOrderClosePrice(
)
Returnsclosepriceforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doubleprice=OrderClosePrice();
Print("Closepricefortheorder10",price);
datetimeOrderCloseTime(
)
Returnsclosetimeforthecurrentlyselectedorder.Iforderclosetimeisnotequalto0thenselectedorderisclosedandretrievedfromaccounthistory.
Sample
OrderSelect(10,SELECT_BT_POS,MODE_HISTORY);
datetimectm=OrderCloseTime();
if(datetime>0)
Print("closetimefortheorder10",ctm);
stringOrderComment(
)
Returnscommentfortheselectedorder.
Sample
stringcomment;
OrderSelect(10,SELECT_BY_TICKET);
comment=OrderComment();
doubleOrderCommission(
)
Returnscalculatedcommissionforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doublevalue=OrderCommission();
Print("Commissionfortheorder10",value);
boolOrderDelete(
int ticket)
Deletespreviouslyopenedpendingorder.
Parameters
ticket
-
Uniquenumberoftheorderticket.
Sample
if(Ask>var1)
{
OrderDelete(order_ticket);
return(0);
}
datetimeOrderExpiration(
)
Returnsexpirationdatefortheselectedpendingorder.
Sample
intexpiration;
OrderSelect(10,SELECT_BY_TICKET);
datetimeexpiration=OrderExpiration();
Print("Orderexpirationfortheorder#10is",expiration);
doubleOrderLots(
)
Returnslotsvaluefortheselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doublevalue=OrderLots();
Print("lotsfortheorder10",value);
intOrderMagicNumber(
)
Returnsmagicnumberforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
intnum=OrderMagicNumber();
Print("Magicnumberfortheorder10",num);
intOrderModify(
int ticket,double price,double stoploss,double takeprofit,datetime expiration,color arrow_color=CLR_NONE)
Modificationofcharacteristicsforthepreviouslyopenedpositionorapendingorder.
Parameters
ticket
-
Uniquenumberoftheorderticket.
price
-
Newprice(onlyforpendingorders).
stoploss
-
Newstoplosslevel.
takeprofit
-
Newprofit-takinglevel.
expiration
-
Orderexpirationserverdate/time.
arrow_color
-
Arrowcolorofthepictogramonthechart.IfparameterisabsentorhasCLR_NONEvaluearrowisnotdrawnonthechart.
Sample
if(TrailingStop>0)
{
SelectOrder(1,SELECT_BY_TICKET);
if(Bid-OrderOpenPrice())>Point*TrailingStop)
{
if(OrderStopLoss()<(Bid-Point*TrailingStop))
{
OrderModify(OrderTicket(),Ask-10*Point,Ask-35*Point,OrderTakeProfit(),0,Blue);
return(0);
}
}
}
doubleOrderOpenPrice(
)
Returnsopenpriceforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doubleprice=OrderOpenPrice();
Print("openpricefortheorder10",price);
datetimeOrderOpenTime(
)
Returnsopentimeforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
datetimectm=OrderOpenTime();
Print("opentimefortheorder10",ctm);
voidOrderPrint(
)
Printsselectedorderdatatothelogfortheselectedorder.
Sample
OrderSelect(10,SELECT_BY_TICKET);
OrderPrint();
doubleOrderProfit(
)
Returnsprofitforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doubleprofit=OrderProfit();
Print("Profitfortheorder10",profit);
boolOrderSelect(
int index,int select=SELECT_BY_POS,int pool=MODE_TRADES)
Selectsorderbyindexortickettofurtherprocessing.OrderSend(),OrderClose()andOrderModify()functionsalsochangesselectedorder.Ifdeletingorderisselected,OrderDelete()functionresetsselectedorder.
Parameters
index
-
Orderindexororderticketdependingfromsecondparameter.
select
-
Selectingflags.Itcanbeanyoneofthefollowingvalues:
SELECT_BY_POS-indexintheorder'spool,
SELECT_BY_TICKET-indexisorderticket.
pool
-
Optionalorder'spoolindex.UsedwhenselectparameterisSELECT_BY_POS.Itcanbeanyoneofthefollowingvalues:
MODE_TRADES(default)-orderselectedfromtradingpool(openedandpendingorders),
MODE_HISTORY-orderselectedfromhistorypool(closedandcanceledorder).
Sample
OrderSelect(12470,SELECT_BY_TICKET);
Print("order#12470openpriceis",OrderOpenPrice());
Print("order#12470closepriceis",OrderClosePrice());
intOrderSend(
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)
Mainfunctionusedtoopenapositionorsetapendingorder.Returnsticketoftheplacedorderor-1iffailed.TocheckerrorcodeuseGetLastError()function.
Parameters
symbol
-
Symbolfortrading.
cmd
-
Operationtype.Itcanbeanyoneofthefollowingvalues:
OP_BUY-buyingposition,
OP_SELL-sellingposition,
OP_BUYLIMIT-buylimitpendingposition,
OP_BUYSTOP-buystoppendingposition,
OP_SELLLIMIT-selllimitpendingposition,
OP_SELLSTOP-sellstoppendingposition.
volume
-
Numberoflots.
price
-
Preferredpriceofthetrade.
slippage
-
Maximumpriceslippageforbuyorsellorders.
stoploss
-
Stoplosslevel.
takeprofit
-
Takeprofitlevel.
comment
-
Order'scommenttext.
magic
-
Order'smagicnumber.
expiration
-
Orderexpirationtime(forpendingordersonly).
arrow_color
-
Coloroftheopeningarrowonthechart.IfparameterisabsentorhasCLR_NONEvalueopeningarrowisnotdrawnonthechart.
Sample
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("OrderSendfailedwitherror#",GetLastError());
return(0);
}
}
doubleOrderStopLoss(
)
Returnsstoplossvalueforthecurrentlyselectedorder.
Sample
OrderSelect(10,SELECT_BY_POS);
doublevalue=OrderStopLoss();
Print("Stoplossvaluefortheorder10",value);
intOrdersTotal(
)
Returnsmarketandpendingorderscount.
Sample
intcount;
count=OrdersTotal();
doubleOrderSwap(
)
Returnsswapvalueforthecurrentlyselectedorder.
Sample
OrderSelect(order_id,SELECT_BY_TICKET);
doubleswap=OrderSwap();
Print("Swapfortheorder#",order_id,"",swap);
stringOrderSymbol(
)
Returnstheordersymbolvalueforselectedorder.
Sample
stringsymbl;
OrderSelect(12,SELECT_BY_POS);
Print("symboloforder#",OrderTicket(),"is",OrderSymbol());
doubleOrderTakeProfit(
)
Returnstakeprofitvalueforthecurrentlyselectedorder.
Sample
doublevalue=OrderTakeProfit();
intOrderTicket(
)
Returnsticketnumberforthecurrentlyselectedorder.
Sample
intorder;
OrderSelect(12,SELECT_BY_POS);
order=OrderTicket();
intOrderType(
)
Returnsordertypeforthecurrentlyselectedorder.
Sample
intorder_type;
OrderSelect(12,SELECT_BY_POS);
order_type=OrderType();
交易函数[TradingFunctions]
intHistoryTotal()
返回历史数据的数量
//retrievinginfofromtradehistory
inti,hstTotal=HistoryTotal();
for(i=0;i { //----checkselectionresult if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Accesstohistoryfailedwitherror(",GetLastError(),")"); break; } //someworkwithorder } boolOrderClose(intticket,doublelots,doubleprice,intslippage,colorColor=CLR_NONE) 对订单进行平仓操作。 : : 输入参数 ticket-订单编号 lots-手数 price-平仓价格 slippage-最高划点数 Color-标记颜色 示例: if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Ask,3,Red); return(0); } boolOrderCloseBy(intticket,intopposite,colorColor=CLR_NONE) 对订单进行平仓操作。 : : 输入参数 ticket-订单编号 opposite-相对订单编号 Color-标记颜色 示例: if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderCloseBy(order_id,opposite_id); return(0); } doubleOrderClosePrice() 返回订单的平仓价 示例: if(OrderSelect(ticket,SELECT_BY_POS)==true) Print("Closepricefortheorder",ticket,"=",OrderClosePrice()); else Print("OrderSelectfailederrorcodeis",GetLastError()); datetimeOrderCloseTime() 返回订单的平仓时间 示例: if(Or
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二十一节 交易函数 第二 一节 交易 函数