комментарии Sergey Tarybarov на форуме

  1. Логотип MetaTrader5
    Добрый день. Может кто подсказать по коду, делаю советника он должен открывать от текущей цены сделку на продажу и сделку на покупку но порядок открытия должен быть таков что сделка 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);

    }
Чтобы купить акции, выберите надежного брокера: