Статья: Новый взгляд на эквиобъемные графики

 
Опубликована статья Новый взгляд на эквиобъемные графики.

Цель данной статьи - добавить в арсенал терминала MetaTrader 4 еще один инструмент - эквиобъемные графики. Сразу оговорюсь, что реализованная эквиобъемность отличается от описанной Ричардом Армсом - у нас она будет заключаться в уравновешивании баров путем составления их из одинакового количества тиков. Таким образом, бар будет измеряться не временем (количеством минут), а количеством изменений цены.
Автор: Andrey Khatimlianskyi
 
Переехало из https://forum.mql4.com/ru/10391:

118
space_cowboy 22.01.2008 16:49

Komposter, какое у вас мнение о работе советников на равнообъёмный барах

Я вижу вы эту тему изучаете.

ответить

10588
komposter 22.01.2008 17:03
space_cowboy:

Komposter, какое у вас мнение о работе советников на равнообъёмный барах
Я вижу вы эту тему изучаете.

Вообще, это вопрос не совсем к месту (в этой теме), но я отвечу ;)
Не изучаю, и даже не пробовал тестировать (к своему стыду). Идея "витала в воздухе", и я ее реализовал. Те, кому она интересна - ее нашли.
ответить

334
granit77 22.01.2008 22:20
komposter: Не изучаю, и даже не пробовал тестировать (к своему стыду). Идея "витала в воздухе", и я ее реализовал. Те, кому она интересна - ее нашли.
Пробовал оба варианта. Систематических изысканий не производил, сейчас висит на демке вариант komposter'a. Пока внешне особых отличий не увидел. А невнятные ожидания были. Все равно спасибо, ребята, красивая идея, хорошая работа. P.S. Недавно цепляли вопрос о динамическом изменении числа тиков в баре, но так в воздухе и повисло.
ответить



10588
komposter 22.01.2008 22:36
granit77:
Пробовал оба варианта. Систематических изысканий не производил, сейчас висит на демке вариант komposter'a. Пока внешне особых отличий не увидел. А невнятные ожидания были. Все равно спасибо, ребята, красивая идея, хорошая работа. P.S. Недавно цепляли вопрос о динамическом изменении числа тиков в баре, но так в воздухе и повисло.
Надо бы в тестер загнать эти бары, демку ждать долго...
Вопроса о динамическом изменении кол-ва тиков не видел. Или имеется в виду разбиение баров по макс. амплитуде?

Давайте "переедем" в соответствующую тему - Статья: Новый взгляд на эквиобъемные графики - зачем портить эту? ;)
ответить
 

Идей много :-). Есть как динамически менять количество тиков в баре и как уйти от баров.

Давайте сначало хоть проверим улучшает это представление анализ или нет.

Прогнать стандартную МА(можно ваш любимый эксперт) по обыкновенному графику и по эквиобъемному и сравнить результаты. Если да улучшает, то нужно его доделать на случай обрыва связи и т.п. И идти дальше.

Как прогнать обыкновенный, вроде понятно и ясно. Не одну 100 раз делали. А вот методику как эквиобъемные подсунуть в тестер незнаю :-(

 
Prival:

Давайте сначало хоть проверим улучшает это представление анализ или нет.
...
А вот методику как эквиобъемные подсунуть в тестер незнаю :-(

Без вмешательства в код экви-эксперта - никак. Но вмешательства нужны небольшие ;)
Можешь попробовать сам (у меня сейчас напряги со временем):
Код в строках 31-45 надо заменить на следующий:
    // запоминаем символ графика, обнуляем хэндл окна off-line графика
    _Symbol = Symbol();
   hwnd = 0;
 
    // открываем файл, в который будем записывать историю
    string file_name = StringConcatenate( "СИМВОЛ_ГРАФИКА", "1.hst" );
    HistoryHandle = FileOpenHistory( file_name, FILE_BIN | FILE_WRITE );
    if ( HistoryHandle < 0 )
    {
        _GetLastError = GetLastError();
        Alert( "FileOpenHistory( \"", file_name, "\", FILE_BIN | FILE_WRITE )", " - Error #", _GetLastError );
        return(-1);
    }
 
    //---- Записываем заголовок файла
    FileWriteInteger    ( HistoryHandle, 400, LONG_VALUE );
    FileWriteString    ( HistoryHandle, "Copyright © 2008, komposter", 64 );
    FileWriteString    ( HistoryHandle, "СИМВОЛ_ГРАФИКА", 12 );
    FileWriteInteger    ( HistoryHandle, 1, LONG_VALUE );
Вместо "СИМВОЛ_ГРАФИКА" надо подставить (в 2-х местах) реальный символ, на котором будет вестись тестирование.
Перед запуском надо закрыть все графики по этому инструменту, закрыть терминал и удалить всю историю по этому символу.
Естественно, "СИМВОЛ_ГРАФИКА" должен отличаться от символа графика, на котором будет запускаться экви-эксперт.

Тестировать на подставленном символе, период М1, предварительно отключившись от интернета ;)
 
Prival: Прогнать стандартную МА(можно ваш любимый эксперт) по обыкновенному графику и по эквиобъемному и сравнить результаты. Если да улучшает, то нужно его доделать на случай обрыва связи и т.п. И идти дальше.
Так вариант space_cowboy предусматривает "конвертацию" данных истории в эквиобъемные графики,  с которыми  можно работать оффлайн, в том числе и с индикаторами. На куске демки c графиком komposter'a я запускал стандартные индикаторы, принципиальной разницы не заметил. Правда и задачи конкретной, что искать не было. Кстати, о динамическом изменении числа формирующих тиков (как всегда, мимоходом) говорил именно Prival.
 

Методика сравнения.

  1. Был создан простенький эксперт, на основе АМА 'Оптимизированная АМА Кауфмана : Perry Kaufman AMA optimized'
  2. Выбрана валюта EURUSD и период чемпионата 01.10.2007 – 23.12.2007
  3. Произведена оптимизация на этом периоде по простым барам, выбраны параметры дающие максимальную прибыль. Результаты представлены в таблице и на рис.1
  4. С помощью методики ('Построитель равнообъёмных баров') были созданы эквиобъемные бары. (komposter извини не получилось с твоим вариантом)
  5. Произведена оптимизация того же эксперта в том же диапазоне данных и параметров оптимизации. Результаты приведены в табл. И на рис.2. Выбран вариант дающий максимальную прибыль.
  6. Тестирование происходило лотом 0.1 в обоих вариантах

Рис.1

Рис.2


Выводы:

  1. Практически все параметры улучшились
  2. Прибыльность 1.68(1.42)
  3. Мож 11.10(6.11)
  4. Просадка 2.40%(3.91%) и т.д.
  5. Количество сделок уменьшилось 31(120), графики стали более плавные. Более точно можно производить анализ в точках катастроф (отмечены красными кругами)

Общий вывод такой вид графиков улучшает анализ котировок и дает некоторое преимущество по сравнению со стандартными барами. Можно двигаться дальше.


Просьба кто заинтересовался, проведите аналогичное сравнение работы эксперта (вашего или любого другого). И выложите результаты. Это даст уверенность в этих выводах. Надо исключить кривость рук и заблуждения. Одна голова ИХМО дурная, это плохо. Две уже лучше. А три это уже коллективный разум. Перепроверять надо.


На всякий случай прилагаю файл с таблицей и этими графиками. Хотя тут все и так видно

Файлы:
yrj.zip  209 kb
 
Вот мои тесты: эксперт на пересечении 2-х средних, без СЛ/ТП/ТС. Тест по ценам открытия.
Оптимизация по периодам средних: от 5 до 20 с шагом 3, и от 21 до 51 с шагом 5.
Лучший результат (по прибыли):

Обычный график Н1:
Баров в истории5979Смоделировано тиков6957Качество моделированияn/a

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



Чистая прибыль769.79Общая прибыль1542.12Общий убыток-772.33
Прибыльность2.00Матожидание выигрыша14.00

Абсолютная просадка39.00Максимальная просадка340.31 (3.26%)Относительная просадка3.26% (340.31)

Всего сделок55Короткие позиции (% выигравших)28 (53.57%)Длинные позиции (% выигравших)27 (62.96%)

Прибыльные сделки (% от всех)32 (58.18%)Убыточные сделки (% от всех)23 (41.82%)
Самая большаяприбыльная сделка183.45убыточная сделка-114.00
Средняяприбыльная сделка48.19убыточная сделка-33.58
Максимальное количествонепрерывных выигрышей (прибыль)6 (364.94)непрерывных проигрышей (убыток)4 (-276.76)
Максимальнаянепрерывная прибыль (число выигрышей)364.94 (6)непрерывный убыток (число проигрышей)-276.76 (4)
Среднийнепрерывный выигрыш2непрерывный проигрыш2




200 тиков в баре:
Баров в истории1734Смоделировано тиков3368Качество моделированияn/a

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



Чистая прибыль577.00Общая прибыль1249.00Общий убыток-672.00
Прибыльность1.86Матожидание выигрыша15.18

Абсолютная просадка82.00Максимальная просадка496.00 (4.75%)Относительная просадка4.75% (496.00)

Всего сделок38Короткие позиции (% выигравших)19 (42.11%)Длинные позиции (% выигравших)19 (47.37%)

Прибыльные сделки (% от всех)17 (44.74%)Убыточные сделки (% от всех)21 (55.26%)
Самая большаяприбыльная сделка284.00убыточная сделка-85.00
Средняяприбыльная сделка73.47убыточная сделка-32.00
Максимальное количествонепрерывных выигрышей (прибыль)6 (347.00)непрерывных проигрышей (убыток)5 (-154.00)
Максимальнаянепрерывная прибыль (число выигрышей)347.00 (6)непрерывный убыток (число проигрышей)-154.00 (5)
Среднийнепрерывный выигрыш2непрерывный проигрыш3


500 тиков в баре:
Баров в истории694Смоделировано тиков1288Качество моделированияn/a

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



Чистая прибыль722.00Общая прибыль1113.00Общий убыток-391.00
Прибыльность2.85Матожидание выигрыша32.82

Абсолютная просадка108.00Максимальная просадка292.00 (2.80%)Относительная просадка2.80% (292.00)

Всего сделок22Короткие позиции (% выигравших)11 (72.73%)Длинные позиции (% выигравших)11 (54.55%)

Прибыльные сделки (% от всех)14 (63.64%)Убыточные сделки (% от всех)8 (36.36%)
Самая большаяприбыльная сделка279.00убыточная сделка-85.00
Средняяприбыльная сделка79.50убыточная сделка-48.88
Максимальное количествонепрерывных выигрышей (прибыль)4 (574.00)непрерывных проигрышей (убыток)2 (-135.00)
Максимальнаянепрерывная прибыль (число выигрышей)574.00 (4)непрерывный убыток (число проигрышей)-135.00 (2)
Среднийнепрерывный выигрыш2непрерывный проигрыш1



Думаю, чтоб делать какие-то выводы этих тестов мало.
 

Рискну добавить ссылку на еще одну статью http://www.kroufr.ru/content/view/2680/124/

И мне кажется что разработчикам надо дать в MQL5 возможность работы с вневремнными (равнотиковыми барами). Хотя это и доставляет определенные проблемы с объемами загружаемой информации при подкачке данных

 
Vinin:

Рискну добавить ссылку на еще одну статью http://www.kroufr.ru/content/view/2680/124/

И мне кажется что разработчикам надо дать в MQL5 возможность работы с вневремнными (равнотиковыми барами). Хотя это и доставляет определенные проблемы с объемами загружаемой информации при подкачке данных



Может точнее будет не равнотиковыми, а с возможностью менять количество тиков, по какомуто заданному пользователем алгоритму. Равнотиковый при этом будет частным случаем. И вообще хотелось строить не просто бары или свечи. А что нибудь более совершенное, допустим элипсы.

Спасибо за ссылку.

 

Многие волновики используют FX AccuCharts

В этой программе можно штатно строить тиковый график и комбинировать из тикового потока равнотиковые графики ( по желаемому количеству тиков в баре).

Но к сожалению при каждом подключении тащит с сервера все котировки :(

Соответственно и траффик сильно растет.

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

 

Понравилась фраза в конце статьи по ссылке приведенной Vinin


« Графики основанные на времени, конечно, полезны для внутридневной торговли, но серьезные трейдеры склонны также полагать, что именно вневременные данные представляют собой основу для разработки краткосрочной стратегии.»


Не знаю, серьезный я трейдер или нет, но считаю что это нужно не только для краткосрочной стратегии, но и долгосрочной.


Считаю эту статью третьим подтверждением того что двигаемся в правильном направлении. И надо идти дальше.

Необходимо доработать этот инструмент по двум направлениям.


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

2. Доработать возможность сборки (построения такого графика) при условии обрыва связи, то есть заполнение дыр с помощью генерирования тиков по восстановленной минутке (ничего лучшего к сожалению у нас нет). Если бы разработчики помогли алгоритмом, по которому они генерируют тики внутри бара (минутки), было бы хорошо, что бы не изобретать велосипед. Можем взять их алгоритм за основу. Может у кого и идеи появятся как его улучшить. Ну или придумать самим.

3. ….