PHP:
//+------------------------------------------------------------------+
//| t27_MaxPLAY-final |
//| tommy27 |
//| SKYPE: t.o.m.m.y.27 |
//| MAIL: [email protected] |
//+------------------------------------------------------------------+
#property copyright "tommy27"
#property link "[email protected]"
extern string comment ="1"; //комментарий к ордеру, чтоб сова узнавала свои ИСПОЛЬЗОВАТЬ ОБЯЗАТЕЛЬНО!
extern int magic =1; //магик к ордеру, чтоб сова узнавала свои использовать необязательно
extern double Lot =0.1; //размер лота
extern int Trend_MA_F_period =0; //0-выкл, 1 и далее...95..200..период МА, MA0<MA1 толькл Sell, MA0>MA1 только Buy
extern int MA_F_metod =2; //метод МА:0-SMA; 1-EMA; 2-SMMA; 3-LWMA
extern int MA_F__stop =0; //выход по МА: если MA0<MA1 для Buy или MA0>MA1 для Sell
extern int Start_CCI_Filtr =0; //0-выкл, 1-вкл
extern int Start_CCI_level =85; //уровень выше/ниже которого должен находится индикатор CCI для открытия sell/buy
extern int Stop_CCI_Filtr =0; //0-выкл, 1-вкл
extern int Stop_CCI_level =85; //выход по CCI: если CCI стал ниже для Buy или выше для Sell
extern int CCI_period =100; //период индикатора CCI
extern int Dolivki =0; //доливки при повторных сигналах: 0-выкл, 1-вкл
extern int DolivLevel =0; //отслеживание уровня цены при доливке: 0-выкл, 1 и далее - минимальный шаг пунктов от последнего открытого ордера для открытия след.доливки
extern double Martini =0; // мартингейл, 0-выкл, 1-арифм.прогрессия(1,2,3,4,5...), >1 -геометр.прогрессия(2,4,8,16...)
extern int MartinStep =1; //номер доливки с которой начнёт мартинить
extern bool HardVirtSL =0; //остановка робота после срабатывания VirtSL
extern double VirtSL =0; //виртуальный стоплосс
extern double VirtTP =0; //виртуальный тейкпрофит
extern int Tral =0; //виртуальный трал: 0-выкл, 1-в пунктах, 2-в валюте депозита
extern double TrailingStart =0; // Уровень профита - тралить начиная от...
extern double TrailingStop =0; // Фиксированный размер трала в пунктах или валюте депозита
Алгоритм работы советника и описание настроек:
Основным сигнализатором для входов/выходов служит индикатор
proba demark, оригинальная версия
в первом посту, модернизированная от SilverKZ с описанием работы лежит
здесь. Сигналы появляются по следующему принципу:
Алгоритм индикатора перенесён в сову и для её работы индюк не нужен.
Настройки советника:
comment - ИСПОЛЬЗОВАТЬ ОБЯЗАТЕЛЬНО, так как к нему привязаны глобальные переменные отвечающие за трейлинг и HardVirtSL. Аналог магику(для того чтоб советник работал только со своими ордерами) только удобней тем что комент виден в отличии от магика не только сове, но и вам. Если хотите видеть комментарий то в окне Торговля - правой кнопкой тынц - ставим галочку напротив пункта Комментарии. То же самое проделать и во вкладке История счета.
magic -магик к ордеру, чтоб сова узнавала свои, использовать необязательно -нужен только для отслеживания работы совы на таких сервисах как fxbook и т.п. если на одном счету работают разные советники
Lot - размер лота.
Фильтры на вход, выход и на доливки:
Trend_MA_F_period- трендовый фильтр основанный на МА, 0-выкл, 1 и далее...95..200..период МА, MA0<MA1 разрешено открытие толькл Sell, MA0>MA1 только Buy.
MA_F_metod - метод МА используемой в качестве трендфильтра:0-SMA; 1-EMA; 2-SMMA; 3-LWMA
Рекомендую использовать период МА 95 и метод SMMA, но может вы найдёте и более оптимальные варианты.
MA_F__stop- выход по МА: безусловное закрытие всех ордеров если MA0<MA1 для Buy или MA0>MA1 для Sell, соответственно будет работать только при использовании трендфильтра МА;
Ещё один фильтр - индикатор CCI
при
Start_CCI_Filtr=true и получении основного сигнала, Бай откроется только если CCI ниже
Start_CCI_level, соответственно Сел если CCI выше
Start_CCI_level доливки идут по той же схеме.
при
Stop_CCI_Filtr=1 ордера закроются не по обратному сигналу индикатора proba demark а при достижении CCI уровня
Stop_CCI_level, соответственно будет работать только при использовании Start_CCI_Filtr;
CCI_period - период индикатора CCI.
Dolivki - вкл/выкл доливок. Если
true, то после первого входа при повторном сигнале в ту же сторону будут делаться дополнительные входы таким же лотом, если
false, то после первого входа последующие сигналы на вход в ту же сторону игнорируются.
DolivLevel - опция, влияющая на доливки, отслеживает уровнь цены при очередной доливке: доливка будет осуществляться в том случае если цена на момент сигнала для доливки выше чем цена последнего открытого ордера для Cell и, соответственно, если цена на момент сигнала для доливки ниже чем цена последнего открытого ордера для Buy. 0-выкл, 1 и далее - минимальный шаг пунктов от последнего открытого ордера для открытия след.доливки
Martini - легкий мартингейл, работает при доливках, 0-выкл, если
=1, то лот с каждой доливкой увеличивает на величину перврначального лота: начальном лоте 0.1 лот=0.1,0.2,0.3,0.4 и т.д., если
>1 -геометр.прогрессия - каждый последующий лот будет равен предыдущему умноженному на введённое число, например при =2 и начальном лоте 0.1 лот=0.2,0.4,0.8,0.16 и т.д.
MartinStep -номер доливки, начиная с которой начнёт увеличиваться лот.
HardVirtSL - если
true, то при срабатывании VirtSL сова выводит сообщение:
"ПРОИЗОШЛА КРИТИЧЕСКАЯ ПРОСАДКА, РОБОТ ОСТАНОВЛЕН"
и останавливается до ручного перезапуска. Поможет не слить депо если всё пошло не так как нам хочется.
VirtSL - виртуальный стоплосс
VirtTP - виртуальный тейкпрофит,
значения задаются в валюте депозита.
Tral - виртуальный трал: 0-выкл, 1-в пунктах, 2-в валюте депозита, можно тралить как "-" так и "+" , начиная от 1 пункта.
TrailingStart - уровень профита в пунктах или в валюте депозита, при достижении которого включается трал.
TrailingStop - уровень профита в пунктах или в валюте депозита, ниже которого трал не даст опуститься прибыли.
Поясню: при достижении всеми открытыми ордерами определённого уровня (TrailingStart) в пунктах или в валюте депозита происходит включение вирттрала и выставляется общий виртуальный стоп на определённом расстоянии(TrailingStop) пунктов или суммы в валюте депозита от текущего значения профита. Если цена идёт дальше в нашу сторону,то общий виртуальный стоп постоянно подтягивается за ценой. Если пошло против нас, то трал закроет все ордера как только цена откатится на количество пунктов или сумму указанное в TrailingStop.
Добавлен вывод на экран информации о текущем состоянии профита и трала.