как научить ТС отличать ФЛЭТ от ТРЕНДА??? - страница 15

 
Вот индикатор
Файлы:
 

Debugger

А к нему ничего не нужно? Кидаю в /indicators/ - ставлю, на экране ничего.

 
Foxter писал(а) >>

Debugger

А к нему ничего не нужно? Кидаю в /indicators/ - ставлю, на экране ничего.

индикатор сам не понял, что счас. Он на заборе.

 
granit77 писал(а) >>
Ты бы выложил хоть в каком виде, если не коммерческий продукт, а там причесывай, сколько нужно. Это я Алексея расшифровываю, он человек тактичный, а нам, деревенским проще. Что подумал, то и ляпнул. :))
У меня нет коммерческих продуктов - я сам себе... продукт.)))
Виктор, я выдрал его с мясом из ТС и вставил в первую подвернувшуюся рыбу от др.индикатора. Только чтобы показать. Ну, не буду я в ТАКОМ виде выкладывать!!!)))
Объяснять, что там зачем замучаешься потом. И потом, ты же знаешь, что я всегда выкладываю с подробными объяснениями, с теорией, и пр. шутками и прибаутками.
Так что - или так, или никак.

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

Подразумевается, что читающий знает, как устроен обычный Стохастик. По использованию в ТС нелишне будет также прочесть статью М.Королюка (Мойши) "Черепаха - это звучит гордо".

Итак, асимметричный стохастик. Там, собственно, только три отличия по параметрам от стандартного:
Kperiod теперь состоит из двух - младшего KperiodShort (короткого) и старшего KperiodLong (длинного). Еще добавлен параметр уровня перепроданности (ПП) OverSold, по которым вычисляется уровень перекупленности (ПК). Заход стохастика в зоны ПК/ПП переключает Kperiod'ы - длины поиска максимумов/минимумов. Третье отличие - порог чувствительности - параметр Sens.

Логика работы:
Если стохастик зашел в зону ПП, то поиск минимумов происходит за младший Kperiod (KperiodShort) баров, а максимумов - за старший (KperiodLong). При заходе в зону ПК - зеркально - минимумы ищутся на более длительном отрезке, максимумы - на коротком.

Интерпретация/использование (вольно и необязательно))). Заход стохастика в зону ПК/ПП означает переключения тренда в соотв. направление. Но! Переключение тренда НЕ означает открытия позиции в его направлении в общем случае. Заход происходит на коррекции, которую можно идентифицировать по пересечению/касанию линии 50%. Если примерно следовать "Черепахе" - поза наращивается при коррекциях. При переключении тренда происходит или полное закрытие позы, или ее сокращение. В последнем случае полное закрытие происходит уже на коррекции с одновременным открытием противоположной. Стопы выставляются у предыдущего (противоположного) экстремума. Но их срабатывание в рабочем режиме маловероятно.
Но это все так - от балды. Тактику не навязываю.

В первом подокне - асимм. стохастик, во втором - обычный.


Вызов из кодов, входные параметры и назначения буферов:

iCustom(
   NULL,0,"AsimmetricStochNR",  // на текущем тайм-фрейме и инструменте
   KperiodShort,              // младший (короткий) %K
   KperiodLong,               // старший (длинный) %K
   Dperiod,                   // %D сигнальная
   Slowing,                   // замедление
   Dmethod,                   // тип MA сигнальной: 0-SMA, 1-EMA
   PriceField,                // тип цены: 0-High/Low; 1-Close/Close
   Sens,                      // чувствительность в пп.
   OverSold,                  // уровень ПП в %%
   N,                         // буферы: 0- главная, 1- сигнальная, 2- тренд
   i                          // смещение
  );


Файлы:
 
sever29 >>:

индикатор сам не понял, что счас. Он на заборе.

 
Модифицированный асимметричный стохастик. Упрощенный вариант в базе. Там же и описание. Добавлено увеличение длинного %K при удалении стохастика от типа искомого за этот %K баров экстремума с нектр. шагом (1 по умолчанию). Т.е. если тренд переключился вверх (произошел заход в зону ПП), то длинный %K, по которому при растущем тренде ищутся минимумы, будет увеличиваться на 1 каждый раз, когда стохастик движется вверх более чем на значение, задаваемое в SlowKsens, но не выше потолка, задаваемого в поле KperiodMax. Если сделать SlowKsens = 100, то индикатор ничем не будет отличаться от своего предшественника в базе.
Остальные поля параметров описаны в базе:

===
Для справки %K выведен вместо тренда по буферу "Trend" - можете отнаблюдать логику увеличения периода. А можете вернуть на вывод в буфер сам тренд (он закомменчен).

===
Да. Код с соплями и лишними кусками, но поскольку просили выложить - не обессудьте. А так - все работает корректно.
Файлы:
 

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

Для меня отличать первое от второго это то же, что отличать зеленое от горячего.

Глядя на графики, мне почему-то очевидно только то, что рынок - это совокупность колебаний. Причем, колебаний с разной ампдитудой. А уже из этих колебаний (может даже и по фрактальному принципу) складываются т.н. каналы. Т.е. и тренд и флэт при внимательном рассмотрении может быть разным. Цена может упасть на некую величну стремительно - бац и яблоко упало кому-то на голову, а может проделать тот же путь как осенний лист - плавно колеблясь красивой волной. Так же и флэт - есть скучные ниточки-дрожания, а есть равномерная прибойная волна по горизонтали причала. Поэтому вопрос как отличить флэт от тренда надо переформулировать в вопрос -как отличить сильную амплитуду от слабой. Ответ здесь уже звучал, но не получил должного внимания - волатильность. Другими словами не видишь колебательного движения - увеличь таймфрейм. -) Если мерещится флэт - возьми лупу. Т.е. то, что в рамках одного ТФ кажется шумом - в рамках более мелкого - вполне себе колебанием.

А вот само колебательное движение уже состоит из двух фаз тренда и разворота. Т. о. антонимом термина "тренд" должен быть термин"разворот".

В итоге ТС должна содержать:

1. Следование тренду (я применяю свечки Х.-Аши)

2. Учет разворота (я применяю стохастик)

3. Учет амплитуды колебаний (я применяю StDeviation), который просто меняет таймфрейм работы в зависимости от активности рынка.

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

Т.е. предлагаю обсудить - какие индикаторы лучше отслеживают поступательное движение, а какие разворот. К примеру - при развороте обычно падает волатильность - а как насчет обьемов?

 

prononsens:

а как насчет обьемов?

имеете ввиду тиковый объем?
 

Объем имеет очень сильную корреляцию с ATR. Бывают, конечно, сигнальные расхождения типа "приседающих" баров Вильямса, но в целом - пофигу. И хоть тиковый, хоть лотовый (денежный).

А так, можете еще посмотреть здесь. Вот выдержка:

//

Вот - смотрите: известное соображение, что колебания в сторону тренда сопровождаются повышением объема или, как на рис. ниже, истинного диапазона, наглядно подтверждается предлагаемыми индикаторами. В первом подокне, толстой красной линией - модулированный по ATR стохастик (~SrochAM), а тонкой синей - обычный. Хорошо видно, как фильтруются нетрендовые колебания стохастика. В нижнем подокне, для справки - модулирующий сигнал (~norm) - нормированный ATR(5).


===

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

//

 
Svinozavr:

Объем имеет очень сильную корреляцию с ATR. Бывают, конечно, сигнальные расхождения типа "приседающих" баров Вильямса, но в целом - пофигу. И хоть тиковый, хоть лотовый (денежный).

А тогда вопрос, может, имеет смысл сделать смысл употребить синтетический индикатор для переключения с таймфрейма на таймфрейм, который одновременно учитывал бы обьем и волатильность? Даст ли это повышение достоверности?
Причина обращения: