Советник 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 |
|