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

b-PSI@PartClose v.27.08.2012 - библиотека для MetaTrader 4

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

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

Пример:

extern string PartClose_Levels         = "20/50/20";
extern string PartClose_Percents       = "50/25/25";

Это означает, что при прохождении ценой 20 пп. закроем половину (50%) первоначального размера, затем после прохождения ценой (от OrderOpenPrice()) ещё 50 пп. (от цены открытия 20+50=70 пп.) закроем ещё 25 %, и при прохождении ещё 20 пп. (от цены открытия 20+50+20=90 пп.) закроются оставшиеся 25 %. Есть в коде закомментированная переменная MoveBUInPart = 1. Она определяет на какой части переводим SL в БезУбыток (в данном случае при 1, после 20 пп.). Частей закрытия должно быть больше, чем 1, до сколько угодно, пока не закроется весь объём первоначального ордера. Если очередная часть меньше оставшейся части, закроется последняя часть и работа данной библиотеки будет выполнена.

В теле советника прописываем вызов библиотеки:

#include        <b-PSI@PartClose_Light.mqh>                   // Библиотека частичного закрытия ордеров

Не забываем про инициализацию библиотеки в init():

init()
{
    //---- Инициализируем библиотеку частичного закрытия
    if (!fInit_PartClose()) return (0);
}

Ну, и в start() собственно сама работа библиотеки:

    //---- Организовываем частичное закрытие ордеров
    if (!bb_TSProfit)
    {fControl_PartClose (Symbol(), Magic, bi_MyOrders > 0, Slippage, USE_VirtualSTOPs);}

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

bool fControl_PartClose (string fs_SymbolList,        // Лист управляемых валютных пар
                         string fs_MagicList,         // Лист управляемых Магиков
                         bool fb_Conditions,          // Условие включения (наличие ордеров)
                         int fi_Slippage,             // проскальзывание
                         bool fb_VirtualWork = false, // флаг виртуальной работы
                         string fs_Delimiter = ",")   // Разделитель переменных в листе fs_MagicList

Контролируемые инструменты и Магики можно прописать строкой и контролировать любые ордера.

Пример советника с использованием этой библиотеки.

P.S. Эта библиотека работает ТОЛЬКО совместно с базовой библиотекой и библиотекой функций торговых операций.

Изменения от 27.08.2012: библиотека прошла процесс реструктуризации в составе програмной среды (комплекса моих библиотек для MQL4).

iStockTimes iStockTimes

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

ZigZag с заданием параметров через глобальную переменную ZigZag с заданием параметров через глобальную переменную

Простой ZigZag с заданием реверса в пунктах через глобальную переменную.

Stochastic_fan_color Stochastic_fan_color

Универсальный гибкий инструмент как для определения тенденции (тренда), так и для точек входа, постановок стопов, мест добавления позиций и пр.

SimpleBars SimpleBars

Индикатор раскрашивает бары.