Получение уровней Fibo

 
Здравствуйте. Отрисовать фибо можно обычным ObjectCreate(). Но я хочу сделать свой вид фибо, то есть изменить цвет линии, по своему назвать. То есть как мне получать уровни фибо и отрисовать их по своему?
 
Igor Kryuchkov:
Здравствуйте. Отрисовать фибо можно обычным ObjectCreate(). Но я хочу сделать свой вид фибо, то есть изменить цвет линии, по своему назвать. То есть как мне получать уровни фибо и отрисовать их по своему?
В кодбазе этих фибов пруд пруди каких хочешь...
 
elmucon:
В кодбазе этих фибов пруд пруди каких хочешь...

Вопрос прежний.

Как получить цены уровней Фибо не отрисовывая его на графике?
 
Igor Kryuchkov:

Вопрос прежний.

Как получить цены уровней Фибо не отрисовывая его на графике?

Посчитать по математической формуле, начало 0, конец 100, от этого и расчитывать

Вот огрызок кода, думаю по аналогии сделаете расчёты

   amount=MathMin(Bars-10,amount);
   for(int i=0; i<amount; i++)
     {
      if(td!=TimeDay(Time[i]))
        {
         td=TimeDay(Time[i]);
         d++;
         if(d>DaysBack && DaysBack>0) return;
         h1=iBarShift(NULL, 0, StrToTime(TimeToStr(Time[i], TIME_DATE)+" "+OpenTime));
         h2=iBarShift(NULL, 0, StrToTime(TimeToStr(Time[i], TIME_DATE)+" "+CloseTime)+(Period()*60));
         t1=High[iHighest(NULL, 0, MODE_HIGH, h1-h2, h2+1)];
         t2=Low [iLowest (NULL, 0, MODE_LOW , h1-h2, h2+1)];
        }
      if((h1>=i && i>h2) || (h2>=i && i>h1))
        {
         if(prevday!=TimeDay(Time[i]))
           {
            buf0[i]=t1-(t1-t2)*0;
            buf100[i]=t1-(t1-t2)*1;
            buf_0_618[i]=t1-(t1-t2)*(-0.618);
            buf161[i]=t1-(t1-t2)*1.618;
            buf_261[i]=t1-(t1-t2)*(-1.618);
            buf261[i]=t1-(t1-t2)*2.618;
            if(Fibo423==True)
              {
               buf_423[i]=t1-(t1-t2)*(-3.236);
               buf423[i]=t1-(t1-t2)*4.236;
              }
           }
         b1=iBarShift(NULL,0,StrToTime(TimeToStr(CurTime(),TIME_DATE)+" "+OpenTime));
         b2=iBarShift(NULL,0,StrToTime(TimeToStr(CurTime(),TIME_DATE)+" "+CloseTime));
         d1=High[iHighest(NULL,0,MODE_HIGH,b1-b2+1,b2)];
         d2=Low [iLowest (NULL,0,MODE_LOW ,b1-b2+1,b2)];
         SetLine(0,d1);
         SetLine(1,d2);
        }
     }
 
Igor Kryuchkov:

Вопрос прежний.

Как получить цены уровней Фибо не отрисовывая его на графике?

Математика и не более. Нужно, чтобы было известно две цены: цена 0% - A и цена 100% - В. Также потребуется знать значение уровня (Level), для которого необходимо рассчитать цену.

Тогда цена искомого уровня для восходящей Фибо: X = A + (B - A) * Level / 100. Для нисходящей Фобо: X = A - (A - B) * Level / 100.

 
Ihor Herasko:

Математика и не более. Нужно, чтобы было известно две цены: цена 0% - A и цена 100% - В. Также потребуется знать значение уровня (Level), для которого необходимо рассчитать цену.

Тогда цена искомого уровня для восходящей Фибо: X = A + (B - A) * Level / 100. Для нисходящей Фобо: X = A - (A - B) * Level / 100.


Спасибо.