Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 936

 
Vitaly Muzichenko:

Задержка может быть до секунды. Может случиться ситуация, что новый бар появится за этот промежуток времени?

Если задержка до секунды не более, значит сделки не может быть вне этого бара

 
Tango_X:

Если задержка до секунды не более, значит сделки не может быть вне этого бара

Не может. Покажите скрином, что у вас не так

 
Vitaly Muzichenko:

Не может. Покажите серином, что у вас не так

Почему не может?

Если торгует на минутках - на первой отослал запрос, следующий тик пришёл через минуту. И цена ещё не устарела и находится в пределах проскальзывания. Или нет?

 
Artyom Trishkin:

Почему не может?

Если торгует на минутках - на первой отослал запрос, следующий тик пришёл через минуту. И цена ещё не устарела и находится в пределах проскальзывания. Или нет?

Плюс к этому, если малоликвидный инструмент, то первый тик минутки может быть далеко не на первой секунде.

 
Artyom Trishkin:

Почему не может?

Если торгует на минутках - на первой отослал запрос, следующий тик пришёл через минуту. И цена ещё не устарела и находится в пределах проскальзывания. Или нет?

Вот кстати за минутки как-бы Я уронил, за 10 лет не открыл там ни одной сделки)

 

Здравствуйте.

Может уже есть готовая функция - в каком баре находится время?

Например если время 11.47 то :
М1==11.47
М5==11.45
М15==11.45
М30==11.30

 
Nauris Zukas:

Здравствуйте.

Может уже есть готовая функция - в каком баре находится время?

Например если время 11.47 то :
М1==11.47
М5==11.45
М15==11.45
М30==11.30

iBarShift пойдёт?

 
Vladimir Karputov:

iBarShift пойдёт?

Да, точно, спасибо!

 

Добрый день!

Открываю позицию и хочу вывести на печать содержание MqlTradeResult вот так:


   //--- declare and initialize the trade request and result of trade request
        MqlTradeRequest request={0};
        MqlTradeResult  result={0};
        //--- parameters of request
        request.action   = TRADE_ACTION_DEAL;    // type of trade operation
        request.symbol   = Pair1;                // symbol
        request.volume   = lots;                 // volume of lot
        request.type     = oper;                 // order type
        request.price    = priceOpen;            // price for opening
        request.deviation= Slippage;             // allowed deviation from the price
        request.magic    = magic;   
 //============================================================     
        if(OrderSend(request,result))       
        Print ("result.retcode = " + result.retcode + "; ");        
        Print ("deal = " + result.deal + "; ");
        Print ("order = " + result.order + "; "); 
        Print ("volume = " + result.volume + "; ");  
        Print ("price = " + result.price + "; ");

result.retcode, order и volume выводятся, а deal и price всегда нули.
Подскажите, пожалуйста, что делаю не так?

 
Algotrader18:

Добрый день!

Открываю позицию и хочу вывести на печать содержание MqlTradeResult вот так:


result.retcode, order и volume выводятся, а deal и price всегда нули.
Подскажите, пожалуйста, что делаю не так?

Статья С чего начать при создании торгового робота для Московской биржи MOEX. Пример слушателя "TradeTransactionListener":

Торговать на бирже с помощью роботов — это просто

Язык MQL5 изначально поддерживает все торговые возможности платформы MetaTrader 5: в нем множество торговых функций для работы с ордерами, позициями и торговыми запросами. При этом не имеет значения, на каком рынке вы торгуете — фьючерсами, акциями, опционами и т.д. 

Средствами MQL5 вы можете создать торговый запрос и отослать его на сервер с помощью функций OrderSend() или OrderSendAsync(), получить результат его выполнения, просмотреть торговую историю, узнать спецификацию контракта для инструмента, обработать торговое событие и получить еще множество другой необходимой информации.

Для разработчиков торговых роботов важно понимать одно существенное обстоятельство: каждая торговая операция, будь то открытие позиции, установка StopLoss или TakeProfit,  или закрытие позиции встречной сделкой — всегда состоит из множества транзакций, совершаемых на сервере MetaTrader 5 и на Московской бирже. Чтобы увидеть как это происходит, вы можете запустить на своем счете советника TradeTransactionListener.mql5, который просто слушает события TradeTransaction и выводит краткую информацию по ним:

//+------------------------------------------------------------------+
//|                                     TradeTransactionListener.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+