Страница 1 из 1
Обзор MT5 Стресс-тест новой платформы
#2
Отправлено 28 января 2010 - 00:25
Ажиотаж
В середине 2009 года уже долгое время весь торговый мир был наполнен слухами о разработках и скором релизе концептуально новой торговой платформы MT5. И вот наконец-то появляется среда программирования MQL5, а за ней и сам терминал. Официальное бета-тестирование началось 12 октября 2009 года и продлится оно, по словам разработчиков, 5-6 месяцев. Предварительная версия попала и в наши ручки ;)
Ну что? Заглянем внутрь!
Терминал – взгляд изнутри
При открытии терминала, сразу бросаются в глаза две вещи: во-первых, это непривычные более крупные иконки на панели инструментов; во-вторых, отсутствие коннекта к серверу. Если к первому еще можно привыкнуть, то второе начинает раздражать, иногда помогает перезапуск терминала, иногда перезагрузка компьютера с последующей переустановкой терминала. Будем надеется, что это временное явление, связанное с тем, что демо-счёт открывается в рамках программы бета-тестирования.
Таймфреймы
В отличие от четвертой версии терминала, в пятой появилась возможность устанавливать большее количество таймфреймов: теперь их не 8, а 21 (М1-M6, M10, M12, M15, M20, M30, H1-H4, H6, H8, H12, D1, W1, MN). Радует что появился M10, который больше подходит для скальпинга, чем M5 и M15, а также H6, который более интересен среднесрочникам. Напомним, что в МТ4, чтобы открыть график с нестандартным ТФ, приходилось применять скрипт, к тому же такой график не обновлялся, так как был открыт оффлайн.
Что касается архива котировок, то в МТ5 он формируется автоматически. Теперь минутная (М1) история графиков – это базовая история системы и она доступна на огромную глубину по умолчанию. То есть, больше никаких дополнительных архивов котировок не нужно иметь. Чтобы скачать архив котировок за длительный период, необходимо переключиться на месячный таймфрейм и всего несколько раз нажать клавишу «Home». С технической стороны 10 летняя минутная история занимает около 11-13 мегабайт сжатых данных в сетевом трафике. После чего эта история разворачивается на диске до 120-130 мегабайт и уже из нее автоматически строятся остальные таймфреймы. Разработчики МТ5 обещают сделать возможность редактировать архив котировок руками, как это было возможно в МТ4, это необходимо в частности, чтобы самим убирать спайки с графиков.
Анализ
Для анализа данных в новом терминале можно использовать 38 встроенных технических индикаторов, 39 графических объектов и множество MQL5-индикаторов. Все эти аналитические инструменты можно по-разному комбинировать: на индикаторы накладывать объекты, строить индикаторы от других индикаторов и так далее. Рассмотрим некоторые из новинок.
Double Exponential Moving Average (DEMA)
Технический индикатор Двойное Экспоненциальное Скользящее Среднее (Double Exponential Moving Average, DEMA) был разработан Патриком Маллоем (Patrick Mulloy) и опубликован в феврале 1994 в журнале "Technical Analysis of Stocks & Commodities". Он предназначен для сглаживания ценовых серий и накладывается прямо на ценовой график финансового инструмента. Кроме того, он может быть использован для сглаживания значений других индикаторов.
Достоинство этого индикатора в том, что он устраняет ложные сигналы при пилообразном движении цены и помогает сохранять позицию при сильном тренде.
В основе индикатора лежит экспоненциальная скользящая средняя (EMA). Рассмотрим ошибку отклонения цены от значения EMA:
err(i) = Price(i) - EMA(Price, N, i), где:
err(i) — текущая ошибка EMA;
Price(i) — текущая цена;
EMA(Price, N, i) — текущее значение EMA от серии Price с периодом N.
Прибавим к значению экспоненциальной скользящей средней цены значение экспоненциальной средней ошибки и получим DEMA:
DEMA(i) = EMA(Price, N, i) + EMA(err, N, i) = EMA(Price, N, i) + EMA(Price -
- EMA(Price, N, i), N, i) = 2 * EMA(Price, N, i) - EMA(Price - EMA(Price, N, i), N, i) =
= 2 * EMA(Price, N, i) - EMA2(Price, N, i), где:
EMA(err, N, i) — текущее значение экспоненциальной средней от ошибки err;
EMA2(Price, N, i) — текущее значение двойного последовательного сглаживания цены.
Variable Index Dynamic Average (VIDA)
Технический индикатор Скользящая Средняя с Динамическим Периодом Усреднения (Variable Index Dynamic Average, VIDYA) был разработан Тушаром Чендом (Tushar Chande) в 1994 году и представляет собой оригинальную методику расчета экспоненциальной скользящей средней (EMA) с динамически меняющимся периодом усреднения. Период усреднения зависит от волатильности рынка, в качестве меры волатильности был выбран осциллятор Chande Momentum Oscillator (CMO). Данный осциллятор измеряет отношение между суммой положительных приращений и суммой отрицательных приращений за определенный период (период CMO). Значение CMO используется в качестве коэффициента к сглаживающему фактору EMA. Таким образом, индикатор VIDYA имеет два параметра настройки: период осциллятора CMO и период сглаживания экспоненциальной скользящей средней (период EMA). Обычно в торговых системах применяют не сам индикатор VIDYA, а верхние и нижние границы (Upper band & Lower band), отстоящие на N% выше и ниже от VIDYA. Интерпретация индикатора для получения торговых сигналов в таком виде производится так же как и для индикатора Bollinger Bands.
Графически это выглядит так:
Стандартная экспоненциальная скользящая средняя рассчитывается по формуле:
EMA(i) = Price(i) * F + EMA(i-1)*(1-F), где:
F = 2/(Period_EMA+1) — фактор сглаживания;
Period_EMA — период усреднения EMA;
Price(i) — текущая цена;
EMA(i-1) — предыдущее значение EMA.
Значение Variable Index Dynamic Average вычисляется аналогично с использованием CMO:
VIDYA(i) = Price(i) * F * ABS(CMO(i)) + VIDYA(i-1) * (1 - F* ABS(CMO(i))), где:
ABS(CMO(i)) — абсолютное текущее значение Chande Momentum Oscillator;
VIDYA(i—1) — предыдущее значение VIDYA.
Значение CMO вычисляется по формуле:
CMO(i) = (UpSum(i) - DnSum(i))/(UpSum(i) + DnSum(i)), где:
UpSum(i) = текущая сумма положительных приращений цены за период;
DnSum(i) = текущая сумма отрицательных приращений цены за период.
Открытие позиции
Попробуем открыть позицию. Обратите внимание, что окно “Order” визуально почти не отличается от того, что было в МТ4. Появилось только одно новое поле “Fill Policy” (Политика исполнения).
Помимо общих правил исполнения ордеров, задаваемых брокером, трейдер может указывать дополнительные условия в поле "Политика исполнения" окна установки ордера:
Все или ничего (All or None)
При указании такого условия, сделка может быть совершена исключительно в указанном объеме и по цене равной или лучше указанной в ордере. Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Снять остаток (Cancel)
В данном случае трейдер соглашается совершить сделку по максимально доступному на рынке объему в пределах указанного в ордере и по цене равной или лучшей указанной. При этом на недостающий объем дополнительных заявок не выставляется.
Перетаскивание стоплосса графически
Еще одной особенностью МТ5 является возможность перетаскивать уровни стоплосса, тейкпрофита и цены открытия отложенных ордеров
Нажимаем левой клавишей на линию стоплосса и перетаскиваем ее на необходимое расстояние.
После этого выскочит окошко “Order” с предложением изменить уровень стоплосса на то значение, куда вы перетянули эту линию, как это показано на картинке.
Stop-Limit ордера
Также появилась возможность выставлять еще один тип отложенных ордеров – Buy Stop Limit и Sell stop limit, позволяющих работать на двойной отскок, не прибегая к помощи советников.
Buy Stop Limit — этот вид ордера сочетает в себе первые два типа, являясь стоп ордером на установку лимитного ордера на покупку ("Buy Limit"). Как только будущая цена "Ask" достигнет значения, указанного в этом ордере, будет выставлен "Buy Limit" приказ на уровне, указанном в ордере. При этом текущий уровень цены меньше значения цены, по достижении которой будет установлен отложенный ордер.
Sell Stop Limit — этот вид ордера является стоп ордером на установку лимитного ордера на продажу ("Sell Limit"). Как только будущая цена "Bid" достигнет значения, указанного в этом ордере, будет выставлен "Sell Limit" приказ на уровне, указанным в ордере. При этом текущий уровень цены больше значения цены, по достижении которой будет установлен отложенный ордер. А цена отложенного ордера выше уровня его установки.
Более наглядно это показано на картинке.
Теперь у трейдера есть возможность выбирать, когда должен истечь его отложенный ордер, тут три варианта: ордер будет находиться в очереди до тех пор, пока не будет снят вручную; ордер будет действовать только в течение текущего торгового дня; ордер будет действовать до даты, указанной в поле "Дата истечения".
Запрет локирования
NFA (National Futures Organisation) – это американская организация по регулированию срочных финансовых рынков, коим, как ни странно, является с их точки зрения Forex. В общих чертах, это организация, подобная нашему КРОУФРу, но намного более серьёзное. Итак, NFA 15 мая 2009 года приняли для регулирования американских брокеров правило под номером 2-43, которое запрещает хеджирование позиций на срочных рынках (подробнее см.:
http://www.nfa.futur...02-43&Section=4 )
Неизвестно, общаются между собой MetaQuotes и NFA, но как бы то ни было, в терминале MT5 теперь тоже запрещено хеджирование, а реализовано это следующим образом: появились кардинальные отличия между понятиями позиция, ордер и сделка. Ордер - приказ на выполнение торговой операции, результатом которой может стать торговая сделка. А позиция - это совокупное состояние сделок по конкретному финансовому инструменту. У каждого финансового инструмента может быть только одна позиция.
Ещё один пример: откроем сделку по EURUSD 1 лотом по цене 1.44181, установим стоплосс 1.43681. Теперь попробуем докупиться 3 лотами по 1.44218, однако если мы установим стоплосс для этой позиции отличный от 1.43681 (например, 1.43678), то он будет действовать для обеих позиций. В МТ5 во вкладке “Trade” появится запись, что мы осуществили одну сделку по средневзвешенной цене объемом 4 лота. Если же закрыть сделку, то в стейтменте мы увидим запись о каждой транзакции, так как это было бы в тестере МТ4. Мы не можем сказать, что это очень удобно, скорее наоборот – очень неудобно и непривычно. Что заставило разработчиков пойти на такой шаг? Остаётся только догадываться (см. выше).
Стакан
Также отметим, что в МТ5 есть возможность видеть «стакан» (Depth of Market), а также объемы сделок (Volumes), но это будет показываться только для инструментов, торгующихся на бирже.
MQL5
MQL5, конечно завораживает. Тут ничего не скажешь – среда программирования сделана на славу. MQL5 очень сильно отличается от MQL4. И дело не только в отдельных мелких деталях – например, функция start() теперь в скриптах называется onstart(), в индикаторах – OnCalculate(), а в советниках – OnTick() – разработчиками была внедрена принципиально новая парадигма программирования – объектно-ориентированное программирование. Те из Вас, кто знаком с языком C++ нас поймут, а для тех, кто не знаком вкратце скажем, что объектно-ориентированное программирование (ООП) – парадигма программирования, в которой основными концепциями являются понятия объектов и классов. ООП позволяет разбивать программу на отдельные части, подобно тому, как это можно было сделать в функциональном языке MQL4, но в ещё большей степени. ООП также позволяет инкапсулировать функции внутри классов. Грубо, парадигму ООП можно представить в виде множества чёрных ящиков. Программа пишется так, что она состоит из определённого набора этих чёрных ящиков, которые что-то получают на вход, и что-то выдают на выход. Все объекты в программе являются этими черными ящиками, они взаимодействуют между собой и их не интересует внутреннее устройство друг друга.
Заинтересовавшимся в качестве примера мы советуем взглянуть на код программы Tetris.mq5, которая входит в комплект поставки, – в ней очень широко используется бо́льшая часть функциональности нового языка. Ниже приведём пример класса из указанной программы:
//+------------------------------------------------------------------+
//| Базовый класс фигуры тетриса |
//+------------------------------------------------------------------+
class CTetrisShape
{
protected:
int m_type;
int m_xpos;
int m_ypos;
int m_xsize;
int m_ysize;
int m_prev_turn;
int m_turn;
int m_right_border;
public:
void CTetrisShape();
void SetRightBorder(int border) { m_right_border=border; }
void SetYPos(int ypos) { m_ypos=ypos; }
void SetXPos(int xpos) { m_xpos=xpos; }
int GetYPos() { return(m_ypos); }
int GetXPos() { return(m_xpos); }
int GetYSize() { return(m_ysize); }
int GetXSize() { return(m_xsize); }
int GetType() { return(m_type); }
void Left() { m_xpos-=SHAPE_SIZE; }
void Right() { m_xpos+=SHAPE_SIZE; }
void Rotate() { m_prev_turn=m_turn; if(++m_turn>3) m_turn=0; }
virtual void Draw() { return; }
virtual bool CheckDown(int& pad_array[]);
virtual bool CheckLeft(int& side_row[]);
virtual bool CheckRight(int& side_row[]);
};Разработчики не оставили без внимания и пожелания пользователей, публикуемые на форуме www.mql4.ru – в новом MetaEditor'е теперь есть всеми желанный debugger (отладчик программ), позволяющий в тестовом режиме следить за пошаговым исполнением программы, что существенно упрощает поиск ошибок, и однозначно завершает эпоху старого ручного Alert-метода.
Стоит упомянуть, что скорость исполнения программ, по заявлениям MetaQuotes, была увеличена в разы за счёт преобразования байт-кода в процессорные команды, подобно тому, как это делается в .NET. Но проверить это мы сможем только при появлении тестера стратегий, который на данный момент отсутствует в терминале. Так что, ждём в новых билдах МТ5 мультивалютный тестер стратегий. По словам разработчиков это будет нечто!
Вердикт
Таким образом, мы можем сделать заключение, что в новой платформе есть свои плюсы, такие как stop-limit ордера, доступ к биржевым площадкам и высоко-функциональный объектно-ориентированный язык программирования MQL5. Однако, есть и ряд недостатков, некоторые из которых, на наш взгляд, введены искусственно – например, отсутствие возможности хеджирования позиций и их средневзешенное суммирование. Также очень огорчает тот факт, что советники, индикаторы и скрипты, написанные под старую платформу несовместимы с новой. Подводя итог, мы можем сказать, что идейно платформа MT5 привлекательна, но менее практична, чем текущая MT4. Мы надеемся, что бета-тестирование поможет разработчикам понять свои промахи и исправить их. Также будем рассчитывать на то, что внедрение нового терминала, как и в случае давнего перехода на MT4, будет медленным, и пользователям будет предоставлен выбор.
#3
Отправлено 28 января 2010 - 04:06
Кирилл, спасибо за обзор.
Две мысли вслух:
1) Метаквоты обещали, что уйдут от лотовости, а на скринах сделки совершаются лотами. Это непонятно. Получается, МТ5 только для ДЦ?
2) По поводу локов вроде говорили, что будет переключалка, что-то вроде виртуального лока.
Две мысли вслух:
1) Метаквоты обещали, что уйдут от лотовости, а на скринах сделки совершаются лотами. Это непонятно. Получается, МТ5 только для ДЦ?
2) По поводу локов вроде говорили, что будет переключалка, что-то вроде виртуального лока.
#5
Отправлено 28 января 2010 - 06:14
Kirill (28 января 2010 - 11:01) писал:
Про переключалку не слышал. Есть ссылка на информацию?
Точную ссылку дать не могу, т.к. читал про это на форуме Метаквотов в ветке про МТ5 месяца три-четыре назад. Вообще, выглядело это приблизительно так: один участник форума задает вопрос про локи в МТ5, в второй участник, отвечая на этот вопрос, "клятвенно" утверждает, что будет переключалка.
#6
Отправлено 29 января 2010 - 04:25
Стрингер (28 января 2010 - 05:06) писал:
Две мысли вслух:
1) Метаквоты обещали, что уйдут от лотовости, а на скринах сделки совершаются лотами. Это непонятно. Получается, МТ5 только для ДЦ?
1) Метаквоты обещали, что уйдут от лотовости, а на скринах сделки совершаются лотами. Это непонятно. Получается, МТ5 только для ДЦ?
Все мировые торговые площадки, ВСЕ, торгуют только ЛОТАМИ. Независимо, что это - валюта, акции, и тд.тп.
Незнаю кто там у них в Метаквоте хочет переходить на что-то другое, если это случится, то это будит просто НОНСЕНС - АХИНЕЯ в мировой торговой практике.
Лотами торговали, торгуют, и будут торговать еще "Лет сто".
#7
Отправлено 29 января 2010 - 11:53
Berkut73 (29 января 2010 - 10:25) писал:
Все мировые торговые площадки, ВСЕ, торгуют только ЛОТАМИ. Независимо, что это - валюта, акции, и тд.тп.
Незнаю кто там у них в Метаквоте хочет переходить на что-то другое, если это случится, то это будит просто НОНСЕНС - АХИНЕЯ в мировой торговой практике.
Лотами торговали, торгуют, и будут торговать еще "Лет сто".
Незнаю кто там у них в Метаквоте хочет переходить на что-то другое, если это случится, то это будит просто НОНСЕНС - АХИНЕЯ в мировой торговой практике.
Лотами торговали, торгуют, и будут торговать еще "Лет сто".
Berkut73, ну не надо ерунду писать, а?
Сравните лоты в МТ 4 и те лоты, о которых Вы упоминаете.
Если в МТ 4 нормальный лот равен 1(единице), то в биржевых платформах тот же лот будет равен 100 000 единицам базовой валюты, но никак не 1.
#8
Отправлено 29 января 2010 - 13:09
Стрингер (29 января 2010 - 12:53) писал:
Berkut73, ну не надо ерунду писать, а?
Сравните лоты в МТ 4 и те лоты, о которых Вы упоминаете.
Если в МТ 4 нормальный лот равен 1(единице), то в биржевых платформах тот же лот будет равен 100 000 единицам базовой валюты, но никак не 1.
Сравните лоты в МТ 4 и те лоты, о которых Вы упоминаете.
Если в МТ 4 нормальный лот равен 1(единице), то в биржевых платформах тот же лот будет равен 100 000 единицам базовой валюты, но никак не 1.
Стрингер, с чего вы взяли, что в "Биржевом лоте"-(акции) нет лотов размером в одну акцию. Есть такие лоты - Лот=1 акция (одна еденица).
Если не верите, то откройте Квик и посмотрите.
Размер лотов на бирже разный у каждой акции, бывают лоты равные 1000 акций эмитента, бывает лот равен 1 акция-(одна еденица). Также наверное хотят сделать и в МТ-5, ДЛЯ ТОРГОВЛИ АКЦИЯМИ, а для валюты оставят так как есть сейчас в МТ-4.
Лотовая система торговли обязательно останется, об этом даже и говорить не нужно.
#9
Отправлено 29 января 2010 - 13:56
Berkut73 (29 января 2010 - 19:09) писал:
Стрингер, с чего вы взяли, что в "Биржевом лоте"-(акции) нет лотов размером в одну акцию. Есть такие лоты - Лот=1 акция (одна еденица).
Если не верите, то откройте Квик и посмотрите.
Размер лотов на бирже разный у каждой акции, бывают лоты равные 1000 акций эмитента, бывает лот равен 1 акция-(одна еденица). Также наверное хотят сделать и в МТ-5, ДЛЯ ТОРГОВЛИ АКЦИЯМИ, а для валюты оставят так как есть сейчас в МТ-4.
Лотовая система торговли обязательно останется, об этом даже и говорить не нужно.
Если не верите, то откройте Квик и посмотрите.
Размер лотов на бирже разный у каждой акции, бывают лоты равные 1000 акций эмитента, бывает лот равен 1 акция-(одна еденица). Также наверное хотят сделать и в МТ-5, ДЛЯ ТОРГОВЛИ АКЦИЯМИ, а для валюты оставят так как есть сейчас в МТ-4.
Лотовая система торговли обязательно останется, об этом даже и говорить не нужно.
Вот смотрите:
Лот величиной одна (1) акция = одной (1) акции, верно?
Лот величиной 1000 акций = 1000-е акций, верно?
Лот величной 10 000 единиц базовой валюты = 10 000 единцам базовой валюты, так?
А в МТ 4 один лот = 100 000 единцам базовой валюты и именно это, с точки зрения банков является неправильным. Т.е. вместо того, чтобы открыть сделку на 100 000 денег, сделка открывается на 1 лот.
#11
Отправлено 01 февраля 2010 - 15:58
Закрытие позиций производится ф-ей ClosePosition().
Пример: YURAZ_CLOSEPRC_V1mql5, для MT5 - MQL4 Code Base
NB: вопросы по MQL5 публикуются здесь: Общие Вопросы. - Forex Форум ДЦ Форекс для тебя
Пример: YURAZ_CLOSEPRC_V1mql5, для MT5 - MQL4 Code Base
NB: вопросы по MQL5 публикуются здесь: Общие Вопросы. - Forex Форум ДЦ Форекс для тебя
Страница 1 из 1
Быстрый ответ
| Название темы | Автор | Статистика | Последнее сообщение | |
|---|---|---|---|---|
![]() |
Советники: Hameleon 1.0 |
Kirill ![]() |
|
|
![]() |
Запуск новой бонусной программы!
|
Новости_FX4U ![]() |
|
|
![]() |
Окно "обзор рынка"
Рассшифровка символов |
bastet ![]() |
|
|
![]() |
К курсу NZD/USD не имеют отношения ( А может имеют?) |
sextone ![]() |
|
|
![]() |
Краткий обзор MQL5
Включён в общий обзор MT5 |
Kirill ![]() |
|
|
Страница 1 из 1
| Trackback URL | Trackback Date | Total Hits |
|---|---|---|
Страница 1 из 1

Вход
Регистрация
Помощь
Ответить
Цитата



