Форум трейдеров » Торговые роботы, советники, индикаторы » Расчет ММ для открываемой позиции на графике в МТ4
+ Подписаться
Страница 1 из 4 123 ... ПоследняяПоследняя
  1. 610
    Комментарии
    64
    Темы
    611
    Репутация Pro
     
    В начале пути

    4 Медалей

    Расчет ММ для открываемой позиции на графике в МТ4

    Многих интересует каким размером лота открывать позицию с запланированным риском (особенно часто задают вопрос в ШУ).
    Я создал индикатор который вычисляет это на любом инструменте в МТ4.
    Индикатор в архиве ниже.

    Индикатор MM Level.mq4 показывает рекомендуемый размер лота для открытия позиции по инструменту исходя из установленных в ручную уровней (открытие, Stop Loss) и размеру риска на одну сделку.

    Принцип действует так:
    1. Устанавливаются уровни входа и выхода.
    2. Направление сделки (buy, sell) определяется по отношению Line.SL к Line.Open
    3. Вычисляется размер пунктов между Line.SL и Line.Open.
    4. Исходя из заданного риска определяется рекомендуемый размер открываемой позиции.

    Некоторые переменные:

    RiskCurrency – конкретное кол-во валюты закладываемое в риск на одну позицию. Если RiskCurrency = 0, то его значение вычисляется исходя из RiskBalancePercent.
    FixLot – Фиксированный лот. Если FixLot = 0, то лот вычисляется исходя из закладываемого риска.
    RiskBalancePercent – Процент от баланса закладываемый в риск на одну позицию
    Commission – Комиссия при открытии одного лота.

    Следующие входные параметры нужны только для начального определения уровней при инициализации индикатора и никак не влияют на вычисление ММ.
    Так как это не торговая система и рекомендаций не несет, то их значения вы можете устанавливать какие угодно, лишь бы уровни было видно на графике. Я же выбрал такие, как нечто среднее. Можно базовую скользящую среднюю установить PeriodBaseInit = 2, тогда у вас всегда уровни Open, SL, TP будут в пределах видимости.

    PeriodBaseInit – базовая скользящая средняя от которой устанавливаются уровни при инициализации индикатора
    PeriodATR – диапазон цены. Период ATR для вычисления диапазона цены между уровнями при инициализации индикатора (берется за последний завершенный бар)
    dRangeInitOpen – коэф. отклонения уровня Open от PeriodBaseInit.
    dRangeInitSL – коэф. отклонения уровня SL от PeriodBaseInit.
    dRangeInitTP – коэф. отклонения уровня TP от PeriodBaseInit.

    Минимальные коэффициенты влияют на установку уровней.
    min_TP_SL – Минимальное соотношение TP/SL
    min_SL_ATR – Минимальный отступ уровня SL от Open выраженный в ATR(PeriodATR)*(min_SL_ATR)
    CalculationFromEquity – Признак расчета от средств (стопаута, процентов) по всем открытым позициям. false - означает, что расчет ведется только по одной планируемой позиции от баланса.

    Примечание:

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


    Программа распространяется бесплатно.
    Если у кого все таки появится желание поблагодарить, милости прошу :) WebMoney R246122326130 Z300195208372





    Заменил индикатор. Индикатор плохо обновлялся при смене направления ордера (когда уровень SL переносится в противоположную сторону от Open)
    Кроме того, в архив добавил индикатор простой МА с сигналами о смене направления.

    В прикрепленном архиве есть два индикатора:
    MA Fast Trend1.mq4 – трендовая линия, где показывается смена направления
    MM Level.mq4 – установка уровней с расчетом ММ

    30.07.09

    Сделал привязку к текущим открытым позициям.

    Только вот стоп аут для всех открытых позиций не получилось посчитать. Вычисляю только как для одной открытой позиции.
    Когда позиции открыты в разных направлениях по несколько штук, да ещё на разных инструментах с разной залоговой маржой и стоимостью тиков – это довольно муторное дело.
    Так что пока так – для одной позиции по инструменту.
    Вложения Вложения
    Недоступно! Pro 0
    Поделиться
    Просмотров: 15,218
  2. 1,497
    Комментарии
    47
    Темы
    1507
    Репутация Pro
    Аватар для SSSS  
    Мастер форумных наук

    5 Медалей
    Пытаюсь разобраться, но слишком много переменных не нужных для расчета риска на сделку. ИМХО конечно. Может дело привычки. Погоняю еще, если что непонятки спрошу.
    Спасибо
  3. Автор, ссылка не работает. Попробуйте добавить по другому. Я вот скачать и опробовать не смог.

    P.S. Сорри, через 5 минут получилось скачать. Опробуем.. идея понравилась.
  4. 610
    Комментарии
    64
    Темы
    611
    Репутация Pro
     
    В начале пути

    4 Медалей
    Цитата Сообщение от Алексей Кияница Посмотреть сообщение
    Автор, ссылка не работает. Попробуйте добавить по другому. Я вот скачать и опробовать не смог.

    P.S. Сорри, через 5 минут получилось скачать. Опробуем.. идея понравилась.
    Извиняюсь, архив поменял, а ссылку нет.

    Уже поправил.
  5. Если честно, то половину регулируемых параметров я так и не понял.
    Хочется:
    1) Шрифт побольше. Наверно, нужно вставлять что-то типа ObjectCreate("Подпись к линии", OBJ_LABEL, 0, 0, 0); с возможностью регулировки размера шрифта. На стандартом цветовом решении (черный фон) много что не видно.
    2) Привязку к текущим открытым позициям.
    3) Юзабилити подружественнее :thumbsup_002:

    А задумка на 5.
  6. 610
    Комментарии
    64
    Темы
    611
    Репутация Pro
     
    В начале пути

    4 Медалей
    Цитата Сообщение от Алексей Кияница Посмотреть сообщение
    Если честно, то половину регулируемых параметров я так и не понял.
    Хочется:
    1) Шрифт побольше. Наверно, нужно вставлять что-то типа ObjectCreate("Подпись к линии", OBJ_LABEL, 0, 0, 0); с возможностью регулировки размера шрифта. На стандартом цветовом решении (черный фон) много что не видно.
    2) Привязку к текущим открытым позициям.
    3) Юзабилити подружественнее :thumbsup_002:

    А задумка на 5.
    1) Параметры шрифта поставил поставил во входные параметры индикатора
    2) Привязку к текущим открытым позициям хотел делать в эксперте. Чтобы автоматически менять уровни SL, TP, Open для отложенных ордеров.
    Индикатор планировал использовать для планирования открываемой позиции, т.е еще до того как ордер установлен. Это и нужно было вначале.
    Если нужна привязка к открытым позициям в индикаторе - сделаю.
    3) По удобству использования индикатора не понял? Что вы имели ввиду?
  7. PeriodBaseInit – базовая скользящая средняя от которой устанавливаются уровни при инициализации индикатора
    PeriodATR – диапазон цены. Период ATR для вычисления диапазона цены между уровнями при инициализации индикатора (берется за последний завершенный бар)
    dRangeInitOpen – коэф. отклонения диапазона цены от PeriodBaseInit
    dRangeInitSL – минимальный размер уровня SL = ATR(PeriodATR)*(min_SL_ATR)
    dRangeInitTP – коэф. отклонения диапазона цены от PeriodBaseInit

    min_SL_ATR – Минимальный размер уровня SL от Open в ATR
    - вот это все зачем? Я так предполагаю, что это должно относиться к какому конкретному эксперту? Тогда зачем это в отдельном индикаторе?
    Проясните этот момент.
  8. 610
    Комментарии
    64
    Темы
    611
    Репутация Pro
     
    В начале пути

    4 Медалей
    Цитата Сообщение от Алексей Кияница Посмотреть сообщение
    - вот это все зачем? Я так предполагаю, что это должно относиться к какому конкретному эксперту? Тогда зачем это в отдельном индикаторе?
    Проясните этот момент.
    Это для инициализации. Установки значиний в начале по умолчанию, иначе линии где устанавливать? и где их искать? Вы можете задать любые.

    А минимальные отношения min_SL_ATR – Минимальный размер уровня SL от Open в ATR. Это для разумного ограничения SL.
  9. 610
    Комментарии
    64
    Темы
    611
    Репутация Pro
     
    В начале пути

    4 Медалей
    Цитата Сообщение от Алексей Кияница Посмотреть сообщение
    - вот это все зачем? Я так предполагаю, что это должно относиться к какому конкретному эксперту? Тогда зачем это в отдельном индикаторе?
    Проясните этот момент.
    А где устанавливать уровни Open, SL, TP при инициализации?
    Можно их принять вообще по High/Low последнего бара.
    Я выбрал такие условия, другой другие. Я только дал возможность установить свои уровни в начале.
    min_SL_ATR – Минимальный размер уровня SL от Open в ATR. Для разумного ограничения SL. Он не может быть слишком маленьким.

    П.С. Сразу не заметил ошибки в коментариях. Поправил для ясности.
  10. Теперь мне, как человеку иногда программирующему всякие вещи в MQL, все понятно, и я, в принципе, смогу все переписать, как мне нужно.
    А вот, кто не знаком с этими вещами - это темный лес с кучей партизанов :)
    Имхо, по последнему бару будет проще и понятнее.

    Но это все придирки, а так - все здорово :thumbsup_002:

Вверх
РегистрацияX

чтобы писать, читать, комментировать