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




Сообщение: 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 [только новые]







Сообщение: 428
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 11.01.16 17:29. Заголовок: Genry пишет: Сет т..


Genry пишет:

 цитата:
Сет тестовый, предназначен проверять обратные сигналы
индикатора - тейков и стопов нет.


Добро!

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




Сообщение: 2189
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 11.01.16 17:45. Заголовок: Sergey пишет: Genry..


Sergey пишет:

 цитата:
Genry пишет: цитата: Сет тестовый, предназначен проверять обратные сигналы индикатора - тейков и стопов нет.

Добро!



Это с 500$ с 12 декабря, если с сентября тем-же сетом, то и 5 января проскочит

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




Сообщение: 2190
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 11.01.16 20:10. Заголовок: Версия QuMA_Channels..


Версия QuMA_ChannelsFIBO_min.mq4 урезана для вызова из советника, чтобы ускорить тестирование.





//+------------------------------------------------------------------+ 
//| MA Chanels.mq4 |
//| ░njel░ |
//| iamnotlinked |
//| Quantum.mq4 |
//+------------------------------------------------------------------+
//| Quantum.mq4 |
//| Copyright й 2010, zznbrm |
//|
//+------------------------------------------------------------------+
//| 2012Jan27 mod for mer071898
//+------------------------------------------------------------------+
//|
//| 10.12.2015 Genry : MA_Channels+Quantum = QuMA_ChannelsFIBO.mq4
//| 10.01.2016 Genry : Add the algorithm for finding extrema.
//| The idea and code Deviat: Development Slim33 10/18/2014
//| 11.01.2016 Staxis: Increasing the speed indicator.
//| 11.01.2016 Genry : MIN version to work with the advisor.
//| It works faster than the standard version.
//+------------------------------------------------------------------+

#property copyright "zznbrm+njel+Genry"
#property link "notlinked"

#property indicator_chart_window
#property indicator_buffers 2

#property indicator_color1 clrAquamarine
#property indicator_color2 clrMagenta
#property indicator_width1 5
#property indicator_width2 5

//---- input parameters Quantum
extern int eintDepth3 = 78;

// 1= 23.6 2=38.4 3=50 4=61.8 5=78.6 6=Gann 82.87 7= 88.2 8=100
extern int FibSelect = 2;

//--------------------- MA
extern int BarsCount = 500;
extern int MAPeriod = 100;
extern int MAMethod = MODE_SMA;
extern int MAPrice = PRICE_CLOSE;
extern int fontsize = 10;

double FibMult = 0.0;

double Inc0 = 0.0000;
double Inc1 = 0.0000;
double Inc2 = 0.0000;
double Inc3 = 0.0000;
double Inc4 = 0.0000;
double Inc5 = 0.0000;
double Inc6 = 0.0000;
double Inc7 = 0.0000;

//---- buffers
double gadblUp3[]; // Quantum
double gadblDn3[];

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

SetIndexBuffer( 0, gadblUp3 );
SetIndexEmptyValue( 0, 0.0 );
SetIndexStyle( 0, DRAW_ARROW );
SetIndexArrow( 0, 250 );
SetIndexLabel( 0, NULL );

SetIndexBuffer( 1, gadblDn3 );
SetIndexEmptyValue( 1, 0.0 );
SetIndexStyle( 1, DRAW_ARROW );
SetIndexArrow( 1, 250 );
SetIndexLabel( 1, NULL );


return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
double dev = 0;

int intLow3, intHigh3, limit;

// if (iBars(NULL,0) < BarsCount)
// BarsCount = iBars(NULL,0) - MAPeriod-1 ;

int counted_bars = IndicatorCounted();
//---- check for possible errors
if(counted_bars < 0)
return(-1);
if(counted_bars <= MAPeriod)
limit = Bars - MAPeriod ;
else
limit = Bars - counted_bars;
for (int i =limit; i>=0; i--)
{

dev = Deviat(i);
if(dev == 0) continue;

Inc2 = dev*0.618;
Inc1 = dev*0.5;
Inc0 = dev*0.236;
Inc4 = dev*0.786;
Inc5 = dev*0.828; // Gann 82.87
Inc6 = dev*0.882;
Inc7 = Inc3; // 100%
Inc3 = dev*0.382;

//-------------------------------------
double m = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);

gadblUp3[ i] = 0.0;
gadblDn3[ i] = 0.0;

switch ( FibSelect )
{
case 1: FibMult = m -Inc0; break; // 23.6
case 2: FibMult = m -Inc3; break; // 38.2
case 3: FibMult = m -Inc1; break; // 50
case 4: FibMult = m -Inc2; break; // 61.8
case 5: FibMult = m -Inc4; break; // 78.6
case 6: FibMult = m -Inc5; break; // Gann 82.87
case 7: FibMult = m -Inc6; break; // 88.2
case 8: FibMult = m -Inc7; break; // 100.0

default: FibMult = m -Inc3;
}

intLow3 = iLowest( Symbol(), Period(), MODE_LOW, eintDepth3, i );

if ( intLow3 == i ) {
if (Low[ i] <= FibMult) gadblUp3[ i] = Low[ i];
}

switch ( FibSelect )
{
case 1: FibMult = m +Inc0; break; // 23.6
case 2: FibMult = m +Inc3; break; // 38.2
case 3: FibMult = m +Inc1; break; // 50
case 4: FibMult = m +Inc2; break; // 61.8
case 5: FibMult = m +Inc4; break; // 78.6
case 6: FibMult = m +Inc5; break; // Gann 82.87
case 7: FibMult = m +Inc6; break; // 88.2
case 8: FibMult = m +Inc7; break; // 100.0

default: FibMult = m +Inc3;
}

intHigh3 = iHighest( Symbol(), Period(), MODE_HIGH, eintDepth3, i );

if ( intHigh3 == i ) {
if (High[ i] >= FibMult) gadblDn3[ i] = High[ i];
}
}
return(0);
}

//+------------------------------------------------------------------+
//|Slim33 18.10.2014
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
double Deviat(int bar)
{
int i;
double val = 0, loDev = 0, hiDev = 0;

if( bar + BarsCount >= Bars - 1) return(0);

for (i = bar + BarsCount; i >= bar; i--)
{

double m = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);

if(MathAbs(m - High[ i]) > hiDev)
hiDev = MathAbs(m - High[ i]);

if(MathAbs(m - Low[ i]) > loDev)
loDev = MathAbs(m - Low[ i]);
}
val = MathMax(hiDev, loDev);
return (val);
}


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





Сообщение: 1996
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 11.01.16 23:22. Заголовок: Genry пишет: Версия..


Genry пишет:

 цитата:
Версия QuMA_ChannelsFIBO_min.mq4 урезана для вызова из советника, чтобы ускорить тестирование.


Соедините эту версию с предыдущей и получите оптимальный вариант.
Вроде бы так, но надо будет еще проверить. А в советнике не стоит вызывать индикатор. Достаточно просто поставить в него функцию расчета текущих уровней. Она будет достаточно компактной и "легкой".

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




Сообщение: 2191
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 11.01.16 23:44. Заголовок: Scriptong пишет: Вр..


Scriptong пишет:

 цитата:
Вроде бы так, но надо будет еще проверить. А в советнике не стоит вызывать индикатор. Достаточно просто поставить
в него функцию расчета текущих уровней. Она будет достаточно компактной и "легкой".



Предложения понятны, спасибо, Игорь! Эх, практики не хватает. Я еще хотел сделать из этого индикатора MTF-ный. Возможно
это улучшит результат, если сигналы на вход и выход будут с разных ТФ.

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





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


Genry пишет:

 цитата:
Эх, практики не хватает. Я еще хотел сделать из этого индикатора MTF-ный.


Практика подоспела

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




Сообщение: 2195
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 14.01.16 22:17. Заголовок: Ура! Это как с велос..


Ура! Это как с велосипеда на ракету пересесть: был здесь - и сразу там

Спасибо, Игорь, за участие в этом вопросе - думаю много трейдеров скажет доброе слово!

А еще один вариант - mtf третьим будет ?

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





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


Genry пишет:

 цитата:
А еще один вариант - mtf третьим будет ?


Не будет ли слишком много линий? Для текущего и еще одного ТФ - 16 линий, для трех ТФ - 24 и т. д.

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




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


Scriptong пишет:

 цитата:
Не будет ли слишком много линий? Для текущего и еще одного ТФ - 16 линий, для трех ТФ - 24 и т. д.


А не надо добавлять. Добавить параметр TF - если 0, то текущий, а если > текущего, то с него и данные для отрисовки.
Проще загрузить 2 индикатора на один график, если надо.

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





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


Genry пишет:

 цитата:
А не надо добавлять. Добавить параметр TF - если 0, то текущий, а если > текущего, то с него и данные для отрисовки.
Проще загрузить 2 индикатора на один график, если надо.


А, ну это просто

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




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


Scriptong пишет:

 цитата:
Genry пишет: цитата:А не надо добавлять. Добавить параметр TF - если 0, то текущий, а если > текущего, то с него и данные для отрисовки. Проще загрузить 2 индикатора на один график, если надо.

Scriptong пишет: А, ну это просто



Это хорошо что просто, а возможности расширяет

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




Сообщение: 2192
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 13.01.16 15:14. Заголовок: Обсуждая ускорение Q..


Обсуждая ускорение QuMaшки, мы с коллегой iew независимо совершили "открытие" - исправленная QuMaшка отлично повторяет Envelopes из
стандартного набора МТ, которые при оптимизации должны работать быстрее любого пользовательского индикатора



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




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


Genry пишет:

 цитата:
Обсуждая ускорение QuMaшки, мы с коллегой iew независимо совершили "открытие" - исправленная QuMaшка отлично
повторяет Envelopes из стандартного набора МТ, которые при оптимизации должны работать быстрее любого пользовательского индикатора .



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

 
double i_fibo_Level1 = i_fiboLevel1; // для удобства оптимизации и задания шага фибо
double i_fibo_Level1_cl = i_fiboLevel1_cl; // для удобства оптимизации и задания шага фибо
double i_fibo_Level1_v2 = i_fiboLevel1_v2; // для удобства оптимизации и задания шага фибо
double i_fibo_Level1_v2_cl = i_fiboLevel1_v2_cl; // для удобства оптимизации и задания шага фибо

//+------------------------------------------------------------------+

switch ( int(i_fiboLevel1 ))
{
case -1: i_fibo_Level1 = 23.6; break; // 23.6
case -2: i_fibo_Level1 = 38.2; break; // 38.2
case -3: i_fibo_Level1 = 50.0; break; // 50
case -4: i_fibo_Level1 = 61.8; break; // 61.8
case -5: i_fibo_Level1 = 78.6; break; // 78.6
case -6: i_fibo_Level1 = 82.87; break; // Gann 82.87
case -7: i_fibo_Level1 = 88.2; break; // 88.2
case -8: i_fibo_Level1 = 100.0; break; // 100.0

default: i_fibo_Level1 = i_fiboLevel1;
}
switch ( int(i_fiboLevel1_cl ))
{
case -1: i_fibo_Level1_cl = 23.6; break; // 23.6
case -2: i_fibo_Level1_cl = 38.2; break; // 38.2
case -3: i_fibo_Level1_cl = 50.0; break; // 50
case -4: i_fibo_Level1_cl = 61.8; break; // 61.8
case -5: i_fibo_Level1_cl = 78.6; break; // 78.6
case -6: i_fibo_Level1_cl = 82.87; break; // Gann 82.87
case -7: i_fibo_Level1_cl = 88.2; break; // 88.2
case -8: i_fibo_Level1_cl = 100.0; break; // 100.0

default: i_fibo_Level1_cl = i_fiboLevel1_cl;
}

switch ( int(i_fiboLevel1_v2 ))
{
case -1: i_fibo_Level1_v2 = 23.6; break; // 23.6
case -2: i_fibo_Level1_v2 = 38.2; break; // 38.2
case -3: i_fibo_Level1_v2 = 50.0; break; // 50
case -4: i_fibo_Level1_v2 = 61.8; break; // 61.8
case -5: i_fibo_Level1_v2 = 78.6; break; // 78.6
case -6: i_fibo_Level1_v2 = 82.87; break; // Gann 82.87
case -7: i_fibo_Level1_v2 = 88.2; break; // 88.2
case -8: i_fibo_Level1_v2 = 100.0; break; // 100.0

default: i_fibo_Level1_v2 = i_fiboLevel1_v2;
}

switch ( int(i_fiboLevel1_v2_cl ))
{
case -1: i_fibo_Level1_v2_cl = 23.6; break; // 23.6
case -2: i_fibo_Level1_v2_cl = 38.2; break; // 38.2
case -3: i_fibo_Level1_v2_cl = 50.0; break; // 50
case -4: i_fibo_Level1_v2_cl = 61.8; break; // 61.8
case -5: i_fibo_Level1_v2_cl = 78.6; break; // 78.6
case -6: i_fibo_Level1_v2_cl = 82.87; break; // Gann 82.87
case -7: i_fibo_Level1_v2_cl = 88.2; break; // 88.2
case -8: i_fibo_Level1_v2_cl = 100.0; break; // 100.0

default: i_fibo_Level1_v2_cl = i_fiboLevel1_v2_cl;
}

return(0);
}


И то-же самое для Envelopes:

double Envelopes_MA = iMA(Symbol(),0, MA_Period, MA_Shift, MA_Method, Applied_Price,1); 
switch ( int( Deviation ))
{
case -1: Deviation = 0.23* Envelopes_MA; break; // 23.6
case -2: Deviation = 0.38* Envelopes_MA; break; // 38.2
case -3: Deviation = 0.50* Envelopes_MA; break; // 50
case -4: Deviation = 0.62* Envelopes_MA; break; // 61.8
case -5: Deviation = 0.78* Envelopes_MA; break; // 78.6
case -6: Deviation = 0.83* Envelopes_MA; break; // Gann 82.87
case -7: Deviation = 0.88* Envelopes_MA; break; // 88.2
}
double Envelopes_MA_cl = iMA(Symbol(),0, MA_Period_cl, MA_Shift_cl, MA_Method_cl, Applied_Price_cl,1);
switch ( int( Deviation_cl ))
{
case -1: Deviation_cl = 0.23* Envelopes_MA_cl; break; // 23.6
case -2: Deviation_cl = 0.38* Envelopes_MA_cl; break; // 38.2
case -3: Deviation_cl = 0.50* Envelopes_MA_cl; break; // 50
case -4: Deviation_cl = 0.62* Envelopes_MA_cl; break; // 61.8
case -5: Deviation_cl = 0.78* Envelopes_MA_cl; break; // 78.6
case -6: Deviation_cl = 0.83* Envelopes_MA_cl; break; // Gann 82.87
case -7: Deviation_cl = 0.88* Envelopes_MA_cl; break; // 88.2
}


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




Сообщение: 2213
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация: 3
ссылка на сообщение  Отправлено: 29.01.16 12:43. Заголовок: Перенес свои сообщен..


Перенес свои сообщения из ветки советника по Квантуму:

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



2. На сильном тренде если цена пробивает максимально удаленный ATR-уровень , например: 8.618 - по сигналам Квантума начинаем строить сетку.
Сетку переводим в безубыток (закрытием части ордеров ) при развороте и достижении предыдущего уровня 6.618 и :
1. закрываем при достижении уровня 3.618 или
2. оставляем и тралим по уровням до обратного сигнала.

A теперь доказательство эффективности этого алгоритма на примере:

Это график тестера с 01 июня 2014 года по 28 января 2016 года. Сов прошел 20 месяцев начав с 1000$
возможно потому, что открывал и закрывал короткие сетки между уровнями 23 и 38 Фибо с одной стороны
канала, а не у противоположного уровня.



На графике есть пару ступенек которые снесут депозит в 1000$ если начать торговлю в этот день, но в
целом получилось красиво :). Доход в 5000$ за 20 месяцев - это 250 баксов в месяц, совсем немного, но
ММ брался из расчета дальнего уровня, а так можно и побольше поставить.



Жаль на графике есть сливные участки, надо думать как из преодолевать, но может перевод в безубыток поможет или использовать SL.
---------------------------------------------------------------------------------------------------------------------------
В первом примере ММ был: старт: 0.02 множители 1.05 и 1.1
Если взять январь 2016 с 11 числа по сегодня, т.е. пару недель старт тот-же 0.02 и множители 1.2. и 1.3, то данный подход
скальпирования сеткой на одной стороне канала принесет 960$, риски будут выше, но не для этого января :d


---------------------------------------------------------------------------------------------------------------------------

Я сделал скрин с пояснениями к сообщению http://forum.tradelikeapro.ru/index.php?topic=10633.msg259491#msg259491 и проторговал
эту методику руками, получилось так:

1. При торговле волатильности использовал АТR-канал построенный от МА100 в обе стороны. Первоначальные уровни:

а) ATR x 8.618 (8.62) - дальний уровень, при его касании или пробитии начинаем строить сетку по сигналам Квантума.
После касания ценой среднего уровня 6.62 на уровень 8.62 переносим SL - первый шаг трала.

б). АТR х 6.618 (6.62) - средний уровень, при касании его ценой - трал перемещается в безубыток на уровень
8.62. В теории, т.к. ордера открывались за уровнем 8.62 должны получить всю сетку в безубытке, но возможны
варианты, когда часть ордеров останется еще в минусе.

в). АТR х 3.618 (3.62 :) ) - самый близкий к МА100 уровень, используется как сигнал для закрытия половины прибыли
сетки (можно всей сетки), чтобы сделать Сейф.

г) МА100 при касании ценой уровня МА100 можем закрыть всю сетку или передвинуть трал и продолжать тралить по
уровням ATR (и Фибо) до появления встречного сигнала Квантума.



ЗЫ: можно добавить еще один уровень в АТР (хотя он вроде уже есть в советнике) - за 8.62 для установки первоначального стопа.

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





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


Genry пишет:

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


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

Спасибо: 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 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет