10$ за модернизацию индикатора - страница 5

 
Ну да, года как полтора уже. И вся фишка в нецелых периодах :)
 
Mathemat >>:
grell предложил формулу, показывающую, как можно непрерывно трансформировать мувинг от периода 3 к периоду 4. При этом изменяются мувинги целиком, а не их отдельные коэффициенты: все к-ты варианта grell'a отличаются от предложенных раньше.
потому ему зачод! Я ж писал

avatara
писал(а)
>>
А что еще можно предложить? Простейшая интерполяция будет?
---
Mathemat >>:
avatara, не томи, предложи свой геометрический вариант.

Не все высказались еще. ;)

Sпроггер игнорирует :(

 
grell >>:
Пока мы тут лясы точим, Unknow там капусту рубит:)))

Стейт даже выложил.

;)

 
Поставим вопрос иначе. Что означает период 3.333333?

1. При расчете используется 3 полных бара и треть от четвертого? Тогда какой кусок брать?
2. При расчете используются некое "среднее" между 3 и 4 периодами. Какое такое среднее?
3. При расчете мы с каждого бара берем по чуть-чуть? По сколько?
4. При расчете мы трансформируем ТФ. Как?
итд.
 
Кстати, трансформация ТФ - тоже вариант. Что-то в дебри мы забрели...
Интересно, хоть кто-нибудь знает, как это реализовано в платформах, предлагающих нецелые периоды?
 
На коротких ТФ не вариант, а вот начиная с Н1 или Н4 можно подумать.
 
Блин, мужики, вам только палец покажи! Пять страниц не предел.
 
granit77 >>:
Блин, мужики, вам только палец покажи! Пять страниц не предел.

Знаете решение?

Или не интересно?

 
Ну набросал я индикатор по SMA. Вообще-то, что весовая часть дробной части приходится на старший бар, логично. Отсчитываем-то назад, в историю.
Вот картинка. красный - SMA(4), синий - SMA(3.5), зеленый - SMA(4.5):

Индюк прикреплен, и вот код:
#property indicator_chart_window // в окне инструмента
#property indicator_buffers 1
#property indicator_color1 Blue  

// входные параметры
extern double MAperiod=3; // 
 int History=0; // 0- все бары

double   SMA[]; // массив буфера
double rt; // дробная часть периода
int per; // целая часть периода

void init() {// инициализация
   per=MathFloor(MAperiod);
   rt=MAperiod-per;
   SetIndexBuffer(0,SMA); // индикатор
   SetIndexStyle(0,DRAW_LINE);
   SetIndexLabel(0,"SMA("+DoubleToStr(MAperiod,2)+")");
  }

void start() {
   int limit=Bars-IndicatorCounted()-1; 
   if(History!=0 && limit>History) limit=History-1; // кол-во пересчетов по истории

   for(int i=limit; i>=0; i--) { // цикл пересчета по ВСЕМ барам
      int j=i+per;
      double ma=rt*Close[j];
      j--;
      for(; j>=i; j--) ma+=Close[j];
      ma/=MAperiod;
      SMA[i]=ma;
     }   
  }
Файлы:
rsma.mq4  1 kb
 
Тоже набросал (SMA) Красная 2, желтая 3, SteelBlue 2.5 

Файлы:
drobma.mq4  1 kb
Причина обращения: