






//+------------------------------------------------------------------+ //| 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 не нужно, он будет удален автоматически } //+------------------------------------------------------------------+

Исправления по крешлогам.
Обновлена документация.
Обновление доступно через систему LiveUpdate.

Исправления по крешлогам.
Обновлена документация.
Обновление доступно через систему LiveUpdate.




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





Исправлено отображение графических объектов типа "Label" и "Bitmap Label" с точкой привязки, расположенной в одном из нижних углов графика.


int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]); int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);Для работы с функциями также добавлено новое перечисление ENUM_CRYPT_METHOD:
CRYPT_BASE64, // шифрование BASE64 (перекодировка) CRYPT_AES128, // шифрование AES с ключом 128 бит CRYPT_AES256, // шифрование AES с ключом 256 бит CRYPT_DES, // шифрование DES (длина ключа 56 бит - 7 байт) CRYPT_HASH_SHA1, // расчет HASH SHA1 CRYPT_HASH_SHA256, // расчет HASH SHA256 CRYPT_HASH_MD5, // расчет HASH MD5 CRYPT_ARCH_ZIP, // ZIP архивирование

Исправления по крешлогам.
Обновлена документация.
Обновление будет доступно через систему LiveUpdate.






Исправления по крешлогам.
Обновлена документация.
Обновление будет доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Обновлена документация.
Обновление будет доступно через систему LiveUpdate.









Коэффициенты маржи:
Для каждого типа ордера указывается множитель для расчета маржинальных требований относительно основной суммы залога. Основная сумма залога рассчитывается в зависимости от указанного способа расчетов (Forex, futures и т.д.).
Подробное описание расчета маржинальных требований представлено в справочном руководстве клиентского терминала.
Спреды:
По торговыми позициям может осуществляться льготное взимание маржи, в случае когда они находятся в спреде по отношению друг к другу. Нахождением в спреде считается наличие разнонаправленных позиций по смежным инструментам. Заниженные маржинальные требования для позиций в спреде дают трейдеру больше возможностей для торговли.
У спреда есть стороны — A и B. Сторонами называются разнонаправленные позиции в спреде — покупка или продажа. При этом тип стороны не связан с определенным направлением позиции (покупка или продажа). Важно, чтобы позиции трейдера по всем символам стороны были либо длинными, либо короткими.
Для каждой стороны спреда может быть указано несколько символов с
собственными коэффициентами объема. Эти коэффициенты указываются в
скобках, например, LKOH-3.13 (1).
Рассмотрим пример:
Чтобы позиции трейдера находились в спреде, он должен открыть позиции объемом 1 и 2 лота по GAZR-9.12 и GAZR-3.13 соответственно в одну сторону и позицию объемом 1 лот по GAZR-6.13 в другую сторону.
В колонке Margin указывается тип взимания маржи по данному спреду:Указанная маржа взимается за единицу спреда — за
указанное сочетание позиций. Если какая-то часть позиции не укладывается
в спред, то с нее будет взиматься дополнительная маржа в соответствии с
настройками символа. Если текущие позиции клиента имеют объем, в
который указанное сочетание укладывается несколько раз, то взимаемая
маржа соответствующим образом увеличивается. Например, по условиям в
спреде находятся два инструмента A и B с весом 1 и 2. Если клиент имеет
позиции по этим инструментам объемом 3 и 4 лота соответственно, то
итоговый размер маржи будет равен удвоенному значению из настроек спреда
(два спреда: 1 лот A и 2 лота B, 1 лот A и 2 лота B) плюс маржа за один
оставшийся лот инструмента A.
Подробное описание спредов представлено в справочном руководстве клиентского терминала.



Исправления по крешлогам.Обновлена документация.
Обновление будет доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
В журнале клиентского терминала, MetaEditor и MetaTester время показывается с точностью до миллисекунд.

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

//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print(__FILE__," compiled with ",__MQL5BUILD__," build"); //--- return(INIT_SUCCEEDED); }
Исправлено копирование сигналов при проведении балансовых и кредитных операций на счете подписчика. После проведения балансовой/кредитной операции изменяется общее количество средств клиента. Если в результате этого процент копирования сигналов уменьшился более чем на 1% (объем копируемых операций рассчитывается с учетом соотношения баланса подписчика и провайдера), то происходит принудительная синхронизация счета подписчика со счетом провайдера. Это происходит для коррекции текущих позиций подписчика в соответствии с новым процентом копирования.
Если в результате балансовой или кредитной операции, средства подписчика увеличились, то принудительной синхронизации не происходит.
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Добавлена опция безусловной синхронизации позиций между источником сигнала и счетом подписчика. Если данная опция включена, то при начальной синхронизации состояния подписчика и источника сигнала синхронизация позиций (в том числе закрытие уже имеющихся открытых позиций, не принадлежащих сигналу) производится без необходимости дополнительного подтверждения в диалоговых окнах.

Данная опция необходима при использовании сигналов на VPS (Virtual Private Server) и также может быть использована для повышения надежности синхронизации при работе с уже выбранным сигналом.
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Добавлена возможность отсылки push-уведомлений о торговых транзакциях, происходящих на клиентском счете: добавление, изменение и удаление ордеров и сделок, активация отложенных ордеров и SL-TP, попадание счета под margin call и stop-out.


Добавлено отображение и управление алертами с графика.

При разрешенной опции управления торговыми уровнями с чарта значение цены у алерта может быть изменено перетаскиванием мышью на новый ценовой уровень. Алерт может быть отключен или удален с помощью контекстного меню соответствующего уровня на графике.
int a[2][2]={0,1,2,3}; Раньше требовалась запись вида int a[2][2]={{0,1},
{2,3}}; Стандартная библиотека. Добавлен класс CFlameCanvas ("Include\Canvas\FlameCanvas.mqh") и пример его использования Flame Chart ("Indicators\Examples\Canvas\FlameChart.mq5") - данный пример демонстрирует возможности построения собcтвенных изображений на чарте средствами MQL5.

Продолжаются работы по использованию общего для MetaTrader 4 и MetaTrader 5 компилятора и среды разработки MQL5:
Вместо работы над совместимостью MQL4 -> MQL5, мы решили пойти наоборот. Мы перенесли максимум функций и возможностей языка MQL5, полностью сохраняя функционал MQL4. То есть все мощные функции MQL5, включая ООП и компилятор в нативный код, станут доступны в MQL4. Для этого мы разработали единый компилятор, который автоматически поддерживает оба языка MQL4 и MQL5. MetaEditor тоже становится единым для обеих платформ MetaTrader 4 и MetaTrader 5. С его помощью можно компилировать как MQL4,так и MQL5 из любой версии.
MQL5 Storage с MetaTrader 4
Разработчикам станет легко работать с версионным контролем исходников, участвовать в групповых разработках и синхронизировать файлы.
Улучшение защиты кода приложений в MetaTrader 4
В новых EX4/EX5-файлах серьезная и полностью переработанная защита по сравнению со старым EX4.
Маркет приложений MetaTrader 4
Переход на новый компилятор, поддерживающий ресурсы и штатную защиту под конкретный компьютер пользователя, позволит создавать и продавать полноценные приложения. За защиту EX4/EX5-файлов, проданных через Маркет, не стоит беспокоиться - там нет байткода, а лишь чистый нативный код, подписанный нашим приватным ключом. Это позволит привести в порядок все существующее многообразие продаваемых решений и защитить продавцов.
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Добавлено отображение скальперского стакана цен для инструментов, у которых отсутствует биржевой стакан цен:

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

При нажатии кнопки покупки или продажи на ценовом уровне терминал автоматически определяет тип выставляемого ордера - stop или limit - и отправляет его на торговый сервер.
Добавлена команда отображения истории сделок на чарте:

В информацию о сигнале добавлено отображение графика Equity и отзывов о сигнале. Добавлено предупреждение о дате последней торговой транзакции.

bool ResourceReadImage( const string resource_name, // имя графического ресурса для чтения uint& data[], // массив для получения данных из ресурса uint& width, // ширина копируемой области из ресурса uint& height, // высота копируемой области из ресурса );
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe
Добавлена возможность установки уровней Stop Loss и Take Profit в торговом диалоге выставления рыночного ордера для торговых инструментов с типами исполнения "Market Execution" и "Exchange Execution". При этом, если значение уровней задается в пунктах, то конечное значение выставляемых цен Stop Loss и Take Profit будет рассчитываться на основе текущей рыночной цены для данного ордера на момент выставления заявки в клиентском терминале.

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

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

Добавлена опция "Использовать клавишу Alt для перетаскивания торговых уровней" - при включенной опции перетаскивание торговых уровней производится только при нажатой клавише Alt.

В строку состояния клиентского счета добавлен показ валюты депозита.

Переработано представление списка сигналов:



Добавлена возможность изменения размеров окон в отладчике.

Добавлены команды редактирования:
"Make Uppercase (Ctrl+Shift+U)\Make Lowercase (Ctrl+U)" - конвертировать все символы выделенного текста в заглавные/строчные.

Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: "https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe