PDA

View Full Version : Советник FXOpen.Pattern1-2-3



MaxZ
04-23-2013, 06:54 AM
Здравствуйте.

Вот он этот советник, который очень похож на советник FXOpen.Recoil+Lavina (http://forum.fxopen.ru/showthread.php?92601-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-FXOpen-Recoil-Lavina&p=1529963&viewfull=1#post1529963). Обещал...

Подобная идея ещё использовалась в Моём советнике на ATC2011. Малость переделал её, напичкал переменными и получилось что-то ещё более универсальное! :) Ещё бы пригодное для торговли... :D

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


Общие настройки:
- Risk, параметр для использования динамического лота (используется (Risk*100)% от свободных средств);
- Lots, объём для открываемого ордера;
- FixedSLandTP, true - используем фиксированные уровни StopLoss'а и TakeProfit'а (задаются в пунктах), false - используем относительные уровни StopLoss'а и TakeProfit'а (задаётся в процентах/100);
- StopLoss, уровень StopLoss'а;
- TakeProfit, уровень TakeProfit'а;
- Magic, магическое число для открываемого ордера;
- Slippage, проскальзывание;
- MarketExecution, true - исполнение "Market Execution", false - исполнение "Instant Execution";

Настройки торгового алгоритма:
- MinDelta, минимальная ширина диапазона (задаётся в пунктах);
- MaxDelta, максимальная ширина диапазона (задаётся в пунктах);
- LevelCorrection, уровень коррекции для сигнала (от 0.0 до 1.0);
- ModeForNewPattern, режим для нового паттерна;
- ModeBreakout, true - открываем ордер на пробой, false - открываем ордер на отбой;
- CloseOnReverseSignal, true - закрываем ордера по обратному сигналу или стоп-приказу, false - закрываем ордера только по стоп-приказу;

Прочие настройки:
- ShowLines, показывать вспомогательные линии;
- ShowDelta, выводить на экране ширину диапазона.

Теперь попробую пояснить принцип работы советника.

Пусть MinDelta = 15, LevelCorrection = 0.5, ModeForNewPattern = 1, ModeBreakout = false.

Запустим советника в тестере стратегий и что Мы видим?

25185

А видим Мы диапазон, ограниченный максимумом сверху (синяя линия) и минимумом снизу (красная линия). Так же в левом верхнем углу выводится ширина диапазона.

Как только диапазон расширяется до величина MinDelta, появляется уровень коррекции (зелёная линия) на уровне LevelCorrection*100% от границы, которую Мы пробивали последней.

25184

Допустим цена опустилась ниже зелёной линии, тогда будет открыт ордер на покупку.

25183

Если цена не доходит до уровня коррекции, а ширина диапазона становится больше, чем MaxDelta, диапазон схлопывается до нуля и начинается всё заново.

После открытия ордера диапазон сужается. Как сузится диапазон, зависит от переменной ModeForNewPattern.

Если ModeForNewPattern = 1, то:
- для Buy нижняя граница (красная линия) переместится к цене;
- для Sell верхняя граница (синяя линия) переместится к цене.

Если ModeForNewPattern = 2, то:
- для Buy верхняя граница (синяя линия) переместится к цене;
- для Sell нижняя граница (красная линия) переместится к цене.

Если ModeForNewPattern имеет другое значение, то ширина диапазон схлопывается до нуля.

Пояснение параметра ModeForNewPattern может показаться на первый взгляд запутанным, но возможны ведь всего три режима и с ними Вы легко разберётесь при помощи визуального тестирования.

P.S.: не ставьте слишком маленькое значение MinDelta, а то будет вылетать ошибка 130. Если такая ошибка вылетает, то увеличивайте MinDelta. Хотя причина ошибки 130 может быть и не в параметре MinDelta. Чтобы исключить ошибку 130, нужно разобраться с принципом работы советника в режиме визуального тестирования!!!

ФУНКЦИЯ ДЛЯ ПОЛУАВТОМАТИЧЕСКОЙ ТОРГОВЛИ!!! Если включено отображение линий (переменная ShowLines выставлена в true), то советнику не страшна переинициализация. И более того, если кинуть две горизонтальные линии на график и одной дать имя "H", а другой "L", а затем кинуть советника на график, то он подсчитает эти линии своими и будет работать относительно их.

ВНИМАНИЕ!!! Советник не предназначен для реальной торговли. Только для тестирования. На демо тоже можно поставить, но нет блока обработки ошибок. Так что можете очень поднадоесть серверу частыми ошибочными запросами!

С уважением, Максим З..