Let's open a position in a Hedge account with a given Magic_Number on the current _Symbol.
Code: Select all
void SendOrder(int command,double lots,double stopLoss,double takeProfit)
{
ResetLastError();
MqlTick tick; SymbolInfoTick(_Symbol,tick);
MqlTradeRequest request; ZeroMemory(request);
MqlTradeResult result; ZeroMemory(result);
MqlTradeCheckResult check; ZeroMemory(check);
request.action = TRADE_ACTION_DEAL;
request.symbol = _Symbol;
request.volume = Entry_Amount;
request.type = command==OP_BUY ? ORDER_TYPE_BUY : ORDER_TYPE_SELL;
request.price = command==OP_BUY ? tick.ask : tick.bid;
request.type_filling = orderFillingType;
request.deviation = 10;
request.sl = stopLoss;
request.tp = takeProfit;
request.magic = Magic_Number;
bool isOrderCheck = OrderCheck(request,check);
bool isOrderSend = false;
if(isOrderCheck)
isOrderSend=OrderSend(request,result);
}Code: Select all
SendOrder(OP_BUY, 0.1, 0, 0);How to find this position and close it?
I assume I have to first open an opposite one:
Code: Select all
SendOrder(OP_SELL, 0.1, 0, 0);How to execute CloseBy ?