$ £ ¥
¥ £ $

Советник Position Sizer

Экспертный советник Position Sizer рассчитывает для вас размер сделки на основе:

  • уровней открытия и стоп-лосса;
  • допустимого риска;
  • размера счета (баланса, средств или даже вашего сберегательного счета);
  • валюты счета;
  • курса валюты.

Основные возможности советника:

  • Работает с любыми торговыми инструментами — валютные пары, CFD, акции, индексы, товары, фьючерсы, криптовалюты.
  • Вводные данные и результаты расчета отображаются на графической панели.
  • Панель можно свободно перемещать по графику.
  • Вы легко можете ее закрыть или свернуть.
  • Все параметры расчетов задаются через панель в один-два клика.
  • Линии входа, стоп-лосса и тейк-профита можно перетаскивать прямо на графике.
  • Можно задавать стоп-лосс и/или тейк-профит в виде расстояния до линии входа в пунктах.
  • Или же можете задавать их как кратные значения индикатора ATR (средний истинный диапазон).
  • Если задан тейк-профит, калькулятор показывает уровень потенциальной прибыли и соотношение прибыли к риску.
  • Поддерживает отложенные и рыночные ордера (простое переключение).
  • Вы даже можете рассчитывать риск для заданного размера позиции.
  • Вы можете видеть анализ текущих и потенциальных рисков и прибылей.
  • Информация о требуемой марже доступна в отдельной вкладке.
  • Калькулятор может показывать максимальный размер позиции на основе доступной маржи.
  • Вы можете задать свое собственное кредитное плечо, чтобы советник рассчитал маржу позиции на основе этого плеча.
  • Подробная информация по свопам (процентная ставка за перенос позиции) доступна в отдельной вкладке.
  • Возможность отображать текущий спред.
  • Можно отобразить текущую цену пункта для рассчитанного размера позиции.
  • Советник автоматически сохраняет и загружает все свои параметры при смене таймфрейма и перезагрузке платформы, экономя ваши усилия по его настройке.
  • Если вы сохраняете графики в профилях, то положение панели, ее статус и настройки тоже будут сохранятся.
  • Совершенно бесплатный проект с открытым исходным кодом.
  • Не требует подключения каких-либо динамических библиотек (DLL).
  • Позволяет открывать позиции на основании результатов расчета.
  • Рассчитываемая позиция может быть поделена на несколько сделок с разными уровнями тейк-профита.
  • Поддерживает стоп-лимит ордера в платформе МетаТрейдер 5.
  • Возможность включить темный режим для уменьшения нагрузки на глаза.
  • Версия для МТ5 поддерживает пользовательские переводы интерфейса панели на другие языки.

Данный советник — адаптация бесплатного онлайнового инструмента и индикатора «Калькулятор размера позиции». Position Sizer доступен в версиях для MT4 и MT5, но версия для МТ5 предоставляет немного лучший функционал, потому что сама по себе платформа — более продвинутая.


Интерфейс

Основная вкладка

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

Position Sizer - интерфейс советника - основная вкладка

  1. Стрелочка показывает направление сделки — на покупку (▲) или продажу (▼). В версии для МТ4 вместо стрелки используются слова Long и Short.
  2. Номер версии.
  3. Спред в брокерских пунктах.
  4. Кнопка для сворачивания панели.
  5. Кнопка для закрытия, чтобы полностью убрать экспертный советник с графика.
  6. Основная вкладка — включена в данный момент.
  7. Вкладка с рисками — кликните, чтобы увидеть анализ потенциальных рисков. Интерфейс вкладки описан ниже.
  8. Вкладка маржи — кликните, чтобы увидеть все, что относится к уровням необходимой и свободной маржи. Интерфейс вкладки описан ниже.
  9. Вкладка свопов — кликните, чтобы увидеть подробности по свопам для текущего торгового инструмента. Интерфейс вкладки свопов описан ниже.
  10. Вкладка торговли — кликните, чтобы видеть элементы управления торговлей. Интерфейс вкладки торговли описан ниже.
  11. Переключатель Long/Short — позволяет быстро переключить расчет с длинной позиции на короткую. Направление можно также изменить нажатием кнопки Табуляции на клавиатуре.
  12. Поле для ввода цены открытия — отключено, когда выбран рыночный ордер. Можно использовать для задания цены открытия отложенных ордеров.
  13. Кнопка «Стоп-лосс» установит уровень стоп-лосса на заданное по умолчанию значение. Отображается, только если установлено ненулевое значение через входной параметр SL.
  14. Поле для ввода стоп-лосса.
  15. Кнопка «Тейк-профит» позволяет быстро установить уровень тейк-профита равным значению стоп-лосса или же заставить уровень тейк-профита «следить» за разницей между значениями входа и стоп-лосса.
  16. Множитель тейк-профита, если задан через входной параметр, применяется текущему значению стоп-лосса при нажатии на кнопку «Тейк-профит».
  17. Поле для ввода тейк-профита.
  18. Несколько уровней тейк-профита. Видны, если входной параметр TakeProfitsNumber установлен в значение больше 1.
  19. Поле для ввода стоп-цены (для стоп-лимитных ордеров, только в МТ5).
  20. Период ATR — настройка для индикатора ATR для стоп-лосса и тейк-профита. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  21. ATR — текущее значение ATR с заданным периодом. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  22. Множитель SL — множитель для стоп-лосса на основе ATR. Значение ATR будет помножено на это число, чтобы получить расстояние стоп-лосса. Установите в ноль, чтобы отключить стоп-лосс по ATR. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  23. Множитель TP — множитель для тейк-профита на основе ATR. Значение ATR будет помножено на это число, чтобы получить расстояние тейк-профита. Установите в ноль, чтобы отключить тейк-профит по ATR. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  24. Поправка по спреду для СЛ — если отмечена, то значение спреда будет или прибавлено или вычтено из стоп-лосса, чтобы дистанция считалась от реальной цены открытия. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  25. Поправка по спреду для ТП — если отмечена, то значение спреда будет или прибавлено или вычтено из тейк-профита, чтобы дистанция считалась от реальной цены открытия. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  26. Таймфрейм ATR — таймфрейм для расчета значения ATR. Нажимайте на кнопку, чтобы переключаться между таймфреймами. Опции ATR видны, только если входной параметр ShowATROptions установлен в true.
  27. Кнопка типа ордера переключает между рыночным и отложенным. Вы также можете переключать его, нажимая клавишу o на клавиатуре.
  28. Кнопка «Спрятать/показать линии» для быстрого переключения видимости линий цены открытия, стоп-лосса и тейк-профита. Вы также можете переключать ее, нажимая клавишу h на клавиатуре.
  29. Комиссия за лот (в одну сторону) — укажите ее, если ваш брокер берет комиссию, и вы хотите, чтобы рассчитанный размер позиции учитывал ее в сумме потенциального убытка.
  30. Кнопка размера счета переключает между балансом, средствами и значением «Balance - CPR». Последнее означает баланс счета минус текущий риск по портфолио, как он рассчитан на вкладке с рисками.
  31. Размер счета в валюте счета.
  32. Звездочка у размера счета сигнализирует о том, что или свой баланс счета или дополнительные средства были заданы через входной параметр. Дополнительные средства были добавлены к значению размера счета.
  33. Быстрая кнопка риска №1 — первая кнопка для быстрой установки процентного значения риска.
  34. Быстрая кнопка риска №2 — вторая кнопка для быстрой установки процентного значения риска.
  35. Ввод риска — вы можете установить допустимый риск в процентах от размера счета. Если вы установите допустимый риск через поле денежного риска, риск в процентах будет рассчитан исходя из денежного.
  36. Ввод денежного риска — вы можете установить допустимый риск в валюте счета. Если вы установите допустимый риск через поле процентного риска, денежный риск будет рассчитан исходя из процентного.
  37. Риск (результат) — процентный риск, рассчитанный на основе реального размера позиции, доступного в платформе вашего брокера.
  38. Денежный риск (результат) — денежный риск, рассчитанный на основе реального размера позиции, доступного в платформе вашего брокера.
  39. Прибыль в валюте счета основана на размере позиции, рассчитанном без учета ограничений платформы.
  40. Прибыль (результат) — потенциальная прибыль в валюте счета основана на реальном размере позиции, доступном в платформе вашего брокера.
  41. Соотношения прибыли к риску (ввод) — потенциальная прибыль (ввод), деленная на потенциальный убыток (ввод).
  42. Соотношения прибыли к риску (результат) — потенциальная прибыль (результат), деленная на потенциальный убыток (результат).
  43. Размер позиции — рассчитанный реальный размер позиции. Вы можете изменять его, если хотите рассчитать значение риска по заданному размеру позиции.
  44. Цена пункта для рассчитанного размера позиции.
  45. Кнопка «Максимальный размер позиции» позволяет быстро установить размер позиции равным максимальному значению допустимому при текущем уровне свободной маржи на счете. Кнопку видно только, если пара входной параметр ShowMaxPSButton равен true.
  46. Кнопки +/- для быстрого увеличения или уменьшения уровней входа, стоп-лосса, тейк-профита и стоп-цены.
  47. Кнопка + для быстрого добавления еще одного уровня тейк-профита.
  48. Кнопка X для быстрого удаления дополнительного уровня тейк-профита.
  49. Кнопка для переключения единиц измерения комиссии для переключения между процентами и валютой счета.

Вкладка с рисками

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

Position Sizer - интерфейс советника - вкладка с рисками

  1. Считать отложенные ордера — если чекбокс отмечен, то советник будет пытаться рассчитать риск по отложенным ордерам вместе с уже открытыми позициями.
  2. (A) Игнорировать ордера без стоп-лосса — если чекбокс отмечен, советник будет просто игнорировать весь риск, исходящий от ордеров и позиций без стоп-лосса. Может пригодиться, если по какой-то причине вы не хотите ставить стоп на некоторые сделки.
  1. (B) Игнорировать ордера без тейк-профита — если чекбокс отмечен, советник будет просто игнорировать всю потенциальную прибыль, исходящую от ордеров и позиций без тейк-профита. Может пригодиться, если по какой-то причине вы не хотите ставить тейк-профит на некоторые сделки.
  2. Игнорировать ордеры по другим символам — если отмечен, то потенциальные риск и прибыль будут рассчитываться только для символа текущего графика, игнорируя все позиции и ордеры по другим торговым символам.
  3. Текущий риск по портфолио (валюта) — показывает риск в валюте счета без учета позиции, размер которой сейчас рассчитывается данным советником.
  4. Потенциальный риск по портфолио (валюта) — показывает риск в валюте счета, как если бы вы уже открыли позицию, размер которой сейчас рассчитывается данным советником.
  5. Текущий риск по портфолио (%) — то же, что и Текущий риск по портфолио (валюта), но в процентах к размеру счета.
  6. Потенциальный риск по портфолио (%) — то же, что и Потенциальный риск по портфолио (валюта), но в процентах к размеру счета.
  7. Текущая прибыль по портфолио (валюта) — показывает прибыль в валюте счета без учета позиции, размер которой сейчас рассчитывается данным советником.
  8. Потенциальная прибыль по портфолио (валюта) — показывает прибыль в валюте счета, как если бы вы уже открыли позицию, размер которой сейчас рассчитывается данным советником.
  9. Текущая прибыль по портфолио (%) — то же, что и Текущая прибыль по портфолио (валюта), но в процентах к размеру счета.
  10. Потенциальная прибыль по портфолио (%) — то же, что и Потенциальная прибыль по портфолио (валюта), но в процентах к размеру счета.
  11. Текущие лоты — общий размер уже открытых позиций в лотах.
  12. Потенциальные лоты — общий размер в лотах для уже открытых позиций плюс той, которая сейчас рассчитывается данным советником.
  13. Текущее соотношение риска и прибыли по портфолио — общее соотношение риска и прибыли по всем существующим сделкам.
  14. Потенциальное соотношение риска и прибыли по портфолио — общее соотношение риска и прибыли по всем сделкам, включая ту, что сейчас рассчитывается советником.

Вкладка маржи

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

Position Sizer - интерфейс советника - вкладка маржи

  1. Маржа позиции показывает объем маржинальных средств, которые нужны для открытия рассчитанной позиции. Отрицательное значение говорит о том, что будущее значение использованной маржи уменьшится, так как брокер использует пониженные требования к марже для хеджированных позиций.
  2. Будущая используемая маржа рассчитывается на основе текущей используемой маржи и маржи позиции.
  3. Будущая свободная маржа показывает, сколько у вас останется свободной маржи после открытия рассчитываемой позиции.
  4. Поле «Свое кредитное плечо» позволяет установить собственный размер кредитного плеча для всех расчетов советника с маржой.
  5. Плечо по умолчанию показывает реальную величину кредитного плеча на вашем счету.
  6. Плечо инструмента показывает текущее кредитное плечо для выбранного торгового инструмента. Рассчитывается на основе требуемой маржи и размера/стоимости контракта. Может быть неточным.
  7. Максимальный размер позиции по марже показывает самую большую сделку, которую вы можете совершить с текущей доступной маржой и кредитным плечом.

Вкладка свопов

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

Position Sizer - интерфейс советника - вкладка свопов

  1. Тип свопов, применяемых брокером для текущего торгового инструмента. Может принимать одно из следующих значений: пункты, базовая валюта пары, процентная ставка, валюта счета, валюта маржи, переоткрытие.
  2. Тройной своп показывает день недели, когда начисляются тройные свопы (за субботу и воскресенье).
  3. Номинальные свопы (длинная позиция) — значения свопов из спецификации контракта брокера, для длинной позиции.
  4. Номинальные свопы (короткая позиция) — значения свопов из спецификации контракта брокера, для короткой позиции.
  5. Дневной своп за лот (длинная позиция) — дневной своп, выплачиваемый за длинную позицию в валюте счета за один лот.
  6. Дневной своп за лот (короткая позиция) — дневной своп, выплачиваемый за короткую позицию в валюте счета за один лот.
  7. Дневной своп за размер позиции (длинная позиция) — дневной своп, выплачиваемый за длинную позицию в валюте счета для рассчитанного размера позиции (на основной вкладке).
  8. Дневной своп за размер позиции (короткая позиция) — дневной своп, выплачиваемый за короткую позицию в валюте счета для рассчитанного размера позиции (на основной вкладке).
  9. Годовой своп за лот (длинная позиция) — своп, выплачиваемый за длинную позицию в валюте счета за один лот. Рассчитывается за период в 360 дней.
  10. Годовой своп за лот (короткая позиция) — своп, выплачиваемый за короткую позицию в валюте счета за один лот. Рассчитывается за период в 360 дней.
  11. Годовой своп за размер позиции (длинная позиция) — своп, выплачиваемый за длинную позицию в валюте счета для рассчитанного размера позиции (на основной вкладке). Рассчитывается за период в 360 дней.
  12. Годовой своп за размер позиции (короткая позиция) — своп, выплачиваемый за короткую позицию в валюте счета для рассчитанного размера позиции (на основной вкладке). Рассчитывается за период в 360 дней.
  13. Размер позиции повторяет значение размера позиции, рассчитанное советником на основной вкладке.

Вкладка торговли

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

Position Sizer - интерфейс советника - вкладка торговли

  1. Торговать — кнопка для открытия сделки (или нескольких сделок) на основе рассчитанного размера позиции.
  2. Трейлинг-стоп — число пунктов трейлинг-стопа для применения к сделкам с заданным «волшебным числом».
  3. Безубыток — число пунктов прибыли, на котором к сделкам с заданным «волшебным числом» будет применен безубыток.
  4. «Волшебное число» — «Волшебное число» для ордеров и позиций.
  5. Комментарий — поле для комментария к ордерам и позициям.
  6. Автосуффикс — если отмечен, советник будет автоматически добавлять уникальный суффикс к комментарию, заданному выше. Это может быть особенно полезно, когда вы хотите получить один комментарий у разных частей мульти-тейк-профитной сделки, но при этом, чтобы у следующих сделок был уже другой комментарий.
  7. Максимальное общее число сделок — если открытие новой сделки сделает так, что общее число открытых сделок превысит максимальное значение, советник не откроет новую сделку.
  8. Максимальное число сделок на символ — то же, что и выше, но для отдельного символа.
  9. Отключить торговлю, когда линии спрятаны — простой чекбокс для предотвращения открытия позиции в случае, если вы спрятали линии входа и стоп-лосса через основную вкладку.
  10. Заполнить тейк-профиты «внутрь» — кнопка для заполнения нескольких тейк-профитов на равном расстоянии от уровня входа до уровня основного тейк-профита.
  11. Заполнить тейк-профиты «наружу» — кнопка для заполнения нескольких тейк-профитов на равном расстоянии так, что основной тейк-профит оказывается ближайшим к входу.
  12. Несколько уровней тейк-профита — несколько тейк-профитов (число задается через входной параметр TakeProfitsNumber) для разделения позиции. Первый тейк-профит всегда равен основному с главной вкладки.
  13. Доли для разделения позиции между тейк-профитами — каждому тейк-профиту назначается доля объема позиции в процентах от размера, рассчитанного на главной вкладке.
  14. Максимальное проскальзывание — значение максимально допустимого проскальзывания (в брокерских пунктах), которое будет использовано в торговых функциях.
  15. Максимальный спред — советник не будет торговать, если текущий спред больше, чем указанное здесь значение.
  16. Максимальное расстояние между входом и стоп-лоссом — советник не будет торговать, если расстояние между уровнем входа и уровнем стоп-лосса станет больше этого значения.
  17. Минимальное расстояние между входом и стоп-лоссом — советник не будет торговать, если расстояние между уровнем входа и уровнем стоп-лосса станет меньше этого значения.
  18. Вычесть объем открытых позиций — если отмечен, то советник рассчитает общий объем открытых позиций и вычтет его из расчетного размера позиции так, чтобы вместе с новой открытой сделкой общий объем стал равен расчетному.
  19. Вычесть объем отложенных ордеров — если отмечен, то советник рассчитает общий объем отложенных ордеров и вычтет его из расчетного размера позиции так, чтобы вместе с новой открытой сделкой общий объем стал равен расчетному.
  20. Не устанавливать стоп-лосс — если отмечен, советник откроет сделку без стоп-лосса. Может быть полезно в случаях, когда вы используете сторонние инструменты для управления стоп-лоссом.
  21. Не устанавливать тейк-профит — если отмечен, советник откроет сделку без тейк-профита. Может быть полезно в случаях, когда вы используете сторонние инструменты для управления тейк-профитом.
  22. Запрашивать подтверждение — если отмечен, советник запросит подтверждение перед торговлей.
  23. Максимальный общий размер позиции — если рассчитанный размер позиции вместе с уже открытыми позициями превысит это значение (в лотах), советник не откроет сделку.
  24. Максимальный размер позиции на символ — то же, что и выше, но для отдельного символа.
  25. Максимальный общий риск — если задано ненулевое значение, советник не откроет сделку, если общий рассчитанный риск превысит заданное значение.
  26. Максимальный риск на символ — то же, что и выше, но для отдельного символа.
  27. Доли, % — кнопка для быстрого распределения процентных долей объема между сделками с разным тейк-профитом. Она переключает между тремя режимами: равное распределение, по нисходящей, по восходящей.
  28. Срок истечения — время действия для отложенного ордера; задается в минутах. Обычный минимум для МТ4 — 10 минут, для МТ5 — 2 минуты.

Как рассчитать позицию и открыть сделку с помощью Position Sizer

Этот советник очень прост в использовании, если ваша основная цель — рассчитать размер позиции на основе стоп-лосса и текущих рыночных условий и затем совершить сделку, основываясь на полученных результатах вычислений.

  1. При добавлении экспертного советника на график он автоматически установит уровень открытия на уровень текущей цены, приготовившись к рыночному ордеру на покупку. Стоп-лосс будет установлен на ближайший минимум. Тейк-профит будет отключен.
  2. Теперь вы уже можете использовать его вывод размера позиции для открытия сделки, если вы планировали создать рыночный ордер на покупку со стоп-лоссом на минимуме текущего бара и с риском в 1% от баланса. Вы также можете изменять поле размера позиции вручную, чтобы рассчитывать риск на основе его значения.
  3. Если нет, то вы можете свободно менять стоп-лосс — или перетаскивая линию на графике или вводя значение в поле на панели.
  4. Вы можете задать тейк-профит тем же образом. Также, вы можете быстро установить тейк-профит равным значению стоп-лосса (или умноженному на мультипликатор), кликнув по кнопке «Тейк-профит». Несколько уровней тейк-профита поддерживается, когда входной параметр TakeProfitsNumber больше 1. Вы также можете добавлять и убирать тейк-профиты с помощью кнопок на панели.
  5. Если вы включите настройки ATR с помощью входных параметров советника, то вы сможете также контролировать значение ATR для расчета стоп-лосса и тейк-профита.
  6. Добавление тейк-профита включит отображение потенциальной прибыли и соотношения прибыли к риску.
  7. Переключение типа ордера с рыночного на отложенный (и наоборот) происходит при нажатии кнопки с типом ордера. Когда выбран рыночный тип ордера, цена открытия будет меняться вместе с текущей ценой (Бид или Аск) и не может быть изменена вручную. Когда выбран отложенный ордер или стоп-лимит (в МТ5), цена открытия может быть задана через поле на панели или перетаскиванием линии на графике
  8. Советник предупредит, если уровень открытия слишком близко к текущей цене в режиме отложенного ордера и если стоп-лосс или тейк-профит находятся слишком близко к цене открытия.
  9. Вы может задать размер комиссии (в одну сторону), применяемой вашим брокером, если хотите, чтобы при расчете потенциального убытка учитывался ее размер.
  10. Переключение размера счета с баланса на средства или на баланс за вычетом риска по портфолио будет полезно в некоторых случаях и может быть произведено в один-два клика по соответствующей кнопке.
  11. Изменить допустимый риск можно двумя способами: установить риск в процентах или денежный риск. И то и другое делается в полях для ввода на панели. Вы можете также использовать быстрые кнопки риска, если вам часто приходится переключать значение риска.
  12. Переход на вкладку с рисками — совершенно не обязателен и предоставляет информацию про текущий и потенциальный риск/прибыль вашего портфолио. Вы можете управлять тем, как учитываются отложенные ордера и ордера без стоп-лосса/тейк-профита на этой вкладке.
  13. Переходить на вкладку маржи тоже необязательно, если ваша цель — рассчитать оптимальный размер позиции на основе риска и стоп-лосса. Эта вкладка показывает объем свободной и используемой маржи после открытия позиции. Там вы сможете видеть максимальный размер позиции, который можно открыть с вашей текущей маржой и кредитным плечом. При надобности вы также сможете ввести собственный уровень кредитного плеча.
  14. Вы можете просмотреть вкладку свопов, если желаете знать, во сколько будет обходится перенос вашей позиции на следующий день. Также она будет полезна, если вы используете торговую стратегию керри трейд.
  15. Вкладка торговли поможет вам открывать сделки и управлять ими.

Торговля

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

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

Советник Position Sizer - Окно подтверждения ордера

Авто-торговля должна быть включена, чтобы работал трейдинг. Вот как включить ее в МетаТрейдере 4:

МетаТрейдер 4 - Разрешение авто-торговли для экспертных советников

А вот как включить алготрейдинг в МетаТрейдере 5:

МетаТрейдер 5 - Разрешение алготрейдинга для экспертных советников

Как установить горячую клавишу для торговли

Вы можете задать горячую клавишу с помощью входного параметра TradeHotKey. Вы можете или использовать одиночную клавишу (например, "T") или комбинацию с Shift или Ctrl (например, "Ctrl+Shift+T").

 

Внимание! Существует известный баг с использованием горячих клавиш на MT4. Если в комбинации используется Shift или Ctrl, и включена опция Ask for confirmation, то комбинация клавиш перестанет работать после первого появления окошка подтверждения сделки. Вот почему горячая клавиша по умолчания для MT4 — просто "T". Этой проблемы нет в MT5.


Входные параметры

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

Компактность

  • ShowLineLabels (по умолчанию = true) — если true, то под линиями стоп-лосса и тейк-профита будет указываться расстояние в пунктах от уровня открытия.
  • ShowAdditionalSLLabel (по умолчанию = false) — если true, процентный и денежный риск будут отображаться над линией стоп-лосса.
  • ShowAdditionalTPLabel (по умолчанию = false) — если true, процентная и денежная цели и соотношение прибыли к риску будут отображаться над линией тейк-профита. При использовании нескольких уровней тейк-профита там также будет указан объем сделки для позиции с данным тейк-профитом.
  • ShowAdditionalEntryLabel (по умолчанию = false) — если true, общий рассчитанный объем позиции будет отображаться над линией входа.
  • DrawTextAsBackground (по умолчанию = false) — если true, то текстовые метки, созданные советником, будут отрисовываться как фон. Полезно, если текст под или над линиями закрывает график.
  • HideAccSize (по умолчанию = false) — если true, поле размера счета и кнопка переключения будут спрятаны.
  • ShowPipValue (по умолчанию = false) — если true, цена пункта будет отображена в низу основной вкладки панели.
  • ShowMaxPSButton (по умолчанию = false) — если true, возле поля «Размер позиции» будет отображаться кнопка «Максимальный размер позиции».
  • StartPanelMinimized (по умолчанию = false) — если true, панель будет создана в минимизированном состоянии.
  • ShowATROptions (по умолчанию = false) — если true, панель начнет отображать настройки для индикатора ATR, чтобы рассчитывать на его основе стоп-лосс и тейк-профит.
  • ShowMaxParametersOnTrading (по умолчанию = true) — если true, вкладка торговли будет отображать поля для ограничения максимального числа, объема и риска по сделкам. Установите в false, чтобы уменьшить вертикальный размер вкладки.
  • ShowFusesOnTrading (по умолчанию = true) — если true, вкладка торговли будет отображать так называемые поля-предохранители: по проскальзыванию, спреду, и расстоянию между входом и стоп-лоссом. Установите в false, чтобы уменьшить вертикальный размер вкладки.
  • ShowCheckboxesOnTrading (по умолчанию = true) — если true, вкладка торговли будет отображать чекбоксы, которые влияет на исполнение сделок. Установите в false, чтобы уменьшить вертикальный размер вкладки.

Шрифты

  • SL Label Font Color (по умолчанию = clrLime) — цвет шрифта для текстовой метки возле линии стоп-лосса.
  • TP Label Font Color (по умолчанию = clrYellow) — цвет шрифта для текстовой метки возле линии тейк-профита.
  • Stop Price Label Font Color (по умолчанию = clrPurple) — цвет шрифта для текстовой метки возле линии стоп-цены.
  • Entry Label Font Color (по умолчанию = clrBlue) — цвет шрифта для текстовой метки возле линии входа.
  • Labels Font Size (по умолчанию = 13) — размер шрифта для текстовых меток.
  • Labels Font Face (по умолчанию = "Courier") — шрифт для текстовых меток.

Линии

  • Entry Line Color (по умолчанию = clrBlue) — цвет линии, показывающей цену входа в позицию.
  • Stop-Loss Line Color (по умолчанию = clrLime) — цвет линии стоп-лосса.
  • Take-Profit Line Color (по умолчанию = clrYellow) — цвет линии тейк-профита.
  • Stop Price Line Color (по умолчанию = clrPurple) — цвет линии стоп-цены для стоп-лимит ордеров (только МТ5).
  • BE Line Color (по умолчанию = clrNONE) — цвет линий безубытка.
  • Entry Line Style (по умолчанию = STYLE_SOLID) — стиль линии входа.
  • Stop-Loss Line Style (по умолчанию = STYLE_SOLID) — стиль линии стоп-лосса.
  • Take-Profit Line Style (по умолчанию = STYLE_SOLID) — стиль линии тейк-профита.
  • Stop Price Line Style (по умолчанию = STYLE_DOT) — стиль линии стоп-цены для стоп-лимит ордеров (только МТ5).
  • BE Line Style (по умолчанию = STYLE_DOT) — стиль линий безубытка.
  • Entry Line Width (по умолчанию = 1) — ширина линии входа.
  • Stop-Loss Line Width (по умолчанию = 1) — ширина линии стоп-лосса.
  • Take-Profit Line Width (по умолчанию = 1) — ширина линии тейк-профита.
  • Stop Price Line Width (по умолчанию = 1) — ширина линии стоп-цены для стоп-лимит ордеров (только МТ5).
  • BE Line Width (по умолчанию = 1) — ширина линий безубытка.

По умолчанию

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

  • TradeDirection (по умолчанию = Long) — направление сделки по умолчанию. Может быть Long (длинная) или Short (короткая).
  • SL (по умолчанию = 0) — если больше нуля, стоп-лосс вновь добавленного экспертного советника будет установлен равным этому значению в пунктах. Также включает отображение кнопки «Стоп-лосс» на главной вкладке.
  • TP (по умолчанию = 0) — если больше нуля, тейк-профит добавленного экспертного советника будет установлен равным этому значению в пунктах.
  • TakeProfitsNumber (по умолчанию = 1) — если больше, чем 1, на вкладке торговли будут доступны несколько уровней тейк-профита, чтобы позволить советнику разделить позицию на несколько сделок с разными тейк-профитами.
  • EntryType (по умолчанию = Instant) — тип ордера по умолчанию. Может быть Instant (мгновенный) или Pending (отложенный).
  • ShowLines (по умолчанию = true) — если true, линии входа, стоп-лосса и тейк-профита не будут спрятаны.
  • LinesSelected (по умолчанию = true) — если true, линии входа, стоп-лосса и тейк-профита будут выбраны, чтобы их можно было перемещать. Будьте осторожны, чтобы их не удалить!
  • ATRPeriod (по умолчанию = 14) — период для индикатора ATR по умолчанию.
  • ATRMultiplierSL (по умолчанию = 0) — множитель для значения индикатора ATR при расчете стоп-лосса.
  • ATRMultiplierTP (по умолчанию = 0) — множитель для значения индикатора ATR при расчете тейк-профита.
  • ATRTimeframe (по умолчанию = PERIOD_CURRENT) — если задан конкретный таймфрейм, то вновь добавленный на график советник будет использовать этот таймфрейм для расчета ATR.
  • SpreadAdjustmentSL (по умолчанию = false) — значение по умолчанию для чекбокса поправки по спреду для поля стоп-лосса, основанного на индикаторе ATR. Если true, основанный на ATR уровень стоп-лосса будет изменен на значение спреда.
  • SpreadAdjustmentTP (по умолчанию = false) — значение по умолчанию для чекбокса поправки по спреду для поля тейк-профита, основанного на индикаторе ATR. Если true, основанный на ATR уровень тейк-профита будет изменен на значение спреда.
  • Commission (по умолчанию = 0) — размер комиссии по умолчанию.
  • CommissionType (по умолчанию = Currency units) — тип комиссии по умолчанию.
  • AccountButton (по умолчанию = Balance) — состояние кнопки счета. Может быть Balance (баланс), Equity (средства) или Balance - Risk (баланс за вычетом риска текущего портфолио).
  • Risk (по умолчанию = 1) — значение по умолчанию для риска в процентах.
  • MoneyRisk (по умолчанию = 0) — если больше нуля, будет использование как значение по умолчанию для денежного риска, а процентный риск будет рассчитан на основе денежного.
  • CountPendingOrders (по умолчанию = false) — значение по умолчанию для чекбокса Считать отложенные ордера на вкладке Риска.
  • IgnoreOrdersWithoutStopLoss (по умолчанию = false) — значение по умолчанию для чекбокса Игнорировать ордера без стоп-лосса/тейк-профита на вкладке Риска.
  • IgnoreOrdersWithoutSL (по умолчанию = false) — значение по умолчанию для чекбокса Игнорировать ордера без стоп-лосса на вкладке Риска.
  • IgnoreOrdersWithoutTP (по умолчанию = false) — значение по умолчанию для чекбокса Игнорировать ордера без тейк-профита на вкладке Риска.
  • IgnoreOtherSymbols (по умолчанию = false) — значение по умолчанию для чекбокса Игнорировать ордера на других символах на вкладке Риска.
  • CustomLeverage (по умолчанию = 0) — значение по умолчанию для поля Свое кредитное плечо на вкладке Маржи.
  • MagicNumber (по умолчанию = 0) — Мэджик-число для вкладки торговли.
  • Commentary (по умолчанию = "") — комментарий для сделок.
  • AutoSuffix (по умолчанию = false) — если true, к комментарию будет добавляться автоматический суффикс.
  • DisableTradingWhenLinesAreHidden (по умолчанию = false) — значение по умолчанию для чекбокса Отключить торговлю, когда линии спрятаны для вкладки торговли.
  • MaxSlippage (по умолчанию = 0) — значение по умолчанию для максимального проскальзывания для вкладки торговли.
  • MaxSpread (по умолчанию = 0) — значение по умолчанию для максимального спреда для вкладки торговли.
  • MaxEntrySLDistance (по умолчанию = 0) — значение по умолчанию для максимального расстояния от входа до стоп-лосса для вкладки торговли.
  • MinEntrySLDistance (по умолчанию = 0) — значение по умолчанию для минимального расстояния от входа до стоп-лосса для вкладки торговли.
  • MaxPositionSizeTotal (по умолчанию = 0) — значение по умолчанию для максимального общего открытого объема на счету. Ноль означает отсутствие лимита.
  • MaxPositionSizePerSymbol (по умолчанию = 0) — значение по умолчанию для максимального открытого объема по символу. Ноль означает отсутствие лимита.
  • SubtractOPV (по умолчанию = false) — значение по умолчанию для чекбокса Вычесть объем открытых позиций для вкладки торговли.
  • SubtractPOV (по умолчанию = false) — значение по умолчанию для чекбокса Вычесть объем отложенных ордеров для вкладки торговли.
  • DoNotApplyStopLoss (по умолчанию = false) — значение по умолчанию для чекбокса Не устанавливать стоп-лосс для вкладки торговли.
  • DoNotApplyTakeProfit (по умолчанию = false) — значение по умолчанию для чекбокса Не устанавливать тейк-профит для вкладки торговли.
  • AskForConfirmation (по умолчанию = false) — значение по умолчанию для чекбокса Запрашивать подтверждение для вкладки торговли.
  • PanelPositionX (по умолчанию = 0) — значение по умолчанию для горизонтального расстояния от выбранного угла графика до панели.
  • PanelPositionY (по умолчанию = 15) — значение по умолчанию для вертикального расстояния от выбранного угла графика до панели.
  • PanelPositionCorner (по умолчанию = CORNER_LEFT_UPPER) — угол расположения панели на графике.
  • TPLockedOnSL (по умолчанию = false) — значение по умолчанию для «локирования» тейк-профита на стоп-лоссе. Если true, тейк-профит следит за дистанцией стоп-лосса в автоматическом режиме.
  • TrailingStop (по умолчанию = 0) — значение по умолчанию для трейлинг-стопа в пунктах на вкладке торговли.
  • BreakEven (по умолчанию = 0) — значение по умолчанию для безубытка в пунктах на вкладке торговли.
  • ExpiryMinutes (по умолчанию = 0) — значение по умолчанию для срок действия отложенного ордера для вкладки Торговли.
  • MaxNumberOfTradesTotal (по умолчанию = 0) — максимальное общее число сделок, которое может быть открыто на счете. Ноль — без ограничений.
  • MaxNumberOfTradesPerSymbol (по умолчанию = 0) — максимальное число сделок по символу, которое может быть открыто на счете. Ноль — без ограничений.
  • MaxTotalRisk (по умолчанию = 0) — максимальный общий риск по умолчанию для вкладки торговли. Нулевое значение означает отсутствие лимита.
  • MaxTotalRiskPerSymbol (по умолчанию = 0) — максимальный риск по умолчанию по символу для вкладки торговли. Нулевое значение означает отсутствие лимита.

Горячие клавиши

  • TradeHotKey (по умолчанию = "Shift+T") — горячая клавиша для открытия сделки на основе расчетов. Поддерживает Shift и Ctrl. Регистр не имеет значения
  • SwitchOrderTypeHotKey (по умолчанию = "O") — горячая клавиша для смены типа ордера. Поддерживает Shift и Ctrl. Регистр не имеет значения
  • SwitchEntryDirectionHotKey (по умолчанию = "TAB") — горячая клавиша для переключения направления сделки. Поддерживает Shift и Ctrl. Регистр не имеет значения
  • SwitchHideShowLinesHotKey (по умолчанию = "H") — горячая клавиша для скрытия или отображения линий советника. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • SetStopLossHotKey (по умолчанию = "S") — горячая клавиша для установки стоп-лосса на уровень указателя мыши. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • SetTakeProfitHotKey (по умолчанию = "P") — горячая клавиша для установки тейк-профита на уровень указателя мыши. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • SetEntryHotKey (по умолчанию = "E") — горячая клавиша для установки цены входа на уровень указателя мыши. Если тип ордера был Instant, то он будет переключен на Pending. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • MinimizeMaximizeHotkey (по умолчанию = "`") — горячая клавиша для сворачивания и разворачивания панели. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • SwitchSLPointsLevelHotKey (по умолчанию = "Shift+S") — горячая клавиша для переключения поля Стоп-лосса между режимами в пунктах и в виде уровня. Поддерживает Shift и Ctrl. Регистр не имеет значения.
  • SwitchTPPointsLevelHotKey (по умолчанию = "Shift+P") — горячая клавиша для переключения поля Тейк-профита между режимами в пунктах и в виде уровня. Поддерживает Shift и Ctrl. Регистр не имеет значения.

Прочее

  • TP_Multiplier (по умолчанию = 1) — значение множителя для кнопки «Тейк-профит».
  • UseCommissionToSetTPDistance (по умолчанию= false) — если true, то кнопка «Тейк-профит» будет принимать во внимание заданный в панели размер комиссии при расчете уровня тейк-профита.
  • ShowSpread (по умолчанию = false) — если true, текущее значение спреда в брокерских пунктах (тиках) будет указываться заголовке панели.
  • AdditionalFunds (по умолчанию = 0) — средства, которые будут добавлены к размеру счета при расчете риска и размера позиции. Например, это могут быть средства, которые вы храните на отдельно счете в банке, но считаете их частью своих Форекс-инвестиций.
  • CustomBalance (по умолчанию = 0) — вы можете установить собственный баланс для советника. Например, если вы рассчитываете размер позиции для другого счета. Этот параметр имеет приоритет над параметром AdditionalFunds.
  • SLDistanceInPoints (по умолчанию = false) — если true, стоп-лосс будет задаваться в пунктах, а его линия будет следить за линией входа.
  • TPDistanceInPoints (по умолчанию = false) — если true, тейк-профит будет задаваться в пунктах, а его линия будет следить за линией входа.
  • ATRCandle (по умолчанию = Current candle) — какая свеча будет использована для получения значения индикатора ATR — текущая (Current candle) или предыдущая (Previous candle).
  • CalculateUnadjustedPositionSize (по умолчанию = false) — если true, результат расчета размера позиции не будет поправляться в соответствии с брокерскими значениями параметров минимального/максимального объема и шага объема.
  • SurpassBrokerMaxPositionSize (по умолчанию = false) — если true, советник превысит брокерский максимум размера позиции, открывая несколько сделок.
  • RoundDown (по умолчанию = true) — если true, то размер позиции и потенциальная прибыль округляются вниз. Если false, то используется обычное правило округления. Переключение на false может привести к неожиданно высоким рискам.
  • QuickRisk1 (по умолчанию = 0) — процентное значение риска для первой быстрой кнопки. Вместе со второй кнопкой риска она позволяет вам легко задавать предпочтительный уровень риска.
  • QuickRisk2 (по умолчанию = 0) — процентное значение риска для второй быстрой кнопки. Вместе с первой кнопкой риска она позволяет вам легко задавать предпочтительный уровень риска.
  • ObjectPrefix (по умолчанию = "PS_") — приставка для названий графических объектов. Позволяет экспертному советнику избежать конфликтов с другими инструментами на графике.
  • SymbolChange (по умолчанию = SYMBOL_CHART_CHANGE_EACH_OWN) — что делать при смене символа графика:
    • SYMBOL_CHART_CHANGE_EACH_OWN — для каждого символа советник будет пытаться загружать собственные настройки, если таковые существуют.
    • SYMBOL_CHART_CHANGE_HARD_RESET — полная перезагрузка панели.
    • SYMBOL_CHART_CHANGE_KEEP_PANEL — настройки панели останутся неизменными.
  • DisableStopLimit (по умолчанию = false) — если true, тип ордера «Стоп-лимит» будет пропускаться при переключении по типам ордеров на панели. Есть только в MT5.
  • TradeSymbol (по умолчанию = "") — если задано значение, то оно будет использовано в качестве торгового инструмента для совершения сделок. Это может быть полезно при работе с пользовательскими символами в MT5.
  • DisableTradingSounds (по умолчанию = false) — если true, звуки не будут проигрываться при исполнении сделок советником.
  • IgnoreMarketExecutionMode (по умолчанию = true) — если true, рыночный режим исполнения сделок будет игнорироваться при совершении торговых операций советником. Установите в false, если у вас не открываются сделки со стоп-лоссом или тейк-профитом.
  • MarketModeApplySLTPAfterAllTradesExecuted (по умолчанию = false) — если true, стоп-лосс и тейк-профит будут применяться к позициям только после полного завершения исполнения всех сделок в рыночном режиме исполнения. Это работает, только если IgnoreMarketExecutionMode установлен в false и текущий символ использует рыночный режим исполнения.
  • DarkMode (по умолчанию = false) — если true, цветовая схема панели будет переключена на темный режим.
  • SettingsFile (по умолчанию = "") — если задан, Position Sizer загрузит настройки панели из данного файла. Файл может быть загружен только из подпапок MQL4Files и MQL5Files папки данных вашей платформы.
  • PrefillAdditionalTPsBasedOnMain (по умолчанию = true) — если true, только что добавленные дополнительные уровни тейк-профита будут сразу заполнены значениями на основе основного тейк-профита.

Скриншоты

Основная вкладка

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

Position Sizer - основная вкладка на белом фоне

Вкладка с рисками

Черный цвет фона и сетка на графике не мешают панели, как вы можете видеть на скриншоте вкладки с рисками. Панель переключена на темный режим, чтобы уменьшить яркость экрана. Риски показывают (бесконечность), так как, присутствует короткая позиция без стоп-лосса.

Position Sizer - вкладка с рисками на черном фоне

Вкладка маржи

Даже самая неожиданная комбинация цветов нормально сочетается с Position Sizer. В этом случае, бирюзовый фон дополнен зелено-красными свечами. Цвет линии и метки стоп-лосса изменен на черный.

Position Sizer - вкладка маржи на бирюзовом фоне

Вкладка свопов

Этот пример показывает вкладку свопов на графике с классической черно-белой цветовой схемой. Как видно, данный брокер взимает довольно серьезные комиссионные за перенос позиций при маржинальной торговле биткойнами.

Position Sizer - вкладка свопов на белом фоне

Вкладка торговли

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

Position Sizer - вкладка скрипта с графиком поверх панели

Свернутая панель

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

Position Sizer - свернутая панель


Скачать (ver. 3.07, 2023-10-20)

Position Sizer для MetaTrader 4 Position Sizer для MetaTrader 5


Установка

Для установки экспертного советника убедитесь, что вы скопировали всю папку из архива в /MQL4/Experts/ или /MQL5/Experts/ (если вы используете МетаТрейдер 5):

Папка с советником должна содержать следующие файлы и подпапку Translations (в МТ5):

  • Defines.mqh
  • Position Sizer.mq4 или Position Sizer.mq5
  • Position Sizer.mqh
  • Position Sizer Trading.mqh
  • errordescription.mqh (только в MT5)
  • EF-Icon-64x64px.ico

Компилировать надо файл Position Sizer.mq4 (или Position Sizer.mq5), а не какие-либо другие.

Установка Position Sizer на macOS

Процесс установки на новые устройства macOS (M1, M2, M3, M3 Pro, M3 Max и т.д.) немного отличается от установки Position Sizer на Windows.

Выполните, пожалуйста, следующие шаги (указаны для MT5, но процесс очень похож в MT4):

  1. Запустите MetaEditor (нажмите F4 из MetaTrader).
  2. Перетащите файлы из загруженного архива по одному в MetaEditor.
  3. Используйте File->Save As, чтобы сохранить их в предложенную папку. Файлы с переводами должны быть сохранены в подпапку Translations там же.
  4. Вы можете сохранить все файлы кроме EF-Icon-64x64px.ico таким образом. Пропустите его.
  5. Откройте файл Position Sizer.mq5.
  6. Найдите следующую строку и или удалите ее или закомментируйте:
     #property icon      "EF-Icon-64x64px.ico"
  7. Теперь можете или скомпилировать Position Sizer.mq5 самостоятельно или перезапустить MetaTrader (компиляция будет произведена автоматически).

Перевод Position Sizer

Интерфейс панели можно перевести в МетаТрейдере 5. На данный момент, в дополнение к английскому, доступны пять языков: арабский, китайский (упрощенный), португальский (бразильский), испанский, русский, украинский. Больше языков будет добавлено в будущем.

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

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

Position Sizer - Убираем комментарий со строчки, которая загружает нужный файл с переводом

А вот она уже раскомментированная и с подсвеченной кнопкой компиляции:

Position Sizer - Компилируем с переводом на русский язык

В результате панель будет выглядеть примерно так:

Position Sizer - Компилируем с переводом на русский язык

Создать свой собственный перевод интерфейса для Position Sizer — довольно просто. Для этого не нужно уметь программировать. Файл с переводом состоим всего из нескольких сот терминов и фраз.


Часто задаваемые вопросы

При компиляции советника Position Sizer возникают ошибки. Что с этим делать?

Во-первых, убедитесь, что вы компилируете правильный файл — Position Sizer.mq4 в МетаТрейдере 4 или Position Sizer.mq5 в МетаТрейдере 5. Во-вторых, убедитесь, что другие файлы — Defines.mqh, Position Sizer.mqh, Position Sizer Trading.mqh и errordescription.mqh (в MT5) находятся в той же папке, что и основной файл. Если проблема не решена, сообщите в официальной теме на форуме, указав версию советника, версию МетаТрейдера и предоставив копию или скриншоты ошибок.

Я установил советник, но, когда я добавляю его на график, ничего не происходит. Почему?

Скорее всего, его нужно скомпилировать. Чтобы сделать это, кликните левой кнопкой мыши по советнику в списке (в окне Навигатор вашей торговой платформы) и нажмите клавишу Ввод. Откроется MetaEditor с исходным кодом экспертного советника. Теперь нажмите кнопку F7. Смотрите ответ на вопрос выше, если будут сообщения об ошибках компиляции.

Position Sizer работают неправильно. Что делать?

Чтобы помочь, нам понадобятся: версия советника, версия платформы (включая номер сборки), название брокера, тип и валюта счета. Также, пожалуйста предоставьте скриншот содержимого вкладки Эксперты в окне Терминал/Инструменты вашей платформы:

Как сообщать о проблемах с Position Sizer - лог ошибок во вкладке Эксперты
Я ввожу, например, 1% риска, но столбик с результатами показывает 0,87%. Я хочу рискнуть, допустим, 5 000 $, но получается так, что рискую только 4 350 $. Как так получается?

Скорее всего, увеличение размера позиции на минимальный возможный шаг привело бы к размеру позиции с риском выше заданного. Position Sizer округляет размер позиции вниз в таких случаях, стремясь скорее уменьшить риск, чем допустить риск выше заданного значения. Вы, конечно, можете установить входной параметр CalculateUnadjustedPositionSize равным true, чтобы заставить Position Sizer рассчитывать точный размер позиции без оглядки на ограничения брокера, но вы не сможете открыть такую сделку с этим брокером, так как она просто-напросто не будет соответствовать его требованием по минимальному шагу объема позиции.

Обсуждение

У вас есть вопросы или предложения по данному экспертному советнику? Вы можете обсудить Position Sizer с другими трейдерами на форуме.

 

Вы можете открыть торговый счет у любого из Форекс-брокеров с MT4, чтобы свободно использовать Position Sizer для платформы МетаТрейдер 4. Если вы хотите использовать версию советника для МТ5, то вам понадобится счет у одного из брокеров, которые предоставляют платформу МетаТрейдер 5.


Список изменений

Версия 3.07 — 2023-10-20

  • Добавлена дополнительная метка для линии Входа для отображения общего объема позиции, рассчитанного советником.
  • Добавлены новые горячие клавиши (Shift+S и Shift+P по умолчанию) для переключения стоп-лосса и тейк-профита с уровня на пункты и обратно.
  • Добавлен расчет соотношения риска и прибыли на вкладку Риска.
  • Добавлено поле время действия и соответствующий входной параметр, чтобы задавать тайм-лимит для отложенных ордеров.
  • Добавлена новая горячая клавиша ('`' по умолчанию) для сворачивания/разворачивания панели.
  • Исправлены цвета кнопки тейк-профита в темном режиме.
  • Исправлена работа горячих клавиш, заданных без модификаторов Shift/Ctrl, которые срабатывали даже при нажатом Shift или Ctrl.
  • Исправлен расчет маржи в версии для MT5, чтобы он принимал во внимание уровень маржи поддержки, когда это необходимо.
  • Исправлен баг, когда изменение входных параметров горячих клавиш у уже добавленного на график советника могло не сработать.
  • Исправлена потенциальная ошибка 'array out-of-range error', которая могла возникнуть в некоторых редких обстоятельствах.
  • Исправлено масштабирование полей дополнительных тейк-профитов на HiDPI-экранах.
  • Изменена работа горячей клавиши тейк-профита таким образом, чтобы она отключала слежение тейк-профита за стоп-лоссом, если оно было включено.
  • Изменена директория для хранения файлов с настройками панели. Теперь они хранятся в подпапке PS_Settings папки Files вашей платформы. На работу со старыми файлами настроек это не повлияет.
  • Изменен цвет по умолчанию для линий ТП и СЛ на золотарник и зеленый соответственно.

Версия 3.06 — 2023-08-14

  • Добавлена горячая клавиша для того, чтобы устанавливать линию Входа на уровень цены, на который сейчас указывает курсор мыши (SetEntryHotKey).
  • Добавлены файлы с переводами интерфейса панели на арабский, китайский (упрощенный) и испанский для версии советника под MT5.
  • Исправлен баг, из-за которого уровни тейк-профита (в пунктах) дрейфовали от своих заданных значений.
  • Исправлен баг, когда при применении трейлинг-стопа или безубытка советник мог выдать неверное предыдущее значение стоп-лосса.
  • Исправлена потенциальная ошибка 'array out of range' при переключении символа графика.
  • Исправлен баг, когда стоп-лосс не сбрасывался на заданное значение по умолчанию при переключении символа, если такой сброс требовался в соответствии с параметром SymbolChange.
  • Исправлен баг, когда линии СЛ и ТП могли стать на уровни не кратные размеру тика символа графика.
  • Убрана возможность задать нулевое значение уровня стоп-лосса.

Версия 3.05 — 2023-07-25

  • Добавлен новый входной параметр (PrefillAdditionalTPsBasedOnMain) для контроля за тем, заполнять вновь добавленные тейк-профиты или нет.
  • Добавлен файл с переводом на португальский (Бразилия) в версии для МТ5. Перевод предоставил Matheus Sevaroli.
  • Исправлено отображение расчетных значений потенциальной прибыли (Reward), когда один или несколько дополнительных тейк-профитов равны нулю. Теперь панель будет рассчитывать потенциальную прибыль только для тех сделок, для которых задан ненулевой ТП.
  • Исправлен баг, который приводил к тому, что настройки ограничений и вычитаний на вкладке Торговли не работали.
  • Исправлен баг, из-за которого при SymbolChange = Reset to Defaults большинство полей панели не сбрасывались при смене символа.
  • Исправлен баг, из-за которого значения Входа и ТП не обновлялись при спрятанных линиях.
  • Исправлен баг в версии для MT4, который иногда приводил к ошибке 'array out of range'.

Версия 3.04 — 2023-07-20

  • Добавлен темный режим, который можно включить с помощью параметра DarkMode.
  • Добавлена возможность отображать линии безубытка на уровнях цены, на который Position Sizer будет применять безубыток к существующим позициям.
  • Добавлена текстовая метка для уровня цены Входа, чтобы показывать расстояние от текущей цены до цены входа у отложенных ордеров.
  • Добавлены входные параметры (ShowMaxParametersOnTrading, ShowFusesOnTrading и ShowCheckboxesOnTrading) для того, чтобы сделать вкладку торговли более компактной.
  • Добавлены отдельные поля на вкладку торговли для контроля за максимальными объемом, риском и числом сделок в общем и отдельно по символу.
  • Добавлен входной параметр (SettingsFile) для загрузки пользовательского файла с настройками полей панели. Советник не будет удалять пользовательские файлы настроек.
  • Добавлены две новые горячие клавиши — для установки стоп-лосса (SetStopLossHotKey) и тейк-профита (SetTakeProfitHotKey) на уровень цены, на который указывает указатель мыши.
  • Добавлена возможность изменить перевод интерфейса панели в МетаТрейдере 5. Пока что языковые файлы доступны только для украинского и русского языков. Пользователи могут создавать свои собственные файлы переводов.
  • Изменен механизм работы безубытка, чтобы принимать во внимание размер комиссии, когда UseCommissionToSetTPDistance равен true.
  • Изменено добавление дополнительных полей тейк-профита так, чтобы в них появлялись ненулевые значения, если в основном тейк-профите задано какое-то значение.
  • Исправлен баг, когда переключение символа графика могло привести к исчезновению текстовых меток возле линий, если параметр SymbolChange был установлен на Keep panel as is.
  • Исправлен баг в версии для MT5, который приводил к тому, что тип сделки не сбрасывался, когда SymbolChange был равен Reset to defaults on symbol change.
  • Исправлен баг, который приводил к ложным алертам и неправильному расчету размера позиции, когда советник не мог с первой попытки получить информацию о символе.
  • Исправлен баг, который приводил к тому, что некоторые кнопки +/- оставались на графике после минимизации панели.
  • Исправлен баг, который приводил к тому, что стоп-лосс не держался на заданном расстоянии от входа при SLDistanceInPoints равном true.
  • Исправлен баг, когда звездочка возле поля размера счета (сигнализирующая о дополнительных средствах или пользовательском балансе счета) оставалась видимой даже при минимизации панели.
  • Исправлен баг в версии для MT5, который приводил к сбросу поля риска к значению по умолчанию, когда пользователь повторно заходил в поле размера позиции после задания в нем своего значения.
  • Исправлен баг, из-за которого линия стоп-лосса иногда исчезала при смене символа.
  • Исправлен баг в версии для MT5, который приводил к тому, что линия стоп-цены появлялась после переключения с ордера типа стоп-лимит на рыночный и установки параметра DisableStopLimit равным true.
  • Исправлен баг, который приводил к появлению неправильного значения в поле размера счета после входа в него и выхода из него, если значение содержало разделитель групп разрядов.
  • Исправлен баг в версии для MT5, который приводил к критической ошибке 'array out of range' при клике на кнопки +/- возле единственного поля тейк-профита.
  • Исправлен баг в версии для MT4, который приводил к критической ошибке 'array out of range' при переключении символа графика на такой, где в файле настроек были уже заданы дополнительные уровни тейк-профита.
  • Исправлен баг, который приводил к тому, что риск рассчитывался на основе процентного значения, а не денежного, при обновлении пользовательского значения баланса счета, даже если параметр MoneyRisk был больше 0.
  • Исправлен баг с нерабочей кнопкой переключения таймфрейма ATR.
  • Исправлен баг с неправильным распределением долей объема при добавлении нового тейк-профита.
  • Исправлен баг в версии для MT5, который приводил к критической ошибке 'stack overflow', когда советник не мог конвертировать валюту прибыли или маржи.
  • Исправлен баг, из-за которого значения ТП, заданные в пунктах, могли изменяться при несвязанных манипуляциях с графиком.

Версия 3.03 — 2023-03-29

  • Добавлена возможность устанавливать размер комиссии в процентах от стоимости контракта.
  • Добавлена возможность использовать дробные значения для пользовательского кредитного плеча и и кредитного плеча символа.
  • Добавлена возможность превышать максимальный размер позиции брокера путем открытия нескольких сделок (SurpassBrokerMaxPositionSize).
  • Добавлена возможность применять стоп-лосс и тейк-профит к сделкам с рыночным исполнением только после открытия всех позиций (MarketModeApplySLTPAfterAllTradesExecuted).
  • Добавлена возможность ограничивать максимальный итоговый риск для сделок по паре или в общем.
  • Добавлена поддержка исполнения сделок, когда Position Sizer работает на пользовательском символе в MT5. Символ для совершения сделок устанавливается через входной параметр TradeSymbol.
  • Добавлено предупреждение, когда у брокера значение цены тика равно нулю для Форекс-пар.
  • Добавлена настройка горячей клавиши (SwitchHideShowLinesHotKey) для скрытия/отображения линий советника.
  • Добавлен входной параметр (DisableTradingSounds) для отключения звуков сделок советника.
  • Добавлена возможность использовать клавиши Escape, Tab, Backspace и Caps Lock для горячих клавиш.
  • Добавлена настройка горячей клавиши (SwitchOrderTypeHotKey) для быстрого переключения типа ордера.
  • Добавлены кнопки для быстрого изменения уровней Входа, Стоп-лосса, Тейк-профита и Стоп-лимита.
  • Добавлена возможность добавлять и убирать дополнительные тейк-профиты прямо на панели.
  • Добавлена кнопка на панели для быстрого заполнения долей объема для разных уровней тейк-профита. Переключает между тремя режимами: равномерное распределение, по нисходящей, по восходящей.
  • Добавлена текстовая метка для отображения расстояния от уровня Входа до Стоп-цены.
  • Добавлена возможность переключать отображение спреда с пунктов на соотношение к стоп-лоссу через входной параметр ShowSpread.
  • Добавлена настройка (DisableStopLimit), чтобы отключать тип ордера «Стоп лимит» при переключении типа с помощью кнопки.
  • Изменена обработка совершения сделки так, чтобы проверять режим исполнения для символа только, если соответствующий входной параметр (IgnoreMarketExecutionMode) равен false.
  • Изменен чекбокс «Все символы» — теперь он относится и к максимальному числу сделок, и к максимальному объему, и к максимальному риску одновременно.
  • Изменено отображение валюты маржи для случаев, когда нельзя найти валютную пару для конверсии. Теперь будет отображаться базовая валюта текущей валютной пары.
  • Изменен чекбокс «Игнорировать ордеры без стоп-лосса/тейк-профита» — вместо него теперь два отдельных чекбокса: «Игнорировать ордеры без стоп-лосса» and «Игнорировать ордеры без тейк-профита».
  • Исправлен алгоритм распределения объема между несколькими сделками с разными тейк-профитами.
  • Исправлена ошибка, из-за которой стоп-лосс иногда сбрасывался в ноль.
  • Исправлен баг, который сбрасывал значения некоторых полей панели в предыдущее при попытке отредактировать их.
  • Исправлен баг, из-за которого возникала ошибка исполнения ордера после переключения с одной валютной пары на другую при типе ордера «Стоп-лимит».
  • Исправлен баг, из-за которого даже при пустом поле комментария к сделке, реальный комментарий оказывался равен «PS EA».
  • Исправлен баг, из-за которого значения долей объема заполнялись неправильно при изменении входного параметра TakeProfitsNumber.
  • Исправлен баг, из-за которого линия тейк-профита не исчезала даже, когда значение устанавливалось равным нулю.
  • Исправлена работа кнопки «ATR timeframe». Теперь ее значение будет Current, когда такое значение задается через входной параметр.
  • Исправлен баг, который иногда приводил к сбросу линий стоп-лосса и тейк-профита при попытке передвинуть их в режиме ATR.
  • Исправлен баг, из-за которого линии советника могли перестать быть выделенными при смене шаблона графика.
  • Исправлен баг с появлением линий советника заново при смене профиля платформы даже при нажатой кнопке «Спрятать линии».
  • Исправлены проблемы с округлением значения риска в дополнительной текстовой метке для линии стоп-лосса.
  • Исправлен баг с неправильной обработкой ситуации, когда Стоп-лосс равен Входу.
  • Исправлен баг с входным параметром PositionSize, чтобы он имел приоритет над процентным значением риска.
  • Исправлен неправильный расчет объема, который иногда мог случиться для вкладки Риска в MT5.
  • Исправлен баг, из-за которого игнорировался чекбокс «Не применять тейк-профит» на вкладке Торговли.
  • Исправлен небольшой баг, из-за которого текстовые метки возле линий могли «застрять» на графике и не двигаться.
  • Исправлен баг, который иногда приводил к краху инициализации MT5.
  • Улучшен алгоритм расчета валютной конверсии в MT5.
  • Оптимизированы фазы инициализации и деинициализации советника с заметным увеличением скорости загрузки при переключении символа графика.
  • Удален входной параметр PanelOnTopOfChart. Вместо него следует использовать чекбокс «График сверху» в настройках самого графика.

Версия 3.02 — 2022-08-12

  • Исправлен баг, который приводил к неправильному или неработающему расчету размера позиции при переключении символа графика (только MT5).
  • Исправлены поля Commentary и Auto-Suffix, которые работали неправильно (только MT5).
  • Исправлен баг, который не давал вновь заданным значениям по умолчанию изменять поля на панели.
  • Исправлен баг, который мог привести к тому, что некоторые элементы с основной вкладки отображались на других вкладках.
  • Исправлен баг, который иногда не давал полю Position Size сохранять введенное значение в режиме расчета риска на основании размера позиции.
  • Входной параметр ShowATROptions перемещен в группу Compactness.
  • Убран ненужный входной параметр Stop Price Label Color, так как нет такой текстовой меткой (только MT5).
  • Внесены некоторые чисто косметические правки.

Версия 3.01 — 2022-07-28

  • Исправлена критическая ошибка в работе безубытка для позиций на продажу.
  • Исправлены ошибки в работе горячей клавиши для открытия сделок.