Description Usage Arguments Details Value Author(s) References See Also Examples
Send multiple orders using data.frame. All columns need to be filled. See details.
Some Forex brokers take 200ms to accept orders into market, so take this time on mind. Always check MT5's "Experts" tab.
1 | MT5.MultipleOrders(df_orders)
|
df_orders |
data.frame; see details. |
Take note that buy orders are rejected when order's stop loss are higher than order's price, and vice-versa for sell orders. This is a sanity check made by MT5, not by mt5R. Always check MT5's "Experts" tab for more details when an order is rejected.
df_orders {data.frame} [nx7] columns should be on the same order and type of MT5.SingleOrder arguments.
sSymbol {character}: symbol to send the order.
iCmd {int}:
0: ORDER_TYPE_BUY_LIMIT
1: ORDER_TYPE_SELL_LIMIT
fVol {numeric}: volume order.
fPrice {numeric}: where the order will be positioned. Use fPrice = 0 for market order.
fStop {numeric}: if applicable use any value > 0.
fGain {numeric}: if applicable use any value > 0.
iFillType {int}:
0: ORDER_FILLING_RETURN (default)
1: ORDER_FILLING_FOK (market order)
2: ORDER_FILLING_IOC
Using fPrice = 0 for Market Order, automatically iFillType will be set to 1.
Returns {logical} vector. TRUE if order was successful accepted, otherwise will return FALSE.
Guilherme Kinzel, guikinzel@gmail.com
https://www.mql5.com/en/docs/constants/tradingconstants/orderproperties
https://www.investopedia.com/terms/m/marketorder.asp
MT5.SingleOrder(), MT5.ShowOrders(), MT5.ShowPositions(), MT5.ClosePosition(), MT5.DeleteOrder(), MT5.ModifyOrder(), MT5.ModifyPosition()
1 2 3 4 5 6 7 8 9 10 11 12 13 | ## Not run:
## Two LONG positions, PETR4 with volumn of 100 and price of 22.0 and VALE5 with volumn of 500 and price of 65.
Orders <- data.frame(sSymbol = "PETR4", iCmd = 0, fVol = 100, fPrice = 22, fStop = 0, fGain = 0, iFillType = 0)
Orders <- rbind(Orders, data.frame(sSymbol = "ABEV3", iCmd = 0, fVol = 200, fPrice = 14.3, fStop = 0, fGain = 0, iFillType = 0))
MT5.MultipleOrders(Orders)
## Forex order. First one is a market order (fPrice = 0)
Orders <- data.frame(sSymbol = "EURUSD", iCmd = 0, fVol = 0.01, fPrice = 0, fStop = 0, fGain = 0, iFillType = 1)
Orders <- rbind(Orders, data.frame(sSymbol = "GBPUSD", iCmd = 0, fVol = 0.01, fPrice = 1.3276, fStop = 0, fGain = 0, iFillType = 0))
MT5.MultipleOrders(Orders)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.