Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
25439
Рейтинг:
(31)
Опубликован:
2005.11.29 12:06
Обновлен:
2014.04.21 14:52
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

Trade - script sending BUY order and printing selected order data to the log.

Heiken Ashi Heiken Ashi

Пример реализации пользовательского индикатора с использованием метода Heiken Ashi.

Конвертер периодов Конвертер периодов

Предназначен для создания нестандартного периода символа на основе использования стандартного периода

Average Directional Movement Index, ADX Average Directional Movement Index, ADX

Индикатор Индекс Среднего Направления Движения (Average Directional Movement Index, ADX) помогает определить наличие ценовой тенденции.