1. OrderSend()函數(shù)語(yǔ)法,參數(shù)說(shuō)明
OrderSend()函數(shù)主要功能用于開(kāi)倉(cāng)和掛單交易。語(yǔ)法如下:
int OrderSend(string Symbol, int Type, double Lots, double Price, int Slippage, double Stoploss, double TakeProfit, string Comment=NULL, int Magic=0, datetime Expiration=0, color arrow_color=CLR_NONE )
參數(shù):
Symbol: 交易貨幣對(duì)代碼。一個(gè)字符串,表示該商品的交易,例如 GBPJPY ,XAUUSD。也可以直接使用Symbol()代表當(dāng)前圖表的商品。
-
Type:類型;購(gòu)買方式。可以是任意的購(gòu)買方式的枚舉值(整數(shù))。訂單類型為買入或者賣出,市場(chǎng)單、停損或限價(jià)單。包括以下常量:
- OP_BUY (0)
- OP_SELL (1)
- OPBUYSTOP (2)
- OPSELLSTOP (3)
- OP_BUYLIMIT (4)
- OPSELLLIMIT (5)
Lots:購(gòu)買手?jǐn)?shù)。迷你手(0.1),微型手(0.01)。
Price:交易首選價(jià)。開(kāi)單的時(shí)候,買入市價(jià)為市場(chǎng)賣價(jià)(ASK),賣出市價(jià)為市場(chǎng)買價(jià)(BID)。對(duì)于預(yù)掛單來(lái)說(shuō),開(kāi)倉(cāng)價(jià)必須和現(xiàn)價(jià)有價(jià)差,選擇低于或高于當(dāng)前的價(jià)格。
Slippage:滑點(diǎn)。買賣訂單的最大允許滑點(diǎn)數(shù)。當(dāng)設(shè)定最大滑點(diǎn)后經(jīng)濟(jì)商不支持,會(huì)自動(dòng)忽略這個(gè)參數(shù)。
Stoploss:止損水平;止損價(jià)。多單之下/空單之上。交易止損單時(shí),可以在開(kāi)新倉(cāng)時(shí)進(jìn)行,也可以在開(kāi)新倉(cāng)之后進(jìn)行。如果設(shè)置為0交易不會(huì)存在。
TakeProfit:盈利水平;停利價(jià)。多單之上/空單之下。可以計(jì)算出預(yù)計(jì)的獲利,預(yù)先掛單。可以在開(kāi)新倉(cāng)時(shí)進(jìn)行,也可以在開(kāi)新倉(cāng)之后進(jìn)行。設(shè)置為0,沒(méi)有獲利時(shí)就被使用了。
Comment:注釋文本。注釋的最后部分可以由服務(wù)器修改。
Magic:自定義數(shù)字;訂單的指定號(hào)碼。可以當(dāng)作用戶定義的識(shí)別碼使用。
Expiration:到期時(shí)間,訂單過(guò)期時(shí)間。(只限掛單使用,預(yù)掛單可以設(shè)定到期時(shí)間)。市場(chǎng)訂單沒(méi)有到期一說(shuō),所以參數(shù)設(shè)置為“0”就行。
arrow_color:圖表上開(kāi)倉(cāng)箭頭標(biāo)記的顏色。如果沒(méi)有參數(shù)或者設(shè)置為CLR_NONE,開(kāi)倉(cāng)箭頭就不在圖表上繪制了。
2. 舉栗
int ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask-25*Point, Ask+25*Point, "My order #2", 16308, 0, Green);
if(ticket < 0)
{
Print("OrderSend Error Code = #", GetLastError());
return(0);
}
發(fā)出訂單后,由交易服務(wù)器返回訂單號(hào)碼,如果失敗就返回-1;獲取額外錯(cuò)誤信息使用GetLastError()函數(shù)。