Отложенный ордер на MQL5
Показано с 1 по 3 из 3

Тема: Отложенный ордер на MQL5

  1. #1

    Регистрация
    02.10.2018
    Сообщений
    4
    Благодарности
    Получено: 0
    Отправлено: 1

    Post Отложенный ордер на MQL5

    Добрый день. Как правильно описать что бы, лимитный ордер на покупку выставлялся выше хая вчерашнего дня ?

    Код прилагаю.
    void OnStart()
    {
    double open1 = iOpen(Symbol(),Period(),1);
    double close1 = iClose(Symbol(),Period(),1);
    double high1 = iHigh(Symbol(),Period(),1);
    double low1 = iLow(Symbol(),Period(),1);

    // Создать запрос
    MqlTradeRequest request = {0};
    request.action = TRADE_ACTION_PENDING;
    request.symbol = Symbol();
    request.volume = 0.1;
    request.price = SymbolInfoDouble(request.symbol,SYMBOL_ASK)-1000*_Point;
    request.sl = request.price-500*_Point;
    request.tp = request.price+100*_Point;
    request.type = ORDER_TYPE_BUY_LIMIT;
    request.type_filling = ORDER_FILLING_FOK;
    request.expiration = ORDER_TIME_DAY;

    MqlTradeResult result = {0};
    if (OrderSend (request,result))
    Print ("Ордер успешно отправлен, ошибок нет = ", GetLastError());
    else
    Print ("Не удалось отправить запрос, ошибка = ", GetLastError());
    }

    Вы не можете благодарить!

  2. #2
    Эксперт
    Регистрация
    16.08.2012
    Адрес
    Челябинск
    Сообщений
    1,917
    Благодарности
    Получено: 698
    Отправлено: 73
    Цитата Сообщение от setborg Посмотреть сообщение
    double open1 = iOpen(Symbol(),Period(),1);
    double close1 = iClose(Symbol(),Period(),1);
    double high1 = iHigh(Symbol(),Period(),1);
    double low1 = iLow(Symbol(),Period(),1);
    Это функции mql4. Для mql5 нужно использовать иные выражения и функции:
    PHP код:
       MqlRates rates[]; 
       
    ArraySetAsSeries(rates,true); 
       
    int copied=CopyRates(Symbol(),PERIOD_D1,0,2,rates);
       if (
    copied==2)
       {
           
    // Максимум вчерашнего дня rates[1].high
           // Цена для ордера
           
    double OrdPrice=rates[1].high;
       } 

    Вы не можете благодарить!
    Для заказа кода, напишите в личку - я отвечу на ваше предложение.

  3. #3

    Регистрация
    02.10.2018
    Сообщений
    4
    Благодарности
    Получено: 0
    Отправлено: 1
    Цитата Сообщение от wayfarer Посмотреть сообщение
    Это функции mql4. Для mql5 нужно использовать иные выражения и функции:
    PHP код:
       MqlRates rates[]; 
       
    ArraySetAsSeries(rates,true); 
       
    int copied=CopyRates(Symbol(),PERIOD_D1,0,2,rates);
       if (
    copied==2)
       {
           
    // Максимум вчерашнего дня rates[1].high
           // Цена для ордера
           
    double OrdPrice=rates[1].high;
       } 
    Спасибо. Со структурой MqlRates еще не пробовал !

    Вы не можете благодарить!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •