АвторСообщение
постоянный участник




Сообщение: 2059
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 18.11.15 15:36. Заголовок: Индикатор Quantum


Решил озвучить информацию об интересном индикаторе Quantum. У индикатора всего один параметр для определения
перекупленность или перепроданность рынка.

Впервые индикатор появился на ФорексФактори в теме Quantum London Trading.
Практически сразу появилась тема на TradeLikeaPro : QUANTUM LONDON.INC
Есть статья на avtoForex: Торговая стратегия Quantum London.Безубыточная сетка




С уважением! Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 154 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


постоянный участник




Сообщение: 2215
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 31.01.16 13:01. Заголовок: Genry пишет: по ана..


Genry пишет:

 цитата:
по аналогии с Фибо-сеткой строим ATR-сетку по такому принципу: 1ATR * (3.618 && 6.618 && 8.618, уровни настраиваются) получается канал с учетом волатильности (можно учитывать и фибо-уровени для надежности).


Scriptong пишет:
 цитата:

То есть к МАшке откладываем в обе стороны значение ATR на предыдущем (или текущем?) баре, умноженное на соответствующий коэффициент?





Да, именно так. На скрине два примера:
1. торговля на "одной стороне Фибо-канал"
2. торговля на "одной стороне ATR-канала"

Еще статистики не набрал, но на тренде с высокой волатильностью ATR-канал дает более широкий торговый диапазон, т.к. оперативнее
реагирует на импульсы чем Фибо.

//+------------------------------------------------------------------+ 
//| ATR Channels.mq4 |
//| Copyright c 2005, Luis Guilherme Damiani |
//| http://www.damianifx.com.br |
//+------------------------------------------------------------------+

#property copyright "Copyright c 2005, Luis Guilherme Damiani"
#property link "http://www.damianifx.com.br"
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Aqua //Moving Average
#property indicator_color2 DeepSkyBlue // Lower band 1
#property indicator_color3 DeepSkyBlue // Upper band 1
#property indicator_color4 RoyalBlue // Lower band 2
#property indicator_color5 RoyalBlue // Upper band 2
#property indicator_color6 BlueViolet // Lower band 3
#property indicator_color7 BlueViolet // Upper band 3
//---- indicator buffers
double MA_Buffer0[ ];
double Ch1up_Buffer1[ ];
double Ch1dn_Buffer2[ ];
double Ch2up_Buffer3[ ];
double Ch2dn_Buffer4[ ];
double Ch3up_Buffer5[ ];
double Ch3dn_Buffer6[ ];

//---- input parameters
extern int PeriodsATR = 24;
extern int MA_Periods = 100;
extern int MA_type = MODE_LWMA;
extern double Mult_Factor1 = 3.62;
extern double Mult_Factor2 = 5.62;
extern double Mult_Factor3 = 7.62;
extern int fontsize = 8;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//string mat;

//---7- indicators
// MA
SetIndexStyle(0, DRAW_LINE, 2);
SetIndexBuffer(0,MA_Buffer0);
SetIndexDrawBegin(0,0);

/*if (MA_type==MODE_LWMA)SetIndexLabel(0,"WMA"+MA_Periods) else
{
if (MA_type==MODE_SMA) SetIndexLabel(0,"SMA"+MA_Periods) else
{
if (MA_type==MODE_EMA) SetIndexLabel(0,"EMA"+MA_Periods) else
SetIndexLabel(0,"SMMA"+MA_Periods);
};
};*/
// ATR 1 up
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Ch1up_Buffer1);
SetIndexDrawBegin(1,0);
SetIndexLabel(1,"ATRu "+PeriodsATR+", "+Mult_Factor1);
// ATR 1 down
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Ch1dn_Buffer2);
SetIndexDrawBegin(2,0);
SetIndexLabel(2,"ATRd "+PeriodsATR+", "+Mult_Factor1);
// ATR 2 up
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,Ch2up_Buffer3);
SetIndexDrawBegin(3,0);
SetIndexLabel(3,"ATRu "+PeriodsATR+", "+Mult_Factor2);
// ATR 2 down
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Ch2dn_Buffer4);
SetIndexDrawBegin(4,0);
SetIndexLabel(4,"ATRd "+PeriodsATR+", "+Mult_Factor2);
// ATR 3 up
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Ch3up_Buffer5);
SetIndexDrawBegin(5,0);
SetIndexLabel(5,"ATRu "+PeriodsATR+", "+Mult_Factor3);
// ATR 3 down
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,Ch3dn_Buffer6);
SetIndexDrawBegin(6,0);
SetIndexLabel(6,"ATRd "+PeriodsATR+", "+Mult_Factor3);
//----

ObjectCreate("lf1", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf1", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf1", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf1", DoubleToStr(Mult_Factor3,3),fontsize,"Arial",Red);
ObjectCreate("lf2", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf2", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf2", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf2", DoubleToStr(Mult_Factor2,3),fontsize,"Arial",Red);
ObjectCreate("lf3", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf3", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf3", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf3", DoubleToStr(Mult_Factor1,3),fontsize,"Arial",Red);
ObjectCreate("lf4", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf4", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf4", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf4", DoubleToStr(Mult_Factor1,3),fontsize,"Arial",Red);
ObjectCreate("lf5", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf5", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf5", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf5", DoubleToStr(Mult_Factor2,3),fontsize,"Arial",Red);
ObjectCreate("lf6", OBJ_TEXT, 0, 0, 0);
ObjectSetString(0, "lf6", OBJPROP_TOOLTIP, "\n");
ObjectSetInteger(0, "lf6", OBJPROP_ANCHOR, ANCHOR_LEFT);
ObjectSetText("lf6", DoubleToStr(Mult_Factor3,3),fontsize,"Arial",Red);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{//----
ObjectDelete("lf1");
ObjectDelete("lf2");
ObjectDelete("lf3");
ObjectDelete("lf4");
ObjectDelete("lf5");
ObjectDelete("lf6");

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int fixed_bars=IndicatorCounted();
for(int i=0;i< Bars - fixed_bars;i++)
{
double atr=iATR(NULL,0,PeriodsATR,i);
double ma=iMA(NULL,0,MA_Periods,0,MA_type,PRICE_TYPICAL,i);
MA_Buffer0[ i]=ma;
Ch1up_Buffer1[ i]=ma+atr*Mult_Factor1;
Ch1dn_Buffer2[ i]=ma-atr*Mult_Factor1;

Ch2up_Buffer3[ i]=ma+atr*Mult_Factor2;
Ch2dn_Buffer4[ i]=ma-atr*Mult_Factor2;

Ch3up_Buffer5[ i]=ma+atr*Mult_Factor3;
Ch3dn_Buffer6[ i]=ma-atr*Mult_Factor3;
}
ObjectMove("lf1", 0, Time[ 0],Ch3up_Buffer5[ 0]);
ObjectMove("lf2", 0, Time[ 0],Ch2up_Buffer3[ 0]);
ObjectMove("lf3", 0, Time[ 0],Ch1up_Buffer1[ 0]);
ObjectMove("lf4", 0, Time[ 0],Ch1dn_Buffer2[ 0]);
ObjectMove("lf5", 0, Time[ 0],Ch2dn_Buffer4[ 0]);
ObjectMove("lf6", 0, Time[ 0],Ch3dn_Buffer6[ 0]);
//----

//----
return(0);
}




С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2037
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 02.02.16 20:38. Заголовок: Genry пишет: Да, им..


Genry пишет:

 цитата:
Да, именно так.


ОК, и с ним проверим Quantum. Наверное, даже сделаю версию с переключателем между ChannelsFIBO и ATRChannelsFIBO.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2223
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 02.02.16 22:18. Заголовок: Scriptong пишет: О..


Scriptong пишет:

 цитата:
ОК, и с ним проверим Quantum. Наверное, даже сделаю версию с переключателем между ChannelsFIBO и ATRChannelsFIBO.


Спасибо, Игорь!
Время уделенное данной теме несомненно окупится

С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2217
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 31.01.16 13:31. Заголовок: Еще одно мое сообщен..


Еще одно мое сообщение по теме торговли на индикаторе Квантум в ветке советника:
----------------------------------------------------------------------------------------------------

Предложение Eriksonа торговать сигналы Квантума по тренду думаю всем понятно. На версии 1.4.2. я делал
тоже самое, только направление тренда определял не индикаторами, а волновым анализом. Поэтому предложение Эрика торговать по индикаторам воспринял оч.положительно. Но здесь нас ждала засада - индикатор сигнала с ТФ Д1 оказался рисовальщиком на истории. Хорошая замена ему пока не нашлась, но разные индикаторы для реализации этой идеи я периодически пробую.

Алгоритм торговли по Эрику такой:

1. Определяем направление тренда на тф Д1.

2. Определяем направление тренда на тф Н4.

3. Если направления совпадают, то строим сетку по сигналам Квантума в направлении тренда.
Когда сигналы Д1 и Н4 расходятся - закрываем всю сетку.

4. Если сигналы на Д1 и Н4 не совпадают - значит это режим Флета и мы открываем ордера по сигналам Квантума в любом направлении (так мы торгуем сейчас).

Трендовый режим в этом алгоритме определяющий - основная прибыль ожидается именно от сеток по тренду.

Сегодня я решил поменять подход и посмотреть что будет. Алгоритм такой:

1. Когда индикаторы старших ТФ сигнализируют тренд - сидим на заборе и ордера не ставим вообще.
2. Когда старшие ТФ разнонаправлены - торгуем флет как обычно.

Оптимизировал я этот подход на участке с 20 сентября 2015 года по 12 декабря 2015 года. А бэк-тест
запустил на интервале с 1 июня 2013 года по 30 января 2016 года.

Счет - долларовый. Стартовый депо - 600$. Лот - фиксированный 0.04. EurUsd, m5. Сигналы Квантума с м1.

Для сравнения я открыл рядом дневной график евры (уместился с июля 2013 года) и внизу кривую
доходности тестера.
На евре с июля 2013 года до 5 мая 2014 года шел восходящий тренд, а с 5 мая 2014 по
13 марта 2015 года - нисходящий. С марта 2015 и по настоящее время на Д1 - флет и график идет в бок.



Вывод по алгоритму нашей сегодняшней торговли напрашивается такой:
1. Когда на рынке (Д1) тренд - алгоритм сильно не сливает и почти не зарабатывает.
2. Когда на рынке (Д1) флет - алгоритм отлично зарабатывает.

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

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

Это не значит что в теперешней реализации ЕА не может приносить прибыль на тренде. Это значит что ЕА должен
уметь определят наличие тренда и флета, и торговать учитывая эти состояния рынка.


С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2218
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 31.01.16 13:32. Заголовок: Еще один график тест..


Еще один график тестера и дневной график EurUSD для наглядности. Алгоритм прежний:

1. Когда индикаторы старших ТФ сигнализируют тренд - сидим на заборе и ордера не ставим вообще.
2. Когда старшие ТФ разнонаправлены - торгуем флет как обычно.

Оптимизировал я этот подход на участке с 01 февраля 2014 года по 30 сентября 2014 года, чтобы в интервал
теста попал восходящий тренд, вершина и нисходящий тренд.

Бэк-тест на интервале с 21 июля 2013 года по 30 января 2016 года.

Счет - долларовый. Стартовый депо - 600$. Лот - фиксированный 0.04. EurUsd, m5.
Сигналы Квантума с м1. Торговля круглосуточная.






Но в идеале надо работать по полному алгоритму:
1. есть тренд - открываем сигналы по тренду.
Для скальпирования в этом режиме можно пробовать торговать на одной стороне ATR- канала или Фибо-канала, т.е.
отлавливать коррекции.
2. нет тренда - торгуем двунаправлено.

ЗЫ. По определению направления тренда на старших ТФ было предложение использовать МТФ Ишимоку:

mr.smart пишет: http://forum.tradelikeapro.ru/index.php?topic=10633.msg259928#msg259928


 цитата:
Я собственно по теме индикатора тренда, правда особо не силен в понимании его работы, но есть такой индикатор как Ichimoku_Signal 2.
Там как раз есть предположительные направления тренда на различных ТФ.



С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2220
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 01.02.16 13:34. Заголовок: author=Appletownworl..


author=Appletownworld

 цитата:

Можно ли использовать для индикатора тренда Heiken Ashi?
Он уже давно встроен в советник, но как я понимаю с периодом только в неделю.
...



Genry пишет:
Самому было интересно оценить эффективность фильтра на Heiken Ashi. Чтобы проверить как он влияет
провел эксперимент. Вот его последовательность:

1. Нашел сет с хорошим ровным графиком на котором одна сильная просадка
2. Сделал возможным выбор ТФ Heiken Ashi, чтобы проверить не только W1
3. Запустил оптимизацию сета с включенным Heiken Ashi в диапазоде от Д1 к W1 ТОЛЬКО
НА УЧАСТКЕ СЛИВА и получил два положительных результата из 4 ТФ
4. Затем прогнал тест с включенным НА на ВЕСЬ ДИАПАЗОН первого теста (вернее чуть короче:
первый тест с 1 марта 15 по 30 января 16г
второй с 1 марта 15 по 12.12.15 - на полтора месяца короче, но интересовал именно сливной участок.

Результат внизу. Вывод:
1. наиболее эффективено сравнение текущего Heiken Ashi с Heiken Ashi на W1.
2. на трендовом рынке Heiken Ashi помогает избежать потерь. Просадка значительно уменьшилась.
3. на флете Heiken Ashi на недельном графике трудновато поспеть за нашими рабочими ТФ - м1, м5.
4. результат получен для EurUSD, возможно более волатильные пары дадут иной результат.



С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2221
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 01.02.16 21:04. Заголовок: Совместная работа Qu..


Совместная работа Quantum, ATR-канала и Fibo-Канала с учетом исторических уровней цены и Фибо-кластеров.




С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2222
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 02.02.16 10:17. Заголовок: Только ATR-канал ..


Только ATR-канал



С уважением! Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2230
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 16.02.16 10:27. Заголовок: Игорь, день добрый! ..


Игорь, день добрый!
Перечитывал ветку и решил ее немного обновить:

Scriptong пишет:

 цитата:
ОК, и с ним проверим Quantum. Наверное, даже сделаю версию с переключателем между ChannelsFIBO и ATRChannelsFIBO.


Думаю результат будет положительным. Оба канала работают хорошо и дополняют сигналами друг-друга как комбинация более статичного и
динамичного канала.

Scriptong пишет:

 цитата:
kiosotto.mq4 | 2014, Masakazu Corp.
....
Ну а сам алгоритма интересен - расчет значений справа налево по графику, а не как обычно - слева направо. Я сначала даже подумал, что
индикатор будет перерисовываться. Ан нет - все ОК. Значения остаются на месте.
...
индикатор



В прошедшем декабре мы обсуждали индикатор Киосотто. Вы сделали отличный вариант этого индикатора. Я просматривал свои записи того
периода и увидел пометки которые не отправил на форум: учесть при расчете сигнала Киосотто текущую волатильность.

Сейчас сигнал формируется фактически так:
double rsi = iRSI(NULL, 0, i_dev_period, PRICE_CLOSE, shift);
double power = rsi * iClose(NULL, 0, shift);

И практически всегда индикатор точно отмечает экстремумы, но слабо учитывает различие экстремума ночного флета или экстремума при открытии
Европейской или Американской сессии. Как Вы смотрите на предложение учесть показатель волатильности для изменения данной ситуации?

Например вариант или комбинация вариантов следующих показателей:

1 вариант: учесть в расчете ATR или StDev, возможно (ATR + StDev)/2 :

2 вариант: учесть ширину канала (как в Боллинджере) и удаление нового экстремума (как в Quantum) от центральной МА канала;

3 вариант: учесть нахождение в зоне перекупленности/перепроданности стохастического осциллятора
double sth = iStochastic(NULL, 0, k_period, d_period, slowing, metod, price, MODE_MAIN ,shift);
if (sth > 50) sth = 100 - sth; // сначала значения ниже 50 (перепроданность) приравниваются по весу к перекупленности
// здесь можем дополнительно учесть значение выше или ниже порога, например 80
sth = sth*0.5; // при формировании окончательного веса можем брать лишь часть значения стохастика, т.к.
// он иногда "залипает" в экстремальных зонах и будет "смазывать" менее залипающий RSI
Тогда при расчете power можно учесть не только rsi * iClose(NULL, 0, shift), но и добавить изменение волатильности.

Цель добавления: увеличить пики индикатора для волатильного рынка по сравнению с низковолатильным.
Идеально было бы при росте волатильности "удлинить" только экстремальные пики, т.е. если раньше на развороте в 4 утра и в 11 дня
их значения были практически одинаковы, то теперь 11 часовые - имели более высокое значение.



С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2046
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 16.02.16 10:47. Заголовок: Genry пишет: И прак..


Genry пишет:

 цитата:
И практически всегда индикатор точно отмечает экстремумы, но слабо учитывает различие экстремума ночного флета или экстремума при открытии
Европейской или Американской сессии.


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

Genry пишет:

 цитата:
1 вариант: учесть в расчете ATR или StDev, возможно (ATR + StDev)/2 :


Зачем дополнительно учитывать ATR, если канал построен как раз по нему?

Genry пишет:

 цитата:
2 вариант: учесть ширину канала (как в Боллинджере) и удаление нового экстремума (как в Quantum) от центральной МА канала;


Тут требуется более подробное описание, т. к. вариантов слишком много. Какой из них Вы имеете в виду, долго буду угадывать.

Genry пишет:

 цитата:
3 вариант: учесть нахождение в зоне перекупленности/перепроданности стохастического осциллятора
double sth = iStochastic(NULL, 0, k_period, d_period, slowing, metod, price, MODE_MAIN ,shift);
if (sth > 50) sth = 100 - sth; // сначала значения ниже 50 (перепроданность) приравниваются по весу к перекупленности
// здесь можем дополнительно учесть значение выше или ниже порога, например 80
sth = sth*0.5; // при формировании окончательного веса можем брать лишь часть значения стохастика, т.к.
// он иногда "залипает" в экстремальных зонах и будет "смазывать" менее залипающий RSI
Тогда при расчете power можно учесть не только rsi * iClose(NULL, 0, shift), но и добавить изменение волатильности.


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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2231
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 16.02.16 11:24. Заголовок: Scriptong пишет: Эт..


Scriptong пишет:

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



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

Scriptong пишет:

 цитата:
Genry пишет: 2 вариант: учесть ширину канала (как в Боллинджере) и удаление нового экстремума (как в Quantum) от центральной МА канала;


При расчетe power учесть формирование новых экстремумов + их удаление от МА. Тогда ночные пики и дневные будут различны на величину
удаления от центра канала.

double intLow3 = iLowest( Symbol(), Period(), MODE_LOW, eintDepth3, shift ); 
if ( intLow3 == shift ) {
qUp = Low[ shift];
}

double intHigh3 = iHighest( Symbol(), Period(), MODE_HIGH, eintDepth3, shift );
if ( intHigh3 == shift ){
qDn = High[ shift];
}

if (qUp>0) {
ma_diff = NormalizeDouble(fabs(ma - qUp), 4);
} else if (qDn>0) {
ma_diff = NormalizeDouble(fabs(qDn - ma), 4);
} else {
ma_diff = NormalizeDouble(fabs(ma - iClose(NULL, 0, shift)), 4);
}


Боллинджер я тоже рассматриваю как показатель текущей волатильности канала и он просто один из претендентов - что лучше подойдет.
Scriptong пишет:


 цитата:
Насколько я понимаю, это просто дополнительный фильтр по типу того, который уже используется в моей интерпретации Quantum.
И пока не понятен переход от Stochastic к RSI, т. к. о нем выше не было ни слова, а потом он вдруг появился в сообщении.



В данном случае проверка нахождения стохастика в экстремальных зонах нужна чтобы увеличить значение power для вершин, которые
совпадают с нахождением стохастика в этих зонах, т.е. например такой вариант расчета:

power = (RSI +Stoch + (StDev+MA_diff)/2 ) * iClose(NULL, 0, shift), или даже без RSI (Stoch + StDev+MA_diff ) * iClose(NULL, 0, shift),
где Stoch:
double Stoch = iStochastic(NULL, 0, k_period, d_period, slowing, metod, price, MODE_MAIN ,shift);
if (Stoch < 50) Stoch = 100 - Stoch; // значения ниже 50 (перепроданность) приравниваются по весу к перекупленности
if (Stoch < StochTreshLevel) Stoch = Stoch*0.01; // если значение не в зоне перекупленности/перепроданности - не учитываем его , a

расчет ma_diff приведен выше и учитывает удаление нового экстремума от средней за некоторый период



Т.е. если сейчас показания Киосотто одинаковы при разной волатильности, то я предлагаю попробовать увеличение веса:
1. с увеличением StDev;
2. для вершин с бОльшим удалением от МА;
3. для вершин которые сформировались при нахождении стохастика в зоне перкупленности\перепроданности.

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





На нижнем скрине величина левого пика Киосотто выше чем у правого, но учет удаления вершины от МА позволяет несколько исправить
эту ситуацию и реальный разворот произошел после правой вершины.

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2048
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 17.02.16 12:17. Заголовок: Genry пишет: т.к. п..


Genry пишет:

 цитата:
т.к. после одного сигнала
цена пройдет 1000 п, а другого - 100.


Здесь никогда не угадаете. Для правильного выхода нужно действовать по обстоятельствам, а не пытаться предугадать.

Genry пишет:

 цитата:
При расчетe power учесть формирование новых экстремумов + их удаление от МА. Тогда ночные пики и дневные будут различны на величину
удаления от центра канала.


В этом коде имеется перекос в пользу регистрации минимумов. Максимумы могут пропускаться.

Genry пишет:

 цитата:
На втором скрине величина левого пика Киосотто выше чем у правого, но учет удаления вершины от МА позволяет несколько исправить
эту ситуацию и реальный разворот произошел после правой вершины.


Так в данном случае имеет место дивергенция класса А (причем две подряд)! Зачем что-то исправлять, когда и без того имеется достаточно интересный инструмент для анализа?
На мой взгляд, Вы пытаетесь подогнать свои методы под конкретную рыночную ситуацию. Ошибочность такого подхода в том, что вытянув хорошие показатели в одном месте, безмерно ухудшаются показания в другом месте.
А истинного экстремума, после которого произойдет разворот, мы никогда не определим наверняка. Его нужно лишь ловить, скрупулезно открывая сделки по сигналам, не забывая закрывать их в случае ошибки. А вот на той сделке, которая словит экстремум, "отыграться по полной".

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2232
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 17.02.16 12:27. Заголовок: Scriptong пишет: На..


Scriptong пишет:

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



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

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2050
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 19.02.16 14:43. Заголовок: Genry пишет: И все ..


Genry пишет:

 цитата:
И все же остается некоторое сомнение что мы все выжали из этого алгоритма.


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


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 2235
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 18.02.16 10:47. Заголовок: К теме Киосотто и Кв..


К теме Киосотто и Квантума:

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


 цитата:
ДОПОЛНЕНИЕ В СОВЕТНИК
Добавлен индикатор MA_Kiosotto - это индикатор Kiosotto_v41(Scriptong) с добавленной МА (простой скользящей средней) максимумов показаний индикатора за определенный период. Индикатор Kiosotto обсуждался неоднократно, поэтому ссылок не привожу - ищите в ветке.
Сигналом для срабатывания индикатора считается факт пересечения баром индикатора линии МА (желтого цвета). Положение линии МА по вертикали регулируется параметром смещение MA - это множитель значения МА.



Индикатор: MA_Kiosotto

Теперь работа 3-х индикаторов (в середине мой очередной вариант с волатильностью ) у меня выглядит так:



С уважением! Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 154 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет