Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

b-PSI@ICManager - библиотека для MetaTrader 4

Просмотров:
3477
Рейтинг:
(6)
Опубликован:
2011.07.01 13:56
Обновлен:
2014.04.21 14:55
\MQL4\Include\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

ICManager - Invest Capital Manager. Для чего это "зверь" нужен? Писал я его для работы на ПАММе, но этим его применение не ограничивается.
Имея на счёте несколько, работающих параллельно стратегий, реализованных в МТС (плюс, вполне возможно, "ручной" трейдинг), рано или поздно встаёт закономерный вопрос, как распределять средства счёта для каждой стратегии в отдельности, а ещё бы при этом распределении учитывать результат работы каждой стратегии за какой-то отчётный период... Ну, и для ПАММа важен инструмент коррекции объёма открытых позиций после балансовых операций.
Вот эти задачи и призвана решить данная библиотека, которая представляет собой модернизацию вот этого советника от Vipro.
Как это работает?
Условно делим счёт на две части, будем использовать ПАММ-терминологию: Капитал Управляющего (КУ) и Инвесторский Капитал (ИК). Размер КУ определяет переменная BaseBalance, соответственно ИК = AccountBalance() - BaseBalance.
Каждая МТС открывает ордера исходя из размера КУ и процента риска, а данная библиотека тут же открывает свой ведомый ордер, исходя из двух вариантов расчётов (Var_CalculateLots):

  1. Этот вариант расчёта InvestLots унаследован из упомянутого советника. Если открывается ведущая позиция объемом gd_MinLot * (BaseBalance / Balance_ForMinLot), то на оставшиеся средства открывается ведомая позиция из расчета gd_MinLot на каждый Balance_ForMinLot.
    Например, при параметрах по умолчанию, пусть общий баланс равен 10000, gd_MinLot = 0.01.
    Тогда cредства инвесторов составляют 10000 - 3000 = 7000 = 7 * Balance_ForMinLot
    Если управляющий открывает позицию на 0.03 лота, то автоматически откроется ведомая позиция на 0.07 лота.
    Если управляющий открывает позицию на 0.06 лота, то автоматически откроется ведомая позиция на 0.14 лота.
  2. Расчёт ведётся по формуле: InvestLot = IC * Lots / BaseBalance * K
    К находим по формуле: K = ResultTP / BaseBalance;
    Если результаты стратегии за отчётный период < 0, то InvestLot = Lots;
    При ResultTP == 0, K = fd_K_Begin (настраиваемая величина) (я ставлю fd_K_Begin = 0.5)

При осуществлении балансовых операций на счёте библиотека позволяет добавлять или уменьшать объём ведомых ордеров при уменьшении\увеличении ИК в соответствии с настройками (Increase_Allow - добавленние; Decrease_Allow - уменьшение).

Библиотека подключается к советнику двумя процедурами, конечно же, не забывая прописать саму библиотеку:
#include <b-PSI@ICManager.mqh>

  • в start() советника прописывается основная функция:
    f_ICManager (int fi_X = 5,                      // начальная координата X информационной таблицы
                 int fi_Y = 15,                     // начальная координата Y информационной таблицы
                 bool fb_redraw = false,            // флаг перерисовки таблицы
                 double fd_K_Begin = 0.5)           // начальная величина коэффициента формирования "добавочного" лота
  • в deinit() прописывается деинициализация библиотеки:
    deInit_ICManager (int fi_X = 5,                      // начальная координата X
                      int fi_Y = 15)                     // начальная координата Y
    В составе советника библиотека выглядит так:


Sounds_TP_SL Sounds_TP_SL

При тейк профите проигрывается одна мелодия, при стопе другая.

XML Парсер на MQL4 XML Парсер на MQL4

В библиотеке в упрощенном виде реализованы оба подхода к парсингу XML - SAX и DOM

Советник на основе Пивот уровней + некоторых линий Ишимоку Советник на основе Пивот уровней + некоторых линий Ишимоку

Используем индикатор дневного Пивот уровня + Линию Тенкан Сен(Ишимоку)

MA_Level MA_Level

Уровень доверия к iMA. Рекомендую использовать как фильтр сигналов.