Скачать MetaTrader 5

уровни CCI на графике

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Dmitiry Ananiev
6759
Dmitiry Ananiev  
Есть индикатор CCI. У индикатора есть линии 100 и -100. Как узнать цену при которой CCI будет показывать 100 или -100?
artikul
8107
artikul  
Спросить об этом у самого CCI )))
Artyom Trishkin
Модератор
78991
Artyom Trishkin  
dimeon:
Есть индикатор CCI. У индикатора есть линии 100 и -100. Как узнать цену при которой CCI будет показывать 100 или -100?

Можно узнать только цену, которая была при пересечении уровней. Причём две цены: первая до пересечения, вторая - после пересечения.

Если вам нужна будущая цена, то ошиблись форумом. Тут не предсказатели.

Юрий
46
Юрий  
dimeon:
Есть индикатор CCI. У индикатора есть линии 100 и -100. Как узнать цену при которой CCI будет показывать 100 или -100?

это было бы возможно если бы индикатор зависел только от ОДНОЙ последней цены. но т.к. это не так, то обратный расчет невозможен.
Dmitiry Ananiev
6759
Dmitiry Ananiev  
Хорошо, Как узнать цену на нулевом баре, т.е. на текущем при котором CCI будет равен 100 или -100 ?
Vitalie Postolache
12315
Vitalie Postolache  
dimeon:
Хорошо, Как узнать цену на нулевом баре, т.е. на текущем при котором CCI будет равен 100 или -100 ?

Ну не предсказывает СС! будущего, когда будет 100 или -100, тогда и на цену смотреть, раньше - никак...


Да и в случае нулевого бара тоже цену можно только сравнительно смотреть: вот предыдущий тик СС! был ниже 100, а с приходом нового тика он уже выше 100, гарантии равенства не будет практически никогда.

Dmitry Fedoseev
43863
Dmitry Fedoseev  
dimeon:
Хорошо, Как узнать цену на нулевом баре, т.е. на текущем при котором CCI будет равен 100 или -100 ?


Наверно подбором. Подставляем разную цену и смотрим как изменяется ССI.

Если решать обратную задачу возникает несколько проблем.

1. CCI использует в расчете несколько цен одного бара. Это ладно, можно упросить задачу и выполнять расчет CCI только по цене закрытия.

2. Если упрощать код, чтобы получить общую формулу, а потом вывести обратную формулу, получаем такое дело:

   int i,limit=Bars-IndicatorCounted()-1;
   double mul = 0.015 / CCIPeriod;
   
   for(i = limit; i >=0; i--){

       double sma0=0;
         for(int j=i+1;j<i+CCIPeriod;j++){
            sma0+=Close[j];
         }
         
      double sum0 = 0.0;
         for(j=i+1;j<i+CCIPeriod;j++){
            sum0 += MathAbs(Close[j] - sma0/CCIPeriod - Close[i]/CCIPeriod);
         }
         
      double d=sum0*mul + MathAbs(Close[i] - sma0/CCIPeriod - Close[i]/CCIPeriod)*mul;
       if(d==0.0){ 
           CCIBuffer[i] = 0.0;
       }           
       else{
           CCIBuffer[i] = (Close[i] -(sma0+Close[i])/CCIPeriod)/d;
       }

Жирным выделен Close[i], если бы его как-то вытащить из под цикла...

Alexey Subbotin
4998
Alexey Subbotin  

Не получится даже подбором.

Если бы в расчете использовались только цены Close, то можно было бы, т.к. Тогда в общем уравнении была бы только 1 неизвестная - Close[0]. Но дело в том, что CCI считается по типичным ценам (HIGH + LOW + CLOSE)/3, т.е. Не зная Low и High нулевого бара (которые можно определить только после его формирования), мы не сможем вычислить и его Close.

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

Dmitry Fedoseev
43863
Dmitry Fedoseev  
alsu:

Не получится даже подбором.

Если бы в расчете использовались только цены Close, то можно было бы, т.к. Тогда в общем уравнении была бы только 1 неизвестная - Close[0]. Но дело в том, что CCI считается по типичным ценам (HIGH + LOW + CLOSE)/3, т.е. Не зная Low и High нулевого бара (которые можно определить только после его формирования), мы не сможем вычислить и его Close.

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


Подбором - меняем Close и по мере необходимости подправляем High или Low.

Насчет вывода формулы, думаете возможно?

fozi
2926
fozi  

Я когда то давно такую тему поднимал.

Помню кто то сделал и сказал. Ух ты как зашибись.

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

На том все закончилось.

Алексей Тарабанов
7327
Алексей Тарабанов  

имхенько, все определяется прикладной сущностью задачи.

Гипотеза 1: Алгоритм предполагается использовать для определения уровня Take Proffit.

Гипотеза 1.1: Профит берется по цене открытия бара.

Допущение: Наилучшей оценкой значения цены открытия нового бара является значение цены закрытия предыдущего бара.

Вариант решения задачи:

1. Обратным преобразованием определяем типичную цену текущего бара, при которой CCI=100%.

2. Непрерывно(на каждом тике) определяем текущее значение оценки искомой цены по формуле:

ЗначениеОценки=3*ТипичнаяЦена-High[0]-Low[0];

3. Тралим Take Proffit, если его предыдущее значение значительно отличается от текущего значения оценки.

Все это не просто, конечно..., а очень просто.:)

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий