Автоматизация поиска оптимальных точек входов\выходов

 

Уважаемые коллеги!

Решила начать делать систему автоматической адаптации ТС под изменяющийся рынок, и сразу сталкнулась с необходимостью автоматического определения оптимальных точек входов\выходов для настройки параметров блока формирования торговых сигналов. С этой целью написала небольшую программу позволяющую производить автоматический поиск оптимальных точек входов\выходов и разметку графика по этим точкам для визуального анализа, и сохранение расчетных значений в файл для дальнейшей обработки системой. Подумала, что эта программа может быть полезна многим, кто разрабатывает ТС, особенно для автоматизации адаптации ТС, и в качестве исходных данных для обучения нейронных сетей, короче, кому интересно - пользуйтесь.

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

Описание содержимого архива:

1). Adept.exe - программа разметки;

2). FClose.csv - файл с данными Close создается Вами в индикаторе (обратите внимание на индексацию, она прямая, а не обратная как в МТ4);

3). Buy.csv - файл полученный для сигналов Buy, 1 строка - значения цен открытия, 2 строка - значения цен закрытия;

4). IBuy.csv - файл индексов к сигналам Buy, соответственно: 1 строка - к ценам открытия, 2 строка - к ценам закрытия;

5). Sell.csv - файл полученный для сигналов Sell, 1 строка - значения цен открытия, 2 строка - значения цен закрытия;

6). ISell.csv - файл индексов к сигналам Sell, соответственно: 1 строка - к ценам открытия, 2 строка - к ценам закрытия;

7). FN.csv - файл настроек, в первой строке устанавливается в пунктах используемого Вами инструмента значение минимального уровня с которого программа может принимать решение переходить с Buy на Sell, и наоборот, при соответствующем развитии тенденции котировок, во второй строке устанавливается в пунктах используемого Вами инструмента значение минимального уровня с которого программа может принимать решение закрыть позицию и ожидать завершения отката для переоткрытия в более лучших условиях, в третьей строке значение 1 - означает сохранение рассчитанных значений на диск, 0 - соответственно, отказ от сохранения, в четвертой строке 1 - означает построение графика полученного в результате расчета, 0 - соответственно, отказ от построения графика.

На ниже приведенных рисунках показаны результаты работы программы для двух различных параметров 1 и 2 строки настроечного файла.

Если будут какие пожелания по улучшению программы - высказывайте.

Файлы:
adept.rar  52 kb
 

Для этого существует ZigZag или я что-то неправильно понял?

 

Свет клином на зигзаге не сошелся. Трал лучший Open -> лучший High для buy / лучший Open -> лучший Low для sell.


 
Angela писал(а) >>

Уважаемые коллеги!

Решила начать делать систему автоматической адаптации ТС под изменяющийся рынок, и сразу сталкнулась с необходимостью автоматического определения оптимальных точек входов\выходов для настройки параметров блока формирования торговых сигналов.

Тут все этим пытаются заниматься. Поясните на пальцах Ваш способ определения точек. Картинки не информативны.

 

К зиг-загу это не имеет ни какого отношения, здесь используется совершенно другой принцип, нет порогов относительно которых нормируется цена, как в зиз-заге, расчет Buy и Sell производится отдельно. Я делала зиз-заги, но для этой моей задачи они не подходят. На выше приведенных рисунках плохо видно, ниже - более крупным масштабом:

Точки Buy и Sell могут не всегда следовать одна из другой. А также если тенденция не меняется, а происходят только корректирующие откаты, формируется последовательность одноименных сигналов с переоткрытием после отката для более выгодных условий. Я делала этот блок не для торговли, а как часть модуля самообучения и адаптации ТС к изменяющемуся рынку.

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

А с этим блоком, кому интересно - загрузите и экспериментируйте в соответствии со своими задачами. Ни каких гадостей в ехе-шнике нет, можете не беспокоиться.

 

выдает ошибку при открытий Adept.exe,ошибка показано на рисунке  

что за MCR?

 
zan писал(а) >>

выдает ошибку при открытий Adept.exe,ошибка показано на рисунке

что за MCR?

Добавьте себе в катклог где находится программа две библиотеки.

 
Angela писал(а) >>

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

Каков принцип синтеза? Типа Решетовского? Перебор готовых ТС? На какую глубину истории "смотрит" анализирующий блок?

 
Angela >>:

Добавьте себе в каталог где находится программа две библиотеки.

Просит еще библиотеку libmx.dll

 
FION писал(а) >>

Каков принцип синтеза? Типа Решетовского? Перебор готовых ТС? На какую глубину истории "смотрит" анализирующий блок?

Я не знакома с принципом Решетовского. Готовых ТС нет, и соответственно, нет никакого перебора, синтезируются новые фильтры в соотвествии с наиболее оптимальными условиями торговли после анализа эталлонных точек полученных вышеприведенным блоком. Интервал анализа - неделя. Если делать больший интервал, система будет слишком инерционной.

То VNIK: загрузите библиотеку, на моем компьютере все эти библиотеки есть, поэтому, мне трудно было предположить, что после компиляции какие-то библиотеки не загрузятся и программа будет их требовать. Если еще чего-то не хватает - пишите.

 

Библиотеки- это часть MATLAB Component Runtime.

Где-то в вашем, Анжела, матлабе, должен быть инсталляционный файл.

Причина обращения: