Forex Форум MT5 | Форум трейдеров рынка Форекс

"зоны разворота" - почему так

Итак, по порядку. На днях, как говорится  с «группой товарищей» обсуждал работу советника Agent_SB_014, а точнее функцию усреднения. 














Точнее, что эффективнее использовать для спасения просевшей позиции, усреднение или локировние. Результатом дискуссии было уничтожение кофейных запасов в доме и отсутствие однозначного ответа на поставленный вопрос. По общему мнению, усреднение сложнее в психологическом плане, когда нужно открывать позицию аналогичную убыточной. Но есть и свои плюсы, для реализации усреднения цена должна пройти гораздо меньшее расстояние, чем при локировании. Также усредняться можно ордером с объёмом равным просевшему, а для лока нужен больший объём. Поэтому пока решил оставить в советнике всё как есть, но кое-какие мысли уже появились, а так как после выпитого кофе сна не было, решил помучать оптимизатор. Тем более было несколько поводов для этого.
Во-первых хотел посмотреть как работает такая система ( «Как получить Качество Моделирования 99% в Тестере Стратегий Metatrader4» = http://tradelikeapro.ru/2011/03/12/kak-poluchit-kachestvo-modelirovaniya-99/ ) скажу сразу, что работает она хорошо и самое главное, тестирование происходит в несколько раз быстрее.

Советник у меня не пипсовщик и вполне можно обойтись без такого качества моделирования ( http://forexsystems.ru/274527-post669.html ), но ради эксперимента стоило попробовать.
Так вот, чтобы зря не гонять компьютер решил провести оптимизацию советника на август месяц. Но в этот раз решил ещё оптимизировать параметр :
enlarge_lot = 5;         // Кратность объема усредняющего ордера
Вот тут и появляется информация «для подумать», картинка с «зонами разворота» получилась вполне стандартная.

Построил трёхмерную диаграмму.
Но вот когда начал смотреть табличные данные, то обратил внимание, то значительной разницы от изменения enlarge_lot не происходит.

Тогда решил провести оптимизацию с минимальным значением enlarge_lot если честно, то я планировал увидеть в результатах изменение зоны разворота. Это казалось мне логичным, ведь усредняющий ордер меньшего объёма и поэтому цена при развороте должна пройти большее расстояние, чтобы компенсировать просадку. Но результаты оптимизации оказались полной неожиданностью.
Поразительно, но уровень «зоны разворота» в обоих случаях почти одинаковый, также практически совпадает и параметр :
zone = 11;       // Уровень просадки, при котором сработает функция усреднения

Пока знаю одно, придётся пополнять запасы кофе и с «группой товарищей» пытаться понять и объяснить природу «зоны разворота»….



Индикатор движения цены

Вот всё таки соорудил небольшой индикатор.

Хочу чтобы желающие протестировали его так сказать "в слепую".

Поэтому описывать на чём основана работа индикатора не буду.













А принцип его работы следующий.

Во первых, индикатор работает только в реальном времени, никаких исторических данных он не сохраняет и не показывает.

Запускать индикатор можно на любом таймфрейме и любом инструменте.
При запуске индикатора, возле текущего бара появится надпись "рынок спокоен", надпись будет следовать за ценой и поэтому всегда будет в поле зрения.
Если возникнут предпосылки для резкого движения цены, индикатор выдаст звуковой сигнал и соответственно изменит надпись. Подчёркиваю, что сигналить будет индикатор накануне движения цены, а не выдавать информацию постфактум, в этом плюс индикатора, минус в том, что он не может указывать направление движения. Но если тестирование пройдёт удачно тогда будем думать о способах определить направление.


Вот так выглядит индикатор на чарте.
А здесь можно скачать сам файл с индикатором для тестирования.
i-Agent_001.ex4 на upload.com.ua
Вот утром начал пищать индикатор, во сколько точно - не знаю т.к. прикрутил на ночь громкость.



это сделал скрин уже после сигнала.




Вот сегодня было ещё несколько сигналов от индикатора...




анализ работы функций

Недавно, общаясь на форуме http://forexsystems.ru/ пришлось проводить небольшой анализ работы советника, точнее влияния включённых функций на его работу. 


Полученные результаты, на мой взгляд, довольно интересные и дают повод для размышлений при проектировании других торговых систем.

Поэтому результаты решил выложить здесь в блоге.
Для начала в советнике установил "средне потолочные" настройки, т.к. в данном случае будем сравнивать влияние некоторых функций на работу системы и её прибыльность.
«Средне потолочные» настройки — это не оптимальные настройки, значения выбирались эмпирическим путём, чтобы исключить вероятность подгонки результатов.
Базовый результат — первый прогон советника со "средне потолочными" настройками все дополнительные функции ОТКЛЮЧЕНЫ.

1--контрольный прогон...

Символ
GBPUSD (Great Britain Pound vs US Dollar)
Период
30 Минут (M30) 2011.01.03 00:00 - 2011.06.24 22:30 (2011.01.03 - 2011.06.25)
Модель
Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
Параметры
block_01=" блок ОСНОВНЫХ настроек "; SL=380; TP=20; lot=0.05;
muv_poz=true; dubl_muv=false; muv_level=150; zone=11; pips_prof=0; enlarge_lot=5;
block_02=" блок ДОПОЛНИТЕЛЬНЫХ настроек "; mm=false; flet_lev=7; flet_delta=2;


Баров в истории
6960
Смоделировано тиков
8234136
Качество моделирования
90.00%
Ошибки рассогласования графиков
0








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








Чистая прибыль
-759.96
Общая прибыль
17326.30
Общий убыток
-18086.26
Прибыльность
0.96
Матожидание выигрыша
-0.59




Абсолютная просадка
1377.24
Максимальная просадка
4888.95 (35.46%)
Относительная просадка
35.46% (4888.95)
Всего сделок
1297
Короткие позиции (% выигравших)
627 (89.31%)
Длинные позиции (% выигравших)
670 (87.31%)

Прибыльные сделки (% от всех)
1145 (88.28%)
Убыточные сделки (% от всех)
152 (11.72%)
Самая большая
прибыльная сделка
62.50
убыточная сделка
-583.89
Средняя
прибыльная сделка
15.13
убыточная сделка
-118.99
Максимальное количество
непрерывных выигрышей (прибыль)
55 (598.93)
непрерывных проигрышей (убыток)
10 (-1242.54)
Максимальная
непрерывная прибыль (число выигрышей)
598.93 (55)
непрерывный убыток (число проигрышей)
-1724.22 (5)
Средний
непрерывный выигрыш
9
непрерывный проигрыш
1


В дальнейшем настройки не менялись, а только подключались функции.

2--теперь включим только "управление капиталом"
Ну тут хотя бы без убытков ....

3--теперь попробуем только "Двойное усреднение"
картинка намного веселее..

4--попробуем включить сразу две функции "Двойное усреднение" и "Управление капиталом"

Символ
GBPUSD (Great Britain Pound vs US Dollar)
Период
30 Минут (M30) 2011.01.03 00:00 - 2011.06.24 22:30 (2011.01.03 - 2011.06.25)
Модель
Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
Параметры
block_01=" блок ОСНОВНЫХ настроек "; SL=380; TP=20; lot=0.05;
muv_poz=true; dubl_muv=true; muv_level=150; zone=11; pips_prof=0; enlarge_lot=5;
block_02=" блок ДОПОЛНИТЕЛЬНЫХ настроек "; mm=true; flet_lev=7; flet_delta=2;
Баров в истории
6960
Смоделировано тиков
8234136
Качество моделирования
90.00%
Ошибки рассогласования графиков
0








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








Чистая прибыль
15369.71
Общая прибыль
54881.22
Общий убыток
-39511.51
Прибыльность
1.39
Матожидание выигрыша
11.67




Абсолютная просадка
4634.31
Максимальная просадка
11772.99 (47.65%)
Относительная просадка
49.81% (5325.02)
Всего сделок
1317
Короткие позиции (% выигравших)
640 (88.91%)
Длинные позиции (% выигравших)
677 (87.44%)


Прибыльные сделки (% от всех)
1161 (88.15%)
Убыточные сделки (% от всех)
156 (11.85%)
Самая большая
прибыльная сделка
937.50
убыточная сделка
-1029.45
Средняя
прибыльная сделка
47.27
убыточная сделка
-253.28
Максимальное количество
непрерывных выигрышей (прибыль)
55 (1624.84)
непрерывных проигрышей (убыток)
10 (-3727.62)
Максимальная
непрерывная прибыль (число выигрышей)
1624.84 (55)
непрерывный убыток (число проигрышей)
-3727.62 (10)
Средний
непрерывный выигрыш
8
непрерывный проигрыш
1

КАК БЫ УПРАВЛЕНИЕ КАПИТАЛОМ...

В этом месяце я уже писал о попытке добавить  в советник функцию управления капиталом  "новые функции..." Но мне показалось, что я не  совсем корректно пытаюсь определять  состояние флета.













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

extern int flet_lev = 7;             // Минимальное колличество ордеров для определения флета
extern int flet_delta = 2;         // Приращение ордеров до максимума флета
//+------------------------------------------------------------------+
//|     ========================================================     |
//|     ========== ФУНКЦИЯ УПРАВЛЕНИЯ КАПИТАЛОМ ============     |
//|     ========================================================     |
//+------------------------------------------------------------------+                
void mm_lots() {
ml = 0;
for (z=0; z<=OrdersTotal(); z++) {
                if (OrderSelect(z, SELECT_BY_POS, MODE_TRADES)) {
//              if (OrderSymbol()==Symbol() && (OrderType()==OP_SELL || OrderType()==OP_BUY)) ml = ml+1;
                if (OrderSymbol()==Symbol()) ml = ml+1;
                }              }             
if (ml <= flet_lev) lots = lot;   

if (ml > flet_lev && ml < (flet_lev+flet_delta)) lots = lot*2;

if (ml >= (flet_lev+flet_delta)) lots = lot*3;
return(lots);
}
Для кого MQL не родной язык, переведу выше написанное.
В процессе работы советника, пока общее колличество ордеров меньше flet_lev открываются позиции с начально заданным объёмом. Но когда колличество открытых ордеров становится больше значения flet_lev – тогда объём вновь открываемых ордеров увеличивается в двое. Если флет продолжается и колличество открытых ордеров превысит значение flet_lev+ flet_delta тогда новые ордера будут открываться с утроенным объемом.
Когда начнётся движение и начнут срабатывать «стопы» и «тейки» (второе предпочтительнее...) соответственно колличество открытых ордеров уменьшится и новые позиции советник будет открывать с начально заданным объёмом.

            Но это всё теория, а хочется посмотреть как будет вести себя советник в деле, но пока только в тестере стратегий терминала.
            Для сравнения, сделал прогон советника за период  03.01.2011 года по 10.06.2011 года без управления капиталом...

  
Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





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




Чистая прибыль
3427.64
Общая прибыль
23053.47
Общий убыток
-19625.83
Прибыльность
1.17
Матожидание выигрыша
3.12


Абсолютная просадка
2902.31
Максимальная просадка
5180.52 (42.19%)
Относительная просадка
42.19% (5180.52)

Потом не меняя настроек, только включил функцию управления капиталом, значения для неё взял на основе логических рассуждений и наблюдений... 
extern int flet_lev = 7;            // Минимальное колличество ордеров для определения флета
extern int flet_delta = 3;         // Приращение ордеров до максимума флета

получил следующий результат...
   
Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





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




Чистая прибыль
13783.92
Общая прибыль
44922.06
Общий убыток
-31138.14
Прибыльность
1.44
Матожидание выигрыша
12.53


Абсолютная просадка
1678.46
Максимальная просадка
7404.88 (28.54%)
Относительная просадка
33.93% (4274.12)

Довольно существенно увеличилась прибыль и что ещё порадовало – уменьшение просадки....

Экспериментируя дальше, решил провести оптимизацию. Для оптимизации выбрал только параметры управления капиталом и запустил в тестере на всём отрезке с 03.01.2011 года по 10.06.2011 года. И вот результаты.


И весьма забавный график результатов.


Естественно попробывал работу советника с оптимальными настройками. 
extern int flet_lev = 5;            // Минимальное колличество ордеров для определения флета
extern int flet_delta = 4;         // Приращение ордеров до максимума флета


Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





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




Чистая прибыль
17111.93
Общая прибыль
52934.35
Общий убыток
-35822.43
Прибыльность
1.48
Матожидание выигрыша
15.56


Абсолютная просадка
2569.68
Максимальная просадка
8877.86 (29.35%)
Относительная просадка
43.31% (5676.33)

рекомендовать блог друзьям и знакомым