MetaTrader 4 Trading Terminal build 710: Активы, новая витрина сигналов и ручная торговля при подписке

Что нового в MetaTrader 4?

26 сентября 2014

Торговый терминал

  1. Разрешено указание уровней Stop Loss и Take Profit при открытии позиции по торговому инструменту с типом исполнения "Market Execution".



    Ранее выставление уровней SL/TP в данном режиме исполнения было доступно только из MQL4-программ.

  2. Добавлено отдельное окно просмотра журналов терминала, экспертов и тестера стратегий, позволяющие удобно просматривать журналы, фильтруя их по ключевым словам и датам.



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

    В верхней части окна просмотра расположена строка поиска по логу (поиск осуществляется только по точным словам с учетом регистра), а также фильтр записей (Полностью, Только ошибки). Здесь также могут быть указаны временные рамки для поиска записей. После указания всех необходимых условий поиска, следует нажать кнопку "Запрос".




  3. В результатах поиска по MQL5.community теперь показываются и "Блоги". В этом разделе трейдеры делятся интересной и полезной информацией с аудиторией сообщества. Здесь вы найдете новости со всего мира на самые разнообразные темы - слухи о компаниях, отчеты по странам и отраслям, анализ рынков, новейшие разработки в спекулятивной торговле и многое другое.

    Делитесь своими идеями и торговыми достижениями в блогах!




  4. В окно "Terminal" добавлена вкладка "Exposure", где показывается суммарная информация о состоянии активов трейдера по всем открытым позициям.



    Здесь представлена следующая информация:

    • Средства - название валюты или финансового инструмента.
    • Объем - объем клиентской позиции (в единицах) по данной валюте или торговому инструменту с учетом кредитного плеча.
    • Курс - курс валюты или инструмента по отношению к валюте депозита.
    • Валюта депозита - в данной колонке отображается количество реально затраченной валюты депозита (без учета плеча) на покупку/продажу валюты или торгового инструмента.
    • График - графическое отображение клиентской позиции в валюте депозита (синими полосами отображаются длинные позиции, красными - короткие).

  5. Исправлено сохранение состояния дерева MQL4 программ в окне "Навигатор" при закрытии терминала. В некоторых случаях категории MQL4-программ и счетов, открытые во время работы, оказывались закрытыми после перезапуска терминала.
  6. В стакане цен добавлена всплывающая подсказка на кнопку закрытия позиции, содержащая описание закрываемой позиции.




  7. Исправлено изменение значения уровней SL/TP с помощью колеса мыши в диалоге модификации позиции.
  8. Исправлено удаление отложенного ордера при его перетаскивании в стакане цен через границу цен Bid/Ask на уровень, находящийся внутри диапазона, где запрещено выставление отложенных ордеров.



    Ранее отложенный ордер удалялся. Теперь в описанной ситуаций ордер просто не модифицируется. В журнал при этом выводится соответствующее сообщение об ошибке.

  9. Исправлена ошибка, в некоторых случаях приводившая к ложному сообщению "trade context is busy" в журнале терминала.
  10. При подключении в журнал терминала теперь пишется имя торгового сервера и точки доступа, к которым подключился терминал.
    2014.09.24 11:41:17.535    '2620818': login on MetaQuotes-Demo through Access Point 1
  11. Переработан дизайн вкладки "Новости" и диалога показа новостей. Продолжаются работы по усовершенствованию системы доставки новостей, внедряется поддержка rich-контента.




  12. Исправлено и улучшено сканирование точек доступа для поиска наилучшего варианта подключения.
  13. В контекстное меню вкладок "Эксперты" и "Журнал" окна "Терминал" и вкладки "Журнал" тестера стратегий добавлены команды для удаления журналов.

Язык MQL4

  1. Исправлено получение свойства торгового инструмента "Валюта прибыли" (SYMBOL_CURRENCY_PROFIT) с помощью функции SymbolInfoString. Ранее вместо валюты прибыли возвращалась базовая валюта.
  2. Исправлены ошибки в функции IndicatorBuffers при распределении более 16 индикаторных буферов.
  3. Добавлен новый код ошибки при совершении торговых операций - ERR_TRADE_EXPERT_DISABLED_BY_SERVER. Она означает, что торговля экспертами запрещена в настройках торгового сервера.
  4. Значительно ускорена работа Copy* функций, предназначенных для работы с ценовой историей.
  5. Теперь при закрытии терминала экспертам, скриптам и индикаторам в качестве причины закрытия передается значение REASON_CLOSE вместо REASON_CHARTCLOSE.
  6. Добавлено преобразование параметра макроса в строку и конкатенацию параметра макроса. Ниже приведен пример, в котором конкатенация макросов позволяет организовать автоматическое удаление экземпляров класса.
    //+------------------------------------------------------------------+
    //|                                                     MacroExample |
    //|                        Copyright 2014, MetaQuotes Software Corp. |
    //|                                       https://www.metaquotes.net  |
    //+------------------------------------------------------------------+
    #property script_show_inputs
    input bool InpSecond=true;
    
    #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}};
    #define TOSTR(x) #x
    #define AUTODEL(obj) CAutoDelete auto_##obj(obj)
    #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \
                             Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \
                             while(0)
    //+------------------------------------------------------------------+
    //| Базовый класс, необходим для автоудаления объектов               |
    //+------------------------------------------------------------------+
    class CBase
      {
    protected:
       string            m_name;
    
    public:
                         CBase(string name):m_name(name) { }
       string            Name(void) const{ return(m_name); }
    
      };
    //+------------------------------------------------------------------+
    //| Класс автоудаления объектов позволяет не следить за созданными   |
    //| объектами. Он удаляет их в своем деструкторе                     |
    //+------------------------------------------------------------------+
    class CAutoDelete
      {
       CBase            *m_obj;
    
    public:
                         CAutoDelete(CBase *obj):m_obj(obj) { }
                        ~CAutoDelete()
         {
          if(CheckPointer(m_obj)==POINTER_DYNAMIC)
            {
             Print("Delete object '",m_obj.Name(),"' by CAutoDelete class");
             delete m_obj;
            }
         }
      };
    //+------------------------------------------------------------------+
    //| Объявим два новых класса CFoo и CBar                             |
    //+------------------------------------------------------------------+
    DEFCLASS(CFoo);
    DEFCLASS(CBar);
    //+------------------------------------------------------------------+
    //| Основная функция скрипта                                         |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       CFoo *foo;
    //--- создадим объект класса CFoo
       NEWOBJ(CFoo,foo);
    //--- создадим экземпляр класса автоудаления объекта CFoo foo
       AUTODEL(foo);
    //---
       if(InpSecond)
         {
          CBar *bar;
          //---
          NEWOBJ(CBar,bar);
          AUTODEL(bar);
         }
    //--- Удалять foo не нужно, он будет удален автоматически
      }
    //+------------------------------------------------------------------+
    


Торговые сигналы

  1. Полностью переработана витрина сигналов. Добавлены новые функции, улучшен дизайн и повышено удобство работы с сигналами.



    Новые функции списка сигналов:

    • В списке сигналов появились графики прироста, аналогичные отображаемым на сайте MQL5.community. Зеленая иконка в левом нижнем углу графика означает, что сигнал создан на основе реального счета.
    • Теперь подписаться на сигнал можно прямо из списка. Для этого необходимо нажать кнопку с изображением цены (или надписью Free, если сигнал бесплатный). Сразу после этого будет показан диалог подтверждения подписки.
    • Теперь сигналы можно добавить в избранные. Нажмите кнопку с изображением звезды в конце строки сигнала. После этого сигнал можно будет легко найти на вкладке "Избранное".
    • Убрано контекстное меню. Сейчас чтобы найти сигнал, на который вы подписаны, зайдите в любой сигнал. На верхней панели будет показано, на какой сигнал вы подписаны, и ссылка на него.

    Обновилась страница просмотра сигналов. Появилась возможность добавить сигнал в избранные. Общее состояние счета сигнала показывается при наведении курсора мыши на показатель "Прирост". Расширилась статистика по сигналу:

    • Общий объем средств подписчиков.
    • Срок жизни торгового счета с момента первой торговой операции.
    • Среднее время удержания позиции.



    Также добавились новые вкладки:

    • Риски - информация о наилучших и наихудших торговых операциях и сериях операций, а также о просадках.
    • Отзывы - отзывы подписчиков сигнала.
    • Новости - через данную вкладку провайдер может информировать подписчиков о любых изменениях в работе сигнала и публиковать другую полезную информацию.

  2. Существенно смягчены ограничения при подписке на сигналы:

    • Если в торговой истории сигнала есть символы, которых нет у подписчика, то подписка разрешается (ранее запрещалась). Действия с позициями, по которым у подписчика отсутствуют символы, игнорируются. При этом в журнал выводится информирующее сообщение:
      2014.08.26 16:44:29.036    '2620818': Signal - symbol GBPNZD not found
    • Если у подписчика есть позиции и/или отложенные ордера, то показывается диалог предупреждения с предложением их закрыть/удалить (как и ранее). Однако теперь это не является обязательным условием продолжения работы с сигналами.



      Синхронизация с провайдером сигналов будет осуществлена. Позиции и ордера, открытые не по сигналу, на который осуществляется подписка, будут оставлены без изменения. Пользователь может проводить любые операции с ними.

    • Теперь пользователи могут осуществлять торговые операции вручную (или советником), будучи подписанными на сигнал. Сервис сигналов будет игнорировать позиции и ордера, открытые трейдером.
      Следует учитывать, что выставление ордеров вручную влияет на объем доступной маржи на торговом счета. Открытие позиций вручную увеличивает общую нагрузку на счет по сравнению с провайдером сигналов.

Торговый терминал

  1. Увеличена точность измерения скорости соединения с сервером (Пинг). Измерение происходит три раза с точностью до сотых миллисекунды.

Тестер стратегий

  1. Исправлен расчет комиссии в процентах годовых при тестировании.
  2. В журнал тестирования добавлен вывод ошибок инициализации эксперта при выполнении оптимизации.

MetaEditor

  1. Исправлена замена текста при сворачивании списка подсказок MetaAssist.

Исправления по сообщениям на форуме и крешлогам.

Обновление доступно через систему LiveUpdate.