MQL4 - automated forex trading   /  

Code Base

Code Base  Советники  Moving Average Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый код

Этот индикатор для
MetaTrader 4

Мобильный трейдинг!
Купите лицензию и торгуйте мобильно

Имя:
Moving Average
Автор: MetaQuotes (29.11.2005 13:06)
Рейтинг: 10
Скачано: 15431
Скачать:
 Moving Average.mq4 (4.6 Kb) View
 Moving Average TesterGraph.gif (3.7 Kb)
 pic.png (36.7 Kb)

    Советник Moving Average для формирования торговых сигналов использует одну скользящую среднюю. Открытие и закрытие позиций происходит, когда скользящая средняя пересекает цену на только-что сформировавшемся баре (индекс бара равен 1). Размер лота оптимизируется по специальному алгоритму.

    Советник анализирует пересечение скользящей средней и рыночного графика цены. Проверка проводится функцией CheckForOpen(). Если скользящая средняя пересекает бар так, что она выше цены Open и ниже Close, то открывается позиция BUY. Если скользящая пересекает бар так, что линия ниже Open и выше Close, то происходит продажа.

    В советнике применен очень простой, но эффективный Money Management: способ управления объемом каждой позиции в зависимости от результатов предыдущих сделок. Указанный алгоритм реализуется функцией LotsOptimized(). Расчет базового размера лота происходит на основе максимально допустимого риска:

    lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);

    Параметр MaximumRisk показывает базовое процентное значение риска на каждую сделку. Обычно принимает значение от 0.01 (1%) до 1 (100%). Например, если свободные средства (AccountFreeMargin) равны $20500 и правила управления капиталом рекомендуют использовать риск 2%, то размер базового лота будет 20500 * 0.02 / 1000 = 0.41. Очень важно контролировать точность размера лота и явно выравнивать результат до допустимых значений. Обычно допустимы дробные лоты с шагом 0.1. Сделка с объемом равным 0.41 не исполнится. Для выравнивания используется функция NormalizeDouble() с точностью до 1 знака после запятой. В результате получается базовый лот равным 0.4. Расчет базового лота на основе свободной маржи позволяет увеличивать объем операций в зависимости от успешности торговли, то есть вести торговлю с реинвестированием средств. Это есть базовый механизм при обязательном управлении капиталом для повышения эффективности трейдинга.

    DecreaseFactor - степень уменьшения размера лота после неудачного трейда. Обычные значения - 2,3,4,5. Если предыдущие сделки были убыточными, то последующие объемы уменьшаются в DecreaseFactor раз, чтобы переждать неудачный период. В алгоритме управления капиталом это самый главный фактор. Идея очень простая: если торговля идет успешно в плюс, то советник работает базовым лотом, зарабатывая по максимуму. После первой же убыточной сделки "сбавляет обороты" до тех пор, пока не проведет положительную сделку. Алгоритм позволяет отключить "сбавление оборотов", если указать DecreaseFactor = 0. В истории сделок подсчитывается количество последних подряд идущих убыточных сделок. На их основе производится перерасчет базового лота:

    if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

    Таким образом алгоритм позволяет эффективно снизить риск из-за череды предыдущих неудачных сделок.

    В конце функции производится обязательная проверка на минимально допустимый размер лота, так как в результате ранее проведенных расчетов можно получить lot = 0:

    if(lot<0.1) lot=0.1;

    Советник предназначен главным образом для работы на дневном периоде, а в режиме тестирования - по ценам закрытия. Советник торгует только при открытии нового бара, поэтому режимы детального потикового моделирования использовать не нужно.

    Результаты тестирования советника представлены в отчете.

Strategy Tester Report

Moving Average


СимволEURUSD (Euro vs US Dollar)
Период1 Час (H1) 2003.01.08 00:00 - 2003.11.25 00:00
МодельВсе тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
ПараметрыLots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11;

Баров в истории19368Смоделировано тиков656915Качество моде

лирования

25.00%

Начальный депозит10000.00



Чистая прибыль1695.20Общая прибыль4293.20Общий убыток-2598.00
Прибыльность1.65Матожидание выигрыша10.80

Абсолютная просадка40.35Максимальная просадка (%)318.50 (3.0%)


Всего сделок157Короткие позиции (% выигравших)73 (26.03%)Длинные позиции (% выигравших)84 (32.14%)

Прибыльные сделки (% от всех)46 (29.30%)Убыточные сделки (% от всех)111 (70.70%)
Самая большаяприбыльная сделка262.55убыточная сделка-91.00
Средняяприбыльная сделка93.33убыточная сделка-23.41
Максимальное количествонепрерывных выигрышей (прибыль)2 (387.15)непрерывных проигрышей (убыток)7 (-287.25)
Максимальнаянепрерывная прибыль (число выигрышей)387.15 (2)непрерывный убыток (число проигрышей)-287.25 (7)
Среднийнепрерывный выигрыш1непрерывный проигрыш3
3 комментария  Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый комментарий
Почему открывается  и ведется до конца только одна сделка?Может кто сделать, чтобы сделки, как и цена вращались вокруг МА, чтобы открытие(закрытие) покупки сменялось закрытием (открытием) продажи?
22.07.2008 18:50 Sergey007
ничего хорошего в нем нет - сплошной слив
21.07.2008 22:12 mpeugep
 ВВВВВаааууу!!!    Очень хороший советник! Мне он больше всего нравиться. Ежемесечно около 20000 долларов!!!!!  -Ухх!
04.06.2008 14:03 burs