Советник "EXP-DFA" Многофункциональный советник для MetaTrader 4 В основу алгоритма этого советника положен принцип многофункциональности. Советник может работать в трех различных режимах, которые можно самостоятельно переключать. В качестве торговых сигналов используются показания индикатора DigitalFilterA. Алгоритм этого индикатора построен на базе высокоэффективного цифрового фильтра. Уникальный алгоритм цифровой фильтрации позволяет получать своевременные торговые сигналы, а также дает возможность объективной оценки текущей ситуации при проведении технического анализа. Индикатор одинаково хорошо может использоваться как на младших периодах, так и на старших. В отличие от обычных классических индикаторов, метод цифровой фильтрации позволяет значительно уменьшить фазовое запаздывание, что в свою очередь позволяет получать четкий сигнал раньше, чем при использовании других индикаторов. При анализе советник может использовать данные с текущего и более старшего периодов, что обеспечивает надежность получаемых сигналов. Для оптимизации параметров применен уникальный алгоритм, который в разы ускоряет процесс оптимизации, что очень важно для оперативной подстройки параметров торговой системы. Советник может работать одновременно в двух направлениях - на покупку и продажу. При необходимости советник можно настроить на работу только в одном из направлений. Доходность и риски можно четко контролировать, изменяя режимы работы советника. Режимы работы Объем стартового ордера рассчитывается автоматически при включении функции пропорционального расчета. Если цена движется против позиции, то автоматически открывается усредняющий ордер (если функция усреднения включена). Алгоритм усреднения может гибко регулироваться, для этого имеются специальные входные параметры. При необходимости алгоритм пропорционального расчета объема и усреднения может быть отключен во входных параметрах советника. В таком случае советник будет работать по сигналам индикаторов с текущего и вспомогательного (старшего) таймфреймов, при этом риски будут минимальны. Принцип работы Сигналом для установки начальной позиции Бай или Селл является одновременное наличие двух составляющих сигналов. Первый сигнал берется с текущего графика в момент смены цвета индикатора, второй сигнал берется с дополнительного контрольного графика (старшего периода). В данном случае, значение имеет только цвет индикатора на контрольном графике. К примеру советник в работе может использовать сигналы текущего графика (H1) и контрольного (D1). При такой настройке, Бай откроется только если на D1 цвет соответствует данному направлению, и на H1 получена смена цвета в нужное направление. При открытии стартового ордера ему может быть также присвоен уровень СтопЛосс, который станет эталонным для всех последующих усредняющих ордеров этого же направления. Объем стартовой позиции вычисляется согласно специальных параметров, пропорционально текущего депозита. После открытия стартового ордера могут быть открыты дополнительные усредняющие позиции, того же направления, что и стартовая (если соответствующие параметры включены). Для открытия усредняющих позиций, достаточным является наличие только смены цвета на текущем графике, и соответствие специальным параметрам. При открытии усредняющего ордера, для него вычисляется уровень ТейкПрофит, который равен предыдущему уровню умноженному на специальный коэффициент. Уровень ТейкПрофит установленный для последнего усредняющего ордера становится эталонным для всей группы ордеров того же направления. При открытии усредняющего ордера, для него также вычисляется объем, который зависит от величины уровня ТейкПрофит и общего объема всей группы. Объем усредняющего ордера вычисляется по специальной формуле, и всегда равен такому значению, чтобы в случае закрытия всей группы ордеров, общая прибыль была приблизительно равна той прибыли, которую мы получили бы при закрытии стартового ордера по его первоначальному уровню ТейкПрофит. Оба направления Бай и Селл работают независимо друг от друга. Направления можно включать и отключать в параметрах советника. Тестирование и оптимизация В настройках советника есть дополнительные параметры, которые нужны для проведения оптимизации или тестирования. Использование данных параметров, позволяет значительно сократить время затрачиваемое на проведение оптимизации или тестирования в тестере стратегий. Экономия происходит за счет специального уникального алгоритма, который создает временную базу всех сигналов за выбранный тестовый период времени. В последствии, при оптимизации используется эта база сигналов, а индикатор в таком случае не используется вообще, за счет чего и экономится значительная часть системных ресурсов, что в разы ускоряет работу программы. Использование данных параметров не является обязательным, советник также может оптимизироваться и тестироваться с использованием индикатора, без применения базы сигналов, но в таком случае на оптимизацию и тестирование будет затрачиваться значительно больше системных ресурсов, что в значительной мере замедлит работу программы. Для проведения оптимизации или тестирования (в случае использования специального режима экономии системных ресурсов) необходимо предварительно подготовить базу сигналов. Для этого нужно включить соответствующий параметр (History установить true), и осуществить один холостой прогон советника по всему тестовому периоду. Модель тестирования для подготовки базы сигналов можно использовать самую точную или по контрольным точкам. После подготовки базы сигналов нужно включить другой специальный параметр (Optimization установить true), а предыдущий параметр вернуть в выключенное состояние (History установить false), после этого можно приступить к оптимизации или тестированию. Оптимизацию можно проводить с использованием модели по ценам открытия, что также значительно сокращает время затрачиваемое на проведение оптимизации. Оптимизацию можно проводить следующим образом. Так как работа в направлении Бай и Селл работает независимо друг от друга, то и оптимизацию нужно проводить отдельно для каждого направления, выключая перед оптимизацией ненужное направление в настройках советника. Первыми желательно оптимизировать два основных параметра "TP_buy" и "TPK_buy" (для направления Селл имеются аналогичные параметры), эти параметры нужно оптимизировать одновременно. Оставшимся параметрам группы нужно установить значение "0" и оптимизировать их позднее. Для оптимизации первых двух основных параметров нужно установить значения Старт, Шаг и Стоп в настройках тестера стратегий. Для "TP_buy" Старт можно установить 200, Шаг 10, Стоп 2000. Для "TPK_buy" Старт 1, Шаг 1, Стоп 2000. Данные значения указаны для текущего периода графика H1 контрольного D1, число знаков после запятой (в котировках) 5. В параметрах тестирования, в первой вкладке, необходимо задать значение стартового баланса для оптимизируемой группы, равный приблизительно половине стартового баланса, который будет использован для работы обоих групп (Бай и Селл) одновременно. Таким образом находятся оптимальные значения основных двух параметров, сначала для Бай группы, затем для Селл группы. После того как основные два параметра оптимизированы для обоих групп, можно приступить к оптимизации остальных параметров групп. Остальные параметры групп Бай и Селл желательно оптимизировать по одному одноименному параметру из двух групп одновременно, то есть "OPK_buy" оптимизировать вместе с "OPK_sell", и т.д. Значения Старт, Шаг, Стоп можно задавать аналогичным образом. Для параметра "OPK_buy" Старт 10, Шаг 10, Стоп 2000. Для "SL_sell" Старт 10, Шаг 10, стоп 10000. Параметры "Max_buy" и " Max_sell " можно оптимизировать последними, также одновременно для групп Бай и Селл. Для проведения оптимизации желательно использовать генетический алгоритм, который нужно включить в настройках тестера. Входные параметры Basic Parameters § MagicNumber - уникальный номер ордеров. § Start Time - время начала торговли. § Stop Time - время окончания торговли. § Drawdown - ограничение начала встречной серии при заданной просадке. Если в процессе торговли начата серия Бай или Селл и при этом достигнута заданная просадка, то встречная серия уже не откроется до завершения уже начатой серии. § Balance - баланс для пропорционального расчета объема стартовой позиции. При значении "0" функция отключается и объем стартовой позиции будет равен параметру "Lots". § Lots - эталонный объем для пропорционального расчета объема стартовой позиции. § OffMM - отключение алгоритма увеличения объема при усреднении серии. Если параметр включен, то все позиции открываются с одинаковым объемом. § Slippage - максимальное отклонение от запрошенной цены в пунктах при открытии и закрытии рыночных позиций. Группа параметров для покупки § Buy - разрешение открытия позиций на покупку. § Max_buy - максимально допустимое количество одновременно открытых позиций на покупку. § SL_buy - СтопЛосс стартовой позиции в пунктах. § TP_buy - эталонный уровень ТейкПрофит стартовой позиции в пунктах. § OPK_buy - величина отступа от крайней позиции на покупку в пунктах для установки следующей позиции. § TPK_buy - коэффициент для изменения уровня ТейкПрофит усредняющей позиции в процентах от параметра "TP_buy". Группа параметров для продажи § Sell - разрешение открытия позиций на продажу. § Max_sell - максимально допустимое количество одновременно открытых позиций на продажу. § SL_sell - СтопЛосс стартовой позиции в пунктах. § TP_sell - эталонный уровень ТейкПрофит стартовой позиции в пунктах. § OPK_sell - величина отступа от крайней позиции на продажу в пунктах для установки следующей позиции. TPK_sell - коэффициент для изменения уровня ТейкПрофит усредняющей позиции в процентах от параметра "TP_sell". § MarketExecution - установку уровней СтопЛосс и ТейкПрофит для рыночных ордеров производить после открытия ордеров. § History - включение режима подготовки базы сигналов для проведения последующей оптимизации или тестирования в тестере стратегий. § Optimization - включение специального режима оптимизации или тестирования. Этот режим значительно снижает потребление системных ресурсов, что в существенной степени уменьшает время, затрачиваемое на проведение оптимизации или тестирования. В этом режиме вместо индикатора для определения сигналов используется подготовленная база сигналов. § Maximal drawdown - максимально-допустимая просадка, в процентах от текущего баланса счета. При достижении заданного значения, закрываются все позиции которые были открыты советником, после этого торговля начинается с начала. Trailing Stop § Use Trailing Stop - включение функции Trailing Stop. При значении false, функция Trailing Stop не работает. § Trailing Stop level - как только прибыль в пунктах становится равной либо большей указанного уровня, автоматически выдается команда на установку ордера Стоп Лосс. Уровень ордера устанавливается на указанном расстоянии от текущей цены. Далее, если цена движется с увеличением прибыльности позиции, трейлинг стоп автоматически передвигает Стоп Лосс за ценой. Если прибыльность позиции уменьшается, модификации ордера не происходит. § Trailing Stop step - шаг в пунктах. Indicator Inputs § TFC - период графика, используемый для индикатора с целью определения текущего глобального направления движения цены. Common Parameters § Alerts - сообщения о торговых операциях. § Comments - комментарии при работе с торговым сервером. § Sounds - звуковые сигналы при совершении торговых операций. § Visualization - визуализация торговых операций на графике. Контакты Если у вас есть дополнительные вопросы я всегда буду рад ответить на них. § E-mail: boris-sedov@yandex.ru § Skype: BorisMQL4 Желаю всяческих успехов на финансовых рынках! EA使用:EURJPY,EURUSD,GBPUSD 挂H1
|