Пятница, 26.04.2024, 17:26
Игрушки от Vinin
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум » Советники и индикаторы » Игрушки » Адаптивный советник (Адаптивный советник)
Адаптивный советник
ivandurakДата: Четверг, 19.11.2009, 22:23 | Сообщение # 46
Рядовой
Группа: Проверенные
Сообщений: 17
Репутация: 2
Статус: Offline
перебираю мысли , как фазу рынка найти . Нарисовался трендовый индикатор , почти как две машки , только с преимуществом нужна одна машка .Может кому пригодится .
Прикрепления: HitryDispersion.mq4 (3.0 Kb)
 
riderДата: Суббота, 21.11.2009, 19:30 | Сообщение # 47
Сержант
Группа: Группа 1
Сообщений: 34
Репутация: 1
Статус: Offline
Quote (ivandurak)
перебираю мысли , как фазу рынка найти

А чего искать-то: синий провод - нейтраль, зеленовато-желтый - земля, все остальные - фазы..... как электрик электрику говорю - долбануть может :).... А по серьезному: стоит ли ее искать? Сколько страниц форумов уже на эту тему исписано, но приемлемого и однозначного решения никто так и не предложил....

Предлагаю посмотреть на то, что у меня получилось, "Все, что нажито непосилным трудом", т.с. smile

Эксперт представляет из себя законченный модуль открытия (рыночными ордерами) позиций и их сопровождения с адаптируемым (автоподстраиваемым) шагом добавления - торговый цикл. Завершение цикла реализовано закрытием всех позиций по стопу.
Сигналы на открытие позиций формируются отдельными функциями (стратегиями, которые также могут быть адаптивными) - подключить можно неограниченное количество - все, что от них требуется, это выдать сигнал на вход. При необходимости, путем незначительной доработки кода, можно реализовать переключение между ними..... дело за малым - придумать алгоритм для "переключателя". smile

Параметры:
nameEA = "Madness4_" - имя эксперта в поле Comment ордера, для идентификации, я не использую для этого цели Magic, да и удобнее для анализа, когда на счете несколько экспертов работает по одному нструменту
Risk=0, Lot=0,1 - монейменеджмент еще не додуман и в этой версии не используется.

Параметры адаптации:
TimeFrame - 0 - текущий, 1 - м15, 2-60, 3-240, 4 - 1440 - таймфрейм с которого берутся значения нормализованного ATR
AtrPeriod - здесь без коментариев smile
Window - окно (количество бар) в котором ATR нормализeтся от 0 до 1
Поэтому совместно с экспертом используются два индикатора: нормированные ATR, простой и мультифреймовый. Мультифреймовый - для визуального контроля управляющего сигнала, при необходимости.


"А правильно я вчера переделал, то что сделал позавчера?"
 
riderДата: Суббота, 21.11.2009, 19:32 | Сообщение # 48
Сержант
Группа: Группа 1
Сообщений: 34
Репутация: 1
Статус: Offline
Что-то я расписался, в одно сообщение не влазит smile

Адаптируемые и подстроечные параметры:
Strategy (0-4) - номер выбранной стратегии для торговли. На пробу, для настройки и прогона сейчас введено пять элементарных, которые вряд-ли можно будет использовать без существенной доработки.

StepFrom, StepMidle, StepTo - основной параметр эксперта - шаг торговли (добавления позиций) - автоподстраивается под рынок нормализованным ATR: используемый в торговле
Step = StepFrom + k * (StepTo – StepFrom),
где k - значение ATR(0-1). Есть ограничение: StepFrom > StepTo. При StepMidle !=0 изменение шага не производится - применяется это значение. Сделано для первоначального определения середины диапазона регулирования. Шаг указывается в пунктах для четырехзнака, для пяти - пересчитается в эксперте.

ReverseLogicStep - логика регулирования: 0 - при увеличении волатильности шаг будет уменьшаться, при уменьшении - увеличиваться, 1 - соответственно, наоборот.

k_Stop, k_Poz, TralOne - Вариации на тему "Стоп" :). Первые два напрямую связаны с размером шага.
k_Stop - определяет первоначальный размер стопа, k_Poz - уменьшает эту величину, в зависимости от количества открытых позиций. Последний включает (1) или отключает (0) трейлинг на рассчитанном расстоянии стопа, когда открыта всего одна позиция.

Торговля по времени : Begin_A = 1, End_A и т.д. - здесь все очевидно, при TimeCtrl=0 - время не используется.
FridayStop - независимый от TimeCtrl параметр. Если не 0, то в указанный час, в пятницу, прекратится запуск новых циклов, а в 22 закроются все открытые позиции.
Аналогично и с временными окнами для торговли: запуск цикла производится только в окне, а его продолжение от окон не зависит.

Процесс оптимизации видится так:
- m1 - цены открытия
- определяемся с StepMidle, если планируется использовать время, то логично включить TimeCtrl и оптимизацию окон для торговли
- определяемся с диапазоном и оптимизируем уже параметры адаптации, при фиксированных остальных...... дальше нужно смотреть smile

Узких мест хватает.
Пожалуй, самый тонкий момент - это время между 1й и 2й.... перерывчик может быть очень приличным - как тут поступать? - уходить в безубыток при первой возможности? или просто ждать?
Доливка. Каким лотом это делать? Уменьшать? Увеличивать? Или оставлять на весь цикл постоянный.

В аттаче все необходимое. Отчет и сет с цифиркой "ноль" - это первый этап оптимизации (без регулировки шага) - период оптимизации - последние 70 сделок, все остальное бак тест. С цифирькой - 1 - вариант с адаптацией шага, периоды теста и оптимизации такие же. Котировки Альпари.
До адаптации:

После:

Такое впечатление, что стало хуже :(.... а может просто не тот набор параметров выбрал
Предлагаю поюзать, посмотреть на визализации и..... высказаться smile

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

Прикрепления: MadnesGU_0.rar (96.4 Kb) · MadnesGU_1.rar (110.3 Kb) · Terminal.rar (12.6 Kb) · 6776190.gif (6.7 Kb) · 1190165.gif (6.7 Kb)


"А правильно я вчера переделал, то что сделал позавчера?"

Сообщение отредактировал rider - Понедельник, 23.11.2009, 05:58
 
keekkenenДата: Суббота, 21.11.2009, 20:23 | Сообщение # 49
Рядовой
Группа: Проверенные
Сообщений: 18
Репутация: 0
Статус: Offline
м-да, второй результат выглядит субъективно вдвое хуже, чем первый..
выглядит как оптимизация - как бы открыть побольше позиций при сохранении относительно стабильного уровня прибыли..
 
riderДата: Суббота, 21.11.2009, 22:01 | Сообщение # 50
Сержант
Группа: Группа 1
Сообщений: 34
Репутация: 1
Статус: Offline
Quote (keekkenen)
м-да, второй результат выглядит субъективно вдвое хуже, чем первый.. выглядит как оптимизация - как бы открыть побольше позиций при сохранении относительно стабильного уровня прибыли..

:)... будем работать над этим.

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

PS В этой версии немного подправлен код и исправлена небольшая ошибка.

Прикрепления: Madness_v4.12.mq4 (29.8 Kb)


"А правильно я вчера переделал, то что сделал позавчера?"

Сообщение отредактировал rider - Суббота, 21.11.2009, 22:31
 
ivandurakДата: Суббота, 21.11.2009, 23:16 | Сообщение # 51
Рядовой
Группа: Проверенные
Сообщений: 17
Репутация: 2
Статус: Offline
To Rider
При необходимости, путем незначительной доработки кода, можно реализовать переключение между ними..... дело за малым - придумать алгоритм для "переключателя"

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

 
keekkenenДата: Воскресенье, 22.11.2009, 02:42 | Сообщение # 52
Рядовой
Группа: Проверенные
Сообщений: 18
Репутация: 0
Статус: Offline
сходу понять как работает Madness у меня не вышло, логика работы с ордерами переплетена с контролем прочих условий, как будто хотели запутать читателя..
 
riderДата: Воскресенье, 22.11.2009, 10:44 | Сообщение # 53
Сержант
Группа: Группа 1
Сообщений: 34
Репутация: 1
Статус: Offline
Quote (ivandurak)
П.С. Это конечно хамство .Но не могли бы вы для таких танкистов как я писать " скелеты " советников так сказать лишь бы в тестере проконало .

Никакое и не хамство .... но только с этим не ко мне smile ... Привык сразу готовый к применению код делать. Иначе потом некоторые нюансы забываются, без которых в реальной торговле не обойтись.
Quote (ivandurak)
Вот мой критерий оценки ТС . Работа далеко не окончена . Это пристрелочный вариант , но вполне работоспособна . double AnalisEquty(int magic_analis,int position_analis)......... {

А можно вас попросить из этого что-то вроде скрипта сделать?
Идея такая.
Проводим оптимизацию, получаем могучую кучку наборов параметров из которых действительно заслуживающих внимания не больше 3-5%. Запускаем скрипт: параметры - начало/конец прогона (это может быть совсем и не участок оптимизации) , качество (не меньше), ну может еще какие-то, чтобы ограничения поставить и по заведомо не нужным вариантам не гонять..... скрипт, используя алгоритм эксперта, последовательно обрабатывает каждый вариант и в конце выдает в файл или в print свое резюме: "проходы №№ 1111, 23456..... и т.д. можно посмотреть повнимательнее" ..... в принципе, это дело можно и на два терминала разнести - в одном оптимизация, в другом обработка...

Вот это уж точно, если не хамство, то наглость .... но жизнь здорово облегчит smile


"А правильно я вчера переделал, то что сделал позавчера?"

Сообщение отредактировал rider - Воскресенье, 22.11.2009, 10:51
 
riderДата: Воскресенье, 22.11.2009, 16:19 | Сообщение # 54
Сержант
Группа: Группа 1
Сообщений: 34
Репутация: 1
Статус: Offline
Quote (rider)
Quote (keekkenen)м-да, второй результат выглядит субъективно вдвое хуже, чем первый.. выглядит как оптимизация - как бы открыть побольше позиций при сохранении относительно стабильного уровня прибыли.. :)... будем работать над этим.

Стоило немного посмотреть на параметры и все встало на свои места. Вот теперь можно сравнить smile
До адаптации:

После:

Периоды тесты и оптимизации те же (оптимизация, последние 3 месяца). Отчет прикреплен.

Новая версия эксперта.
- изменена логика расчета Стопа. Теперь он привязан к шагу торговли только одним соотношением: не менее 1/2 от шага, а оптимизируется аналогично шагу.
- подключен расчет объема позиции (Risk !=0) - переменная определяет какой частью, в процентах, от эквити мы готовы рискнуть. Рассчитывается исходя из размера Стопа на первую позицию. В цикле лот постоянный.

Насколько оправдан первый пункт изменений, пока сказать не могу. Нужно пробовать.

Прикрепления: 1255290.gif (6.7 Kb) · 1175098.gif (6.2 Kb) · MadnessGU_1.rar (104.2 Kb) · 9728121.rar (11.8 Kb)


"А правильно я вчера переделал, то что сделал позавчера?"

Сообщение отредактировал rider - Понедельник, 23.11.2009, 12:57
 
fwiqДата: Вторник, 24.11.2009, 03:12 | Сообщение # 55
Рядовой
Группа: Проверенные
Сообщений: 5
Репутация: 0
Статус: Offline
По этой теме немного материала есть здесь http://articles.mql4.com/ru/336
обсуждение тем на http://forum.mql4.com/ru/9257 и http://forum.mql4.com/ru/5070
Это было правда два года назад. Позже Игорь Мальцевдорабатывал свою библиотеку, там по ссылкам можно проследить. Может пригодится в качестве скрипта, который жизнь облегчит.
 
vininДата: Вторник, 24.11.2009, 12:05 | Сообщение # 56
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Quote (fwiq)
По этой теме немного материала есть здесь http://articles.mql4.com/ru/336
обсуждение тем на http://forum.mql4.com/ru/9257 и http://forum.mql4.com/ru/5070
Это было правда два года назад. Позже Игорь Мальцевдорабатывал свою библиотеку, там по ссылкам можно проследить. Может пригодится в качестве скрипта, который жизнь облегчит.

Спасибо за ссылки. Читал когда-то но забыл. Хотя это уже больше относится к другой теме http://vinin.ucoz.ru/forum/10-72-1
Я там решаю аналогичную проблему.
Хотя получается что автоматическая оптимизация, свой критерий оптимизации очень близк пересекаются

 
ivandurakДата: Вторник, 24.11.2009, 21:12 | Сообщение # 57
Рядовой
Группа: Проверенные
Сообщений: 17
Репутация: 2
Статус: Offline
Добрался до компьютера . Пишу небольшой отчет.
Первое поковырял немного обратные связи наподобие в электронике кто в теме поймет , обратная связь используется с активным элементом ( транзистор ) для преобразования входного сигнала усиление , выделения спектра , подавления и тд. Имхо направление тупиковое , к примеру если в электронике необходим усилитель с коэффициентом 3 вводится обратная связь с выхода на инверсный вход ставим делитель получаем то что надо , или дифференциальные интегральные схемы RC цепочки , здесь необходим активный элемент для исключения воздействия сопротивлений нагрузки и источника сигнала . В индикаторах то же действие получаем простым арифметическим умножением делением или усреднением . В принципе можно попробовать применить математику с комплексными числами для упрощения расчетов но здесь поле не паханное в трейдинге я такого не встречал . Так что обратная связь в нашем применении через результаты торговли , на большее фантазии не хватает .
Второе . Прочитал статью
РЕАЛИЗАЦИЯ УНИВЕРСАЛЬНОЙ СИСТЕМЫ ИЗВЛЕЧЕНИЯ ЗНАНИЙ «DISCOVERY» И ЕЕ ПРИМЕНЕНИЕ В ЗАДАЧАХ ФИНАНСОВОГО ПРОГНОЗИРОВАНИЯ
Где то на MQL форуме ссылка была . Чувство такое ,что ребята напускают тумана для коммерческого продвижения своего продукта , ну это и понятно. На сколько я понял основная идея такая . Выдвигается гипотеза и на историческом промежутке тестируется ее реализации если вероятность события после какого то признак выше 0.7 гипотеза рабочая ниже 0.3 значит работает анти гипотеза , она в свою очередь тоже принимается за рабочую только со знаком минус , все что посередине отбрасывается .Пример если есть фигура например три вороны , то цена еще пройдет расстояние в фигуру . Имеем гипотезу и антигепотизу . Три вороны профит – фигура , стоп – фигура . На истории считаем вероятность гипотезы и антигепотизы , соотв ведем торговлю в направлении большей вероятности , если неправ плз- поправьте .
Можно выдвинуть десяток гипотез и вести виртуальную торговлю . Библиотеку для ведения виртуальной торговли вполне рабочую могу выложить , правда она еще не отполирована .
 
fwiqДата: Среда, 25.11.2009, 03:54 | Сообщение # 58
Рядовой
Группа: Проверенные
Сообщений: 5
Репутация: 0
Статус: Offline
A! Дак вы ищите список событий по которым запускать переоптимизацию? Извиняюсь, сразу не фкурил. Тогда можно предметно обсудить сразу несколько многопрофильных вариантов.
 
ivandurakДата: Четверг, 26.11.2009, 23:05 | Сообщение # 59
Рядовой
Группа: Проверенные
Сообщений: 17
Репутация: 2
Статус: Offline
А если сделки нормировать по профит , лосу что бы исключить как бы случайную прибыль . Так наверное и среднее сделки сойдет .
 
fwiqДата: Пятница, 27.11.2009, 03:19 | Сообщение # 60
Рядовой
Группа: Проверенные
Сообщений: 5
Репутация: 0
Статус: Offline
По поводу нормировки сделок в свое время дяденька Пардо предложил неплохой показатель - PROM(Пессимистическая доходность на маржу). Вкратце это выглядит так:
РRОМ корректирует валовую прибыль путем вычисления новой, пессимистической, заниженной валовой прибыли. Первый шаг — найти число выигрышных сделок, уменьшенное на квадратный корень или скорректированное на свою стандартную ошибку Это скорректированное число выигрышных сделок далее умножается на среднюю выигрышную сделку, чтобы получить новую, заниженную валовую прибыль.
Затем РRОМ корректирует валовой убыток путем вычисления нового, пессимистического, завышенного валового убытка. Второй шаг — вычисляется количество проигрышных сделок, увеличенное на квадратный корень из себя, или скорректированное на свою стандартную ошибку. Затем умножается на среднюю проигрышную сделку и получается новый скорректированный валовый убыток.
После чего вычисляется процентное соотношение прибыльности торговой системы. Чем хорош этот показатель, так это тем, что он включает в себя не только валовые и средние значения прибыли, но и серии сделок, которыми эта прибыль добывалась. Т.о. если большая часть прибыли была достигнута одной сделкой(возможно случайно), то высоким значение PROM не получится.
Можно предложить еще две более строгих производных от РRОМ — РRОМ минус максимальный выигрыш и РRОМ минус максимальная выигрышная серия. Как следует из их названий, эти показатели корректируют валовую прибыль еще в большей степени» чем РRОМ. РRОМ минус максимальный выигрыш устраняет из валовой прибыли максимальную единичную прибыль, а затем вычисляет РRОМ. Это более строгий показатель, чем РRОМ. Его самое большое достоинство в том, что он позволяет оценить торговую систему, устранив влияние максимальной выигрышной сделки, которая могла быть вызвана ценовым шоком.
Как вам такая идея?
 
Форум » Советники и индикаторы » Игрушки » Адаптивный советник (Адаптивный советник)
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Copyright MyCorp © 2024Бесплатный конструктор сайтов - uCoz