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

e-PSI(at)PROC - эксперт для MetaTrader 4

Просмотров:
5692
Рейтинг:
(8)
Опубликован:
2011.07.11 09:47
Обновлен:
2015.05.12 13:03
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

Также к исходным стратегиям добавил ещё две "нейронные" от разных авторов и ёщё одну на MA-шке. Первая "нейронка" имеет три варианта построения Perceptron - VarPerceptron: 0 - Perceptron на Close\Open; 1 - на iStochastic; 2 - на CCI. Ну, и для полного комплекта добавил вот эту свою библиотеку по управлению капиталом.

Каждая из стратегий имеет свой Магик, который формируется от исходного Base.Magic добавлением к нему номера стратегии, поэтому для задействования библиотеки b-PSI@ICManager, желательно в строке Allowed_Magics прописать все используемые Магики через ";".

Также при наличии n-го количества стратегий, мне показалось, что не будет лишним, если добавить к возможностям советника Трал общего профита. Который может работать в двух режимах: классический и по MA (TrailProfitByMA = TRUE). Последний сначала рисует линию минимального профита > 2 ордеров, равную 20 (настройка в коде) единицам валюты депо, а затем, когда происходит включение трейлинга, он рисует и двигает за ценой SL Profit.

Трал по каждому отдельному ордеру от стратегии тоже может работать по МА (Tx.Var.TS = 1), его также можно настроить в режиме БезУбытка, если Tx.OnlyBU = True.

Стопы тоже имеют два варианта формирования (Tx.Var.STOP: 0 - classic; 1 - By MA), причём TP при Tx.Var.STOP=1 может формироваться двумя способами: если Tx.TP = 0, то будут сформированы по MA, иначе TP = Tx.TP.

Также регулируется количество открываемых по одной стратегии ордеров - MAX_OrdersOnTC.

Используемые в стратегиях индикаторы можно настроить на нужный Таймфрейм - Period.Indicators не обязательно совпадающий с периодом графика. Периоды всех задействованных индикаторов, в том числе и трейлинг по MA, работают по этому параметру.

Period.New.Send - регулирует паузу для открытия (при наличии условий на открытие) следующего ордера по стратегии, если MAX_OrdersOnTC > 1.

Остальные подробности по работе системы можно прочесть в упомянутой статье.


Общие настройки советника следующие:

extern string SETUP_Expert    = "==================== SETUP EXPERT ===================";
extern string file               = "virtual.csv"; // файл виртуальной торговли
extern int    MinRating          = 50;            // Минимальный рейтинг в процентах для открытия реальной позиции
extern int    Base.Magic         = 878;           // Базовый рабочий магик для торговых систем
extern int    NewBarInPeriod     = 1;             // <= 0 - работаем на начале периода нового бара, -1 - работаем на каждом тике
extern int    Variant_TradePrice = 1;             // Вариант цен, с которыми будет работать советник
extern int    MAX_OrdersOnTC     = 1;             // Максимальное число открытых ордеров на одну Торговую Систему
extern int    Period.New.Send    = 1440;          // Периодичность проверки на открытие следующего ордера одной стратегией, если MAX_OrdersOnTC > 1
extern int    Period.Indicators  = 1440;          // Рабочий период для индикаторов
extern int    STOP.Period        = 70;            // Период для расчёта Стопов по МА
extern string Setup_TraillingMA  = "---- Trailling By MA ----";
extern int    MAMode             = 1;             // 0 = SMA, 1 = EMA, 2 = SSMA, 3 = LWMA
extern int    XFactor            = 84;
extern int    TrailPeriod        = 83;
extern string SETUP_TP        = "================= Trailling Profit ==================";
extern bool   TrailProfit_ON     = TRUE;          // Включение трейлинга общего Профита
extern bool   TrailProfitByMA    = TRUE;          // Трейлинг общего Профита по MA
extern int    TrailProfitPeriod  = 50;            // Период MA для трейлинга по MA
extern double TrailProfit_Start  = 300;           // Величина профита при котором начинается перемещение уровня закрытия 
extern double TrailProfit_Level  = 200;           // Величина обратного движения профита, при котором выполняется закрытие 

Так всё это выглядит на графике с подробной статистикой по каждой стратегии:

В архиве все необходимые для работы советника библиотеки.

Ну, и как я упомянул в самом начале, вы можете без особых усилий добавить в эту систему свои стратегии. Количество обрабатываемых советником стратегий регулируется константой #define MAX_TC. Прописываете отдельными функциями условия открытия и закрытия ордеров, добавляете во внешние переменные настройки своей стратегии и - работаете!..

ВНИМАНИЕ!

Все внешние переменные (настройки советника), увязанные с размерностью котировок, имеют разрядность для 4-ёх знаков - вы вносите значение, как для 4-ёх знаков, а советник сам автоматически пересчитывает разрядность в зависимости от поступающих от ДЦ котировок!!!

Clock_bar Clock_bar

Вариация на тему - стрелочные часы для МТ4.

Fox Hound 1.2(Silver Fox) Fox Hound 1.2(Silver Fox)

Ручная торговая система. Обновление от 8.07.2011

SFX Trend Or Range Indicator SFX Trend Or Range Indicator

The Trend Or Range Indicator (TOR).

Универсальный звуковой индикатор для индикаторов + Alert Универсальный звуковой индикатор для индикаторов + Alert

Универсальный индикатор для звукового сообщения типа "Alert" и + играет звук.