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

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

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

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

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













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

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

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


Вот так выглядит индикатор на чарте.
А здесь можно скачать сам файл с индикатором для тестирования.
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)

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