Советник для авто мани-менеджмента DDSMM Instant.

Советник для полностью автоматического расчёта правил мани-менеджмента DDSMM Instant — это один из тех инструментов, который должен иметь в своём арсенале каждый трейдер. Данный советник имеет целый ряд преимуществ: автоматический подсчет рекомендуемого лота, открытие ордеров в 1 клик, модификация ордеров прямо на графике, перенос сделок в безубыток — и это ещё не все возможности программы. Auto DDSMM Instant является советником только с технической точки зрения — самостоятельно он сделок не открывает. Скорее, его можно отнести к скриптам. Тем не менее, советник Auto DDSMM Instant является одним из самых эффективных инструментов трейдера в вопросе мани-менеджмента.

Настройка терминала для корректной работы советника DDSMM Instant.

Для того, чтобы воспользоваться советником, его необходимо скачать и установить в торговый терминал MT4:

Скачать sovetnik_ddsmm_instant.rar [722.57 Kb] (cкачиваний: 4386)

Установка стандартная — распакуйте архив с советником, папки experts , profiles , templates и файлы mt4gui.dll и mt4gui2.dll скопируйте в папку с установленным терминалом, соглашаясь на замену файлов:

Копирование файлов совтеника DDSMM в папку терминала.

Перезапускаем терминал и настраиваем его на корректную работу с советником. Заходим в меню Сервис — Настройки , вкладка Советники и расставляем галочки, как показано на рисунке:

Настройка терминала для корректной работы советника DDSMM.

Из окна Навигатор — Советники перетягиваем советника DDSMM Instant на график той валютной пары, с которой планируем торговать:

Перетягивание советника DDSMM на график валютного инструмента.

Описание входных параметров советника DDSMM Instant.

Во вкладке Входные параметры представлены параметры советника по умолчанию:

Параметры советника DDSMM, заданные по умолчанию.

Основная часть из них была описана в статье, посвящённой программе DDSMM.xls. Тем не менее, коротко опишем их:

    Starting_Point_Account_Balance — текущий баланс счета, стартовый для расчётов советника. Берётся из окна Терминал — Торговля — Баланс :

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

Следующими идут настройки трейлинг-стопа (Trail_Stop_settings). Стоит заметить, что по умолчанию трейлинг-стоп не активен, включить его можно на графике после открытия ордера, но об этом чуть позже. Сейчас же рассмотрим непосредственно сами параметры трейлинг-стопа:

  • BE_plus_pips — фактически, данный параметр не относится к трейлинг-стопу. Предназначен он для перевода сделки в безубыток. Его значение, указываемое в пунктах, обозначает на какое расстояние от цены открытия сделки, ушедшей в плюс, будет передвигаться стоп-лосс, тем самым выводя саму сделку в безрисковое состояние. К примеру, ордер на покупку был открыт по цене 1,3200, а стоп-лосс установлен на уровне 1,3170. Цена пошла вверх, к примеру, на 10 пунктов. Активация прямо на графике функции перевода в безубыток позволяет автоматически передвинуть стоп-лосс к уровню 1,3200 + значение BE_plus_pips. Если данное значение равно 1, 2, 3 и т.д., то и стоп-лосс передвигается к уровню 1.3201, 1.3202,1.3203 и т.д.
  • TrailStop_activate_pips — параметр, определяющий расстояние в пунктах, которое должна пройти цена, чтобы активировался Trailing-Stop;
  • TrailStop_AwayFromPrice_pips — непосредственно размер трейлинг-стопа, то есть, на каком расстоянии в пунктах от цены он будет двигаться;
  • Enable_Stealtgh_trailing — определяет, будет ли храниться функция в памяти платформы (true) или отсылаться брокеру (false), чтобы даже во время отключения компьютера или потери интернет-соединения сделка тралилась и закрывалась, если цена коснется уровня трейлинг-стопа;
  • Trail_Max_Slippage_StealtghPips — проскальзывание трейлинг-стопа в пунктах, можно оставить значение по умолчанию — 1;
  • ScaleToolSize_Percent — определяет масштаб информационного окошка советника, которое прикрепляется к графику.

И последние настройки определяют цвет интерфейса программы и на её функциональность никак не влияют.

После выставления всех настроек, в соответствии с торговыми условиями своей стратегии, необходимо нажать «ОК».

Возможности советника DDSMM Instant.

На графике валютной пары в левом нижнем углу появится окошко интерфейса советника DDSMM Instant:

Вид окна программы DDSMM, привязанной к графику.

Основными здесь являются кнопки Buy и Sell с уже рассчитанными объемами лотов с учётом выставленных настроек и размера депозита. Каждый раз объём лота будет изменяться в зависимости от изменения размера счета. Если открывать сделки при помощи этих кнопок, то им будет присваиваться заданный в советнике Magic_ID . Программа не будет путать такие сделки с ордерами, открытыми через обычное окно ордера. Отображаться они будут также в окне Торговля , как и те, что открыты трейдером без использования советника.

Рассмотрим и остальные функции программы:

    Функция Hide — если поставить галочку, то окно программы скроется, и не будет мешать анализу рынка и другим манипуляциям с графиком. Чтобы окно опять открыть, необходимо поставить галочку в чек-боксе Show :

Функция Hide - спрятать окно советника DDSMM.

Модификация (изменение) ордеров.

Возможности программы позволят модифицировать ордера — менять значение стоп-лосса и тейк-профита прямо на графике с помощью мышки. Пошагово это делается следующим образом:

  • — ставится галочка в окошке Modify Ord ;
  • — в верхнем левом углу появляется кнопка выбора ордера, который необходимо модифицировать, выбирается номер необходимого ордера (номер ордера смотрится в окне Торговля ):

Модификация ордера при помощи интерфейса программы DDSMM.

Модификация ордера при помощи программы DDSMM - передвижение уровней стоп-лосса и тейк-профита.

Модификация ордера при помощи программы DDSMM - завершающий шаг.

По завершению изменений необходимо снять галочку с чек-бокса Modify Order в окошке советника DDSMM Instant.

Установка отложенного ордера.

При помощи советника можно устанавливать отложенные ордера. Для этого:

  • — ставится галочка в чек-боксе Use Pending ;
  • — на графике появится желтая линия, которую необходимо активировать двойным щелчком мыши и перетянуть на уровень цены открытия отложенного ордера;
  • — нажать кнопку покупки или продажи валютного инструмента по установленной цене;
  • — убрать галочку с Use Pending :

Поэтапная установка отложенного ордера при помощи утилиты Auto DDSMM.

Если необходимо удалить отложенные ордера до того, как они сработают, то делается это нажатием кнопки Delete All Pending Number при условии, что стоит галочка для Use Pending .

Стоит заметить, что советник не удаляет каждый отложенный ордер по отдельности (если их больше одного), а все сразу. Если необходимо удалить один или несколько ордеров, открытые при помощи Auto DDSMM, то делается это вручную в окне Торговля . То же самое касается и закрытия рыночных ордеров — закрываются они все сразу (Close All), а по отдельности — только через окно Торговля терминала МТ 4.

Перевод сделки в безубыток.

Для перевода прибыльной сделки в безубыток стоп-лосс подтягивается к цене открытия ордера либо на несколько пунктов выше этой цены, в зависимости от того, какое значение задавалось в настройках для параметра BE_plus_pips . Технически операция осуществляется следующим образом:

  • — ставится галочка в чек-боксе B/E +1 ;
  • — выбирается нужный номер ордера;
  • — клик мышкой по нему;
  • — и далее — клик по кнопке Move # . :

Перевод сделки в безубыток при помощи утилиты Auto DDSMM.

Советник для автоматического расчёта параметров мани-менеджмента DDSMM Instant очень удобная и нужная программа. Она помогает трейдеру торговать по правилам мани-менеджмента, осуществляет расчёт объёма лотов автоматически и открывает сделки одним кликом. Если добавить к этому хорошую стратегию и умение работать с новостями Форекс, то эффективность торговли на рынке Форекс повысится в разы. Рекомендуем к использованию всем трейдерам, а новичкам — в особенности!

Точный мани менеджмент MM-Expert

УказательУказательУказатель Указатель

Устали от расчетов мани менеджмента? Постоянно поздно входите в рынок и причина тому сложные расчеты ММ? Предлагаем забыть об этой проблеме и использовать в торговле советник MM EXPERT, который предназначен для профессионального и правильного расчета мани менеджмента! Он может совершать сделки с нужным лотом, либо показывать рекомендуемый лот на экране торгового терминала! Данный советник — залог правильной и успешной торговли, ведь соблюдение ММ — это самое важное правило профессиональной торговли.

Суть работы такова — например, Вы хотите войти в рынок получив максимальный убыток по ордеру не более 10$. Вы определили, где будет стоп лосс ордера, например, на каком либо уровне. Но как рассчитать лот, что бы не превысить указанный максимальный вариант убытка? Некоторые трейдеры рассчитывают это, используя специальные формулы, тратя немало времени! Наш робот считает лот мгновенно! На графике есть уровень, разместите его на месте стопа. Далее робот все сделает сам!

Настройки MM Expert

  • Показывать кнопки — Если поставите true, на графике появится кнопка, при нажатии на которую ордер будет открыт автоматически. BUY, или SELL, советник определит в зависимости от расположения линии стоп лосса. Если она ниже цены, выставится ордер на покупку и наоборот, если она выше текущей цены, то на продажу. Так же отобразится кнопка для перетягивания уровней к цене, если их нет в поле зрения.
  • Показывать тейк профит — Уровень тейк профита при автоматическом открытии.
  • Риск в % от депозита — Сколько % риска Вы можете себе позволить по одной сделке?
  • Вывод информации — Включить/выключить информацию на экране. (информация о стоп лоссе и рисках отключена не будет)
  • Цвет информации — Задать цвет информации.
  • Цвет панели — Задать цвет панели и кнопки для открытия ордеров.
  • Цвет информации на панели — Задать цвет текста на панели и кнопке.

Мани менеджмент и его правильный расчет

Как рассчитать мани менеджмент правильно? Многие начинающие трейдеры, к сожалению, недооценивают всю важность данного шага, плюс ко всему, если и соблюдают ММ, то в корне неправильно, ведь мани менеджмент — это вовсе не расчет лота от % депозита, как во всех мартингейловых советниках! В них принципы мани менеджмента полностью нарушены, отсюда и сливы, это нормальное явление, если так относиться к торговле.

Любой профессиональный трейдер знает, что мани менеджмент рассчитывается строго от соотношения лота к стоп лоссу ордера. Суть мани менеджмента состоит в том, что бы защитить убытки по сделке и дать закрыться ордеру не более, чем на Х% (обычно не рекомендуется превышать значение Х более, чем на 10%) от суммы всего депозита.

Правильно выставлять ММ так — есть ордер, есть стоп лосс (например за уровнем 30% фибоначчи), лот высчитываем так, что бы при убытке по стоп лоссу мы не потеряли более, чем 10%, если риск = 10%.

Однако такой подход требует много времени на определение количества пунктов от текущей цены до предполагаемого стоп лосса, на определение % от депозита и рассчета самого лота, который должен дать минус не более определенной суммы. Следующая сделка требует того же! Если Вы занимаетесь профессиональной торговлей и понимаете о чем идет речь переходим к описанию советника который упростит Вашу торговлю до максимума!

При включении, данный советник выставляет линии автоматически. Красная линия — стоп лосс, зеленая — тейк профит. Эти линии Вы должны переставить на нужный уровень, где собственно и хотите расположить сам стоп лосс / тейк профит (если он включен).

MM Expert Screen 1

В настройках советника Вы задаете % риска и в итоге получаете такую картину:

MM Expert Screen 4

Все расчеты делает робот

Вы можете открыть ордер лотом 1.07, просто нажав на кнопку — открыть ордер, или открыть его вручную.

При появлении ордера, сигнальная линия исчезнет.

MM Expert Screen 2

Для того, что бы оставить комментарий, зарегистрируйтесь на сайте.

#1 Оценка: отличная штука! Рекомендую!

Трейдер
Рейтинг 10

#2 Оценка: Отличный индикатор! У меня была проблема с индикатором 2ой версии, написал разработчикам, буквально за день выложили новую версию с еще лучшим функционалом, за что им отдельное спасибо!

Оставить отзыв могут только покупатели!

Опубликована версия 4.0.0 Добавлена кнопка для подтягивания уровней ближе к цене, если уровни вышли из зоны видимости.

Опубликована версия 3.0.0 Значительно улучшены механизмы работы, добавлена возможность выставлять тейк профит по уровню, совместно со стоп лоссом, что сделает Вашу торговлю еще быстрее и удобнее!

Опубликована версия 2.0.0 1. Настройки переведены на русский язык.
2. Добавлена возможность выставлять тейк профит.
3. Добавлена возможность открывать ордера кнопкой прямо с графика!

Опубликована версия 1.0.0

Уведомление о рисках. Торговля на финансовом рынке Форекс сопряжена с высокими рисками и может привести к потере вашего депозита.
Мы крайне не рекомендуем инвестировать средства, которые вы не можете позволить себе потерять.

Кроссплатформенный торговый советник: Мани-менеджмент

Мани-менеджмент (управление капиталом) — распространенная функция в торговых советниках. Она позволяет эксперту динамически определять размер лота для следующей сделки, в которую он войдет. В этой статье представлены несколько классов мани-менеджмента, которые позволят нам автоматизировать весь процесс расчета торгового объема в советнике.

  • Понимать и применять наиболее распространенные методы управления капиталом, используемые в трейдинге
  • Разрешить эксперту выбирать из списка доступных методов мани-менеджмента
  • Обеспечить совместимость с MQL4 и MQL5

Базовый класс

Базовый родительский класс для всех классов мани-менеджмента, описанных в этой статье — СMoney, производный от CMoneyBase. Класс CMoneyBase определен в нижеследующем фрагменте кода:

Большинство методов класса отвечают либо за получение, либо за установку различных членов класса, и поэтому не требуют подробных пояснений. В практическом применении реальное значение имеют три метода: UpdateLotSize, OnLotSizeUpdated и Volume.

В методе UpdateLotSize происходит фактический расчет торгового объема. Это тоже основной метод, расширенный из базового класса, и следовательно, большая часть различий между классами мани-менеджмента находится именно в нем. Для базового класса CMoneyBase метод можно считать виртуальным, потому что единственное его назначение здесь — возвращать значение true:

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

Чтобы получить текущее значение торгового объема, уже рассчитанное посредством мани-менеджмента, советнику не надо вызывать ни UpdateLotSize, ни OnLotSizeUpdated. Вместо этого вызывается метод Volume класса. Этот метод автоматически вызовет внутри себя остальные два.

Методы мани-менеджмента

Фиксированный лот

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

В этом типе мани-менеджмента нам нужен только фиксированный объем. Таким образом, его основное отличие от CMoney/CMoneyBase — в конструкторе, где мы определяем фиксированный размер лота:

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

Фиксированно-фракционный метод

Фиксированно-фракционный метод (или метод фиксированного риска) подразумевает выделение определенного процента от баланса или эквити в качестве риска на каждую сделку. Этот метод реализован в стандартной библиотеке: CmoneyFixedRisk. Если сделка закрывается в убытке, этот убыток не превышает установленного процента от баланса счета ко времени входа в сделку. Убыток здесь определяется как максимальная потеря, которую может понести трейдер в конкретной сделке — когда условия сделки доходят до стоп-лосса. Применение метода требует, чтобы стоп-лосс не был равен нулю.

Вычисление процента риска выражается в следующей формуле:

Volume = (balance * account_percentage / ticks) / tick_value

  • balance — баланс или эквити счета
  • account_percentage — процент максимального риска (диапазон: 0.0-1.0)
  • ticks — значение стоп-лосса, выраженное в тиках
  • tick_value — стоимость тика в валюте депозита (на 1 полный лот)

Тик определяется как самое маленькое возможное движение цены для данного инструмента или валютной пары. К примеру, EURUSD у брокера, использующего пятизначные котировки, будет иметь стоимость тика 0,00001. Это наименьшее возможное движение по этой валютной паре. Если значение стоп-лосса выражено в пунктах или пипсах, результатом будет разница между входной ценой сделки и стоп-лоссом в пунктах или пипсах.

По той же валютной паре размер тика для брокера с четырехзначной котировкой будет отличаться от пятизначной. Причина в том, что при 4 знаках 1 тик эквивалентен 1 пункту (или пипсу), а при использовании пятизначной котировки пипс равен 10 пунктам.

В качестве примера мани-менеджмента с фиксированным риском предположим, что мы работаем с брокером, использующим пятизначные котировки, у нас на балансе есть $ 1 000, а заданный предел риска составляет 5% на одну сделку. Предположим, что стоимость тика 0,1, а стоп-лосс — 200 пунктов (20 пипсов):

Volume = (1000 * 0.05 / 200) / 0.1 = 2.5 лота

Вычисленный объем лота увеличивается в зависимости от процента риска и доступного баланса, а уменьшается на основании размера стоп-лосса и тикового значения. Баланс счета, риск и стоимость тика, как правило, постоянны, а вот стоп-лосс нередко бывает переменным и вычисляется динамически. Поэтому фиксированный риск не подходит для стратегий, где нет верхнего лимита на разницу между входной ценой и стоп-лоссом. Рассчитанный размер лота может оказаться слишком маленьким, и брокер может его отклонить. С другой стороны, слишком маленький стоп-лосс приведет к очень большому размеру лота, и это тоже может повлечь за собой проблемы: некоторые брокеры устанавливают настройку, ограничивающую максимальный лот. Эта проблема практически решена в MetaTrader 5, где ордера разбиваются на несколько сделок, если объем лота слишком велик. Однако в MetaTrader 4 такой функции нет — объем сделки должен быть подготовлен заранее (при необходимости разбит на несколько мелких сделок), чтобы она смогла состояться, даже если ее размер превышает максимально допустимый уровень.

Формула, которая используется в расчетах, находится внутри метода UpdateLotSize:

Сначала мы получаем значение стоп-лосса. Затем используем текущую формулу для обновления члена класса m_volume, который впоследствии будет использован в качестве финального результата.

Фиксированно-пропорциональный метод

Фиксированно-пропорциональный метод управления капиталом — вычисление объема лота в пропорции к текущему балансу счета. Его можно рассматривать как частный случай фиксированного лота, за исключением того, что здесь размер лота настраивается автоматически, а не вручную самим трейдером. Если счет растет, размер лота тоже будет увеличиваться после прохождения определенного порога. Если баланс уменьшается, соответственно будет уменьшаться и размер лота.

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

Объем сделки для этого метода мани-менеджмента рассчитывается по формуле:

Volume = base_volume + (balance / balance_increase) * volume_increment

  • base_volume — базовый объем лота, который будет в любом случае добавлен к общему объему, вне зависимости от характеристик счета
  • balance — текущий баланс на счете
  • balance_increase — порог увеличения баланса на счете, после которого будет происходить шаг приращения размера лота
  • volume_increment — шаговый объем, который будет добавлен к лоту после достижения порога (или, соответственно, вычтен из него).

К примеру, возьмем за базовый объем нулевой лот. Он будет увеличиваться на 0,1 на каждые 1000 долларов на счёте. В данный момент на нашем счете $2,500. Общий объем будет рассчитан следующим образом:

Volume = 0 + (2500 / 1000) * 0.1 = 0.25 лота

У этого метода есть множество вариаций. Одна из них — метод, где размер лота обновляется только на определенных уровнях, пошагово. В вышеприведенном примере рассчитанный объем лота равен 0,25. В ином случае он может определенное время оставаться на уровне 0,2 лота, а потом сразу вырасти до 0,3 (как только баланс достигнет $3,000).

Для этого случая метод UpdateLotSize будет реализован так:

Фиксированный риск на один пункт

Фиксированный риск на один пункт работает так, что каждый пункт стоп-лосса стоит определенную сумму в валюте депозита. Алгоритм вычисления размера лота основывается на том, какая стоимость тика нужна трейдеру. К примеру, если зафиксировать на долларовом счёте риск на пункт 2.0, каждый пункт стоп-лосса будет стоить $2. Если стоп-лосс на сделку составляет 200 пунктов, максимальный риск для такой сделки составит $400 (то есть, $400 будет потеряно, если рынок достигнет уровня стоп-лосса сделки).

Для обычного трейдера использование этого типа мани-менеджмента — очень просто для понимания, потому что риск выражается в денежном значении, в валюте депозита. Трейдеру просто нужно установить требуемую стоимость тика, и торговый объем будет рассчитан автоматически. Стоимость тика, или изменение в прибыли/убытке на минимальное движение цены, будет оставаться одинаковым, но общий риск будет зависеть от размера стоп-лосса сделки.

С использованием формулы для этого типа мани-менеджмента метод UpdateLotSize будет реализован так:

Фиксированный риск (Фиксированная маржа)

Фиксированный риск по марже — аналог класса CMoneyFixedMargin из Стандартной библиотеки MQL5. Фактически, это частный случай описанного выше способа мани-менеджмента — фиксированного риска на пункт. Однако, в отличие от фиксированного риска на пункт, этот метод учитывает при расчете объема сделки всю величину стоп-лосса, поэтому вне зависимости от размера стоп-лосса, риск остается таким же. В предыдущем примере у нас был установлен стоп-лосс в 200 пунктов, и $400 — максимальный риск. Если уменьшить стоп-лосс до 100 пунктов, максимальный риск на сделку при использовании фискированного риска на пункт тоже уменьшится вдвое, а при использовании просто фиксированного риска (фиксированной маржи) максимальный риск останется все тем же — $400.

Используя эту формулу, мы можем реализовать метод UpdateLotSize следующим образом:

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

Контейнер объектов мани-менеджмента

Как и классы сигналов, рассмотренные в предыдущей статье, наши объекты мани-менеджмента тоже будут иметь контейнеры. Это позволит советнику динамически выбирать из списка доступных объектов мани-менеджмента, загруженных в платформу. В идеале этот контейнер будет выступать как посредник между классами мани-менеджмента и остальным кодом советника. Базовый класс для этого объекта — CMoneysBase, его определение продемонстрировано ниже:

Поскольку этот объект разработан, чтобы содержать многочисленные объекты мани-менеджмента, требуются как минимум два метода, чтобы сделать объект доступным к использованию в разрабатываемом советнике:

  1. Выбор, или способность динамически переключаться между методами мани-менеджмента
  2. Использование выбранного объекта мани-менеджмента и получение рассчитанного для него объема сделки

А вот как выглядит перегруженный метод Selected, который принимает строковый аргумент (имя объекта мани-менеджмента). Обратите внимние, что он принимает не пустое имя объекта мани-менеджмента, которое присваивается методом Name.

Третья перегрузка метода вообще не содержит аргументов. Она просто возвращает индекс выбранного объекта мани-менеджмента, когда нужно выяснить, какой метод выбран на данный момент.

Текущий объем рассчитывается через этот объект его методом Volume. Метод сначала получает указатель на выбранный объект мани-менеджмента, а потом вызывает его собственный метод Volume. Код метода Volume для класса CMoneysBase продемонстрирован ниже:

Здесь метод обращается к объекту через массив объектов и сохраняет его в указателе. Чтобы избежать ошибок, нужно убедиться, что текущий элемент, на который ссылается индекс, действительно существует внутри массива объектов.

Пример

В качестве примера мы будем использовать последний пример из предыдущей статьи. Модифицируем его: включим в него классы мани-менеджмента, описанные в этой статье, поместим их в отдельный контейнер, и потом добавим в менеджер ордеров. Большинство дополнений будут иметь дело только с функцией советника OnInit, которая продемонстрирована ниже:

Сюда включены строки кода, отвечающие за использование фиксированно-фракционного типа мани-менеджмента, фиксированного риска и фиксированного риска на пункт. Однако на данный момент наш советник входит только в сделки с нулевыми стоп-лоссами, а все эти методы требуют ненулевого. Поэтому воздержимся от их применения. Будем использовать только методы, основанные на фиксированном лоте и фиксированно-пропорциональном управлении капиталом. Если эти объекты возвращают невалидный стоп-лосс (меньше нуля), менеджер ордеров будет использовать объем лота по умолчанию (0.1, он доступен в члене m_lotsize класса CorderManager/COrderManagerBase).

У COrderManager есть свой собственный член класса, который является указателем на контейнер мани-менеджмента (CMoney). Таким образом, использование COrderManager тоже приведет к тому, что заголовочные файлы мани-менеджмента будут включены в исходный код. Если в советнике не используется COrderManager, тогда директива #include для классов мани-менеджмента должна быть указана в исходном коде.

Для функции OnTick мы изменяем советник следующим образом: для длинных позиций советник будет использовать фиксированный размер лота, а для коротких — рассчитывать размер лота с использованием фиксированного соотношения. Этого можно добиться, изменив выбранный тип мани-менеджмента методом Selected (класс CMoneys) перед тем, как менеджер ордеров вызовет метод TradeOpen:

Поскольку мани-менеджмент, по сути своей, — просто чистые расчеты, мы ожидаем, что вычисленный размер лота будет одинаковым в обеих версиях терминала. Ниже показан результат тестов советника в MetaTrader 4 (первые 10 сделок):

# Время Тип Ордер Объем Цена S / L T / P Прибыль Баланс
1. 2017.01.02 00:00 продажа 1. 1.00 1.05100 0.00000 0.00000
2 2017.01.03 03:00 Закрытие 1. 1.00 1.04679 0.00000 0.00000 419.96 10419.96
3 2017.01.03 03:00 Покупка 2 0.05 1.04679 0.00000 0.00000
4 2017.01.03 10:00 Закрытие 2 0.05 1.04597 0.00000 0.00000 -4.10 10415.86
5 2017.01.03 10:00 продажа 3 1.00 1.04597 0.00000 0.00000
6 2017.01.03 20:00 Закрытие 3 1.00 1.04285 0.00000 0.00000 312.00 10727.86
7 2017.01.03 20:00 Покупка 4 0.05 1.04285 0.00000 0.00000
8 2017.01.03 22:00 Закрытие 4 0.05 1.04102 0.00000 0.00000 -9.15 10718.71
9 2017.01.03 22:00 продажа 5 1.00 1.04102 0.00000 0.00000
10 2017.01.04 02:00 Закрытие 5 1.00 1.04190 0.00000 0.00000 -89.04 10629.67
11 2017.01.04 02:00 Покупка 6 0.05 1.04190 0.00000 0.00000
12 2017.01.04 03:00 Закрытие 6 0.05 1.03942 0.00000 0.00000 -12.40 10617.27
13 2017.01.04 03:00 продажа 7 1.00 1.03942 0.00000 0.00000
14 2017.01.04 06:00 Закрытие 7 1.00 1.04069 0.00000 0.00000 -127.00 10490.27
15 2017.01.04 06:00 Покупка 8 0.05 1.04069 0.00000 0.00000
16 2017.01.05 11:00 Закрытие 8 0.05 1.05149 0.00000 0.00000 54.05 10544.32
17 2017.01.05 11:00 продажа 9 1.00 1.05149 0.00000 0.00000
18 2017.01.05 16:00 Закрытие 9 1.00 1.05319 0.00000 0.00000 -170.00 10374.32
19 2017.01.05 16:00 Покупка 10 0.05 1.05319 0.00000 0.00000
20 2017.01.06 05:00 Закрытие 10 0.05 1.05869 0.00000 0.00000 27.52 10401.84

В MetaTrader 5 мы можем видеть следующие результаты (режим хеджирования, первые 10 сделок):

Поскольку менеджер ордеров уже позаботился о разнице между двумя платформами (и языками), метод и результат расчета размера лота будет одинаковым.

Заключение

В статье показано, как в кроссплатформенном торговом советнике можно применять мани-менеджмент. Представлены 5 различных типов управления капиталом. Также представлен пользовательский объект-контейнер для указателей на объекты, который используется для динамического выбора метода мани-менеджмента.

Перевод с английского произведен MetaQuotes Software Corp.
Оригинальная статья: https://www.mql5.com/en/articles/3280

Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.

Другие статьи автора

  • Кроссплатформенный торговый советник: Классы CExpertAdvisor и CExpertAdvisors
  • Кроссплатформенный торговый советник: Пользовательские стопы, Безубыток и Трейлинг
  • Кроссплатформенный торговый советник: Стоп-уровни
  • Кроссплатформенный торговый советник: Временные фильтры
  • Кроссплатформенный торговый советник: Сигналы
  • Кроссплатфоменный торговый советник: Менеджер ордеров

Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I

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

Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)

В новой версии библиотеки все элементы библиотеки будут рисоваться на отдельных графических объектах типа OBJ_BITMAP_LABEL. Также продолжим описывать оптимизацию кода: рассмотрим изменения в классах, которые являются ядром библиотеки.

В этом обновлении библиотеки элемент «Таблица» (класс CTable) пополнится новыми опциями. Расширим линейку элементов в ячейках таблицы и на этот раз добавим в неё поля ввода и комбо-боксы. В качестве дополнения в это обновление была добавлена возможность управлять размерами окна пользователем MQL-приложения во время её выполнения.

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

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

Источник https://avtoforex.ru/sovetniki/114-sovetnik-dlya-avto-mani-menedzhmenta-ddsmm-instant.html

Источник https://mqlea.com/ru/assistant/raschet-mm

Источник https://www.mql5.com/ru/articles/3280