Добрый день. Может кто подсказать по коду, делаю советника он должен открывать от текущей цены сделку на продажу и сделку на покупку но порядок открытия должен быть таков что сделка Sell всегда выше сделки Buy. Но перепробовал множество уже вариаций всегда получается сначала buy а ниже идет sell. Вот фрагмент кода void OnTick()
{
double currentPrice = SymbolInfoDouble(_Symbol, SYMBOL_BID);
double currentSpread = SymbolInfoInteger(_Symbol, SYMBOL_SPREAD);
MqlTradeResult result; // Переменная result объявляется здесь
// Проверяем, есть ли открытые позиции и спред не превышает максимальное значение
if (PositionsTotal() == 0 && currentSpread <= MaxSpread)
{
// Открываем позицию на продажу
MqlTradeRequest request_sell;
ZeroMemory(request_sell);
request_sell.action = TRADE_ACTION_DEAL;
request_sell.symbol = _Symbol;
request_sell.volume = 0.01;
request_sell.type = ORDER_TYPE_SELL;
request_sell.price = currentPrice;
request_sell.sl = 0;//currentPrice + 300 * _Point;
request_sell.tp = 0;//currentPrice — 300 * _Point;
OrderSend(request_sell, result);
// Открываем позицию на покупку
MqlTradeRequest request_buy;
ZeroMemory(request_buy);
request_buy.action = TRADE_ACTION_DEAL;
request_buy.symbol = _Symbol;
request_buy.volume = 0.01;
request_buy.type = ORDER_TYPE_BUY;
request_buy.price = currentPrice + 200 * _Point;
request_buy.sl = 0;//currentPrice — 300 * _Point;
request_buy.tp = 0;//currentPrice + 300 * _Point;
OrderSend(request_buy, result);
}