Блог им. autotrade

Индикатор средней на разных TF(15/60/D) одной длины

Индикатор средней на разных TF(15/60/D) одной длины
То есть у нас есть 15-минутный график и на нем отображаем среднюю с периодом 200 на 15 минутках, период 200 на часах и период 200 на днях, все на одном графике.
Кстати, если построить на 15 минутке среднюю 200, то она почти будет совпадать со средней 50 на часах того же графика
Индикатор позволяет сократить количество окон с разными таймфреймами
Индикатор средней на разных TF(15/60/D) одной длины
--[[
средние на разных TF(15/60/D) одной длины
--]]
Settings=              
        {                          
            Name = "SMA_mult_template_v1",   -- indicator name
            ln=200,               -- period	
            line=                                     
                {                               
                    {  
                        Name = "SMA_TEMPL",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0,255)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0,255)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0,255)
                    }					
                }
       }


function Init()
  
  return 3
end


function OnCalculate(index)

  ln = Settings.ln 
  

  if index == 1 then 
    hour = {}
    day = {}  
  
    sum = {}
    sma = {}  	
    n = {}	
	
    sumh = {}
    smah = {}  	
    nh = {}		
	nhi = {}
	
    sumd = {}
    smad = {}  
    nd = {}		
	ndi = {}	
	
    sum[index] = O(index)
    n[index]=1
	
    sumh[index] = O(index)
    nh[index]=1
    nhi[index]=1
	
    sumd[index] = O(index)
    nd[index]=1	
    ndi[index]=1	
	
	hour[index] = T(index).hour	
	day[index] = T(index).day	
	
  else
  
    if index > ln then     
      sum[index] = sum[index-1] + O(index)
	  sum[index] = sum[index] - O(index-ln)
      n[index] = n[index-1]
    else 
      sum[index] = sum[index-1] + O(index)
      n[index] = n[index-1] + 1	
    end 
	
	if hour[index-1] ~= T(index).hour then 
      nh[index] = nh[index-1] + 1		
      nhi[nh[index]] = index
	  if nh[index] > ln then 
	    sumh[index] = sumh[index-1] + O(index)-O(nhi[nh[index]-ln])
		smah[index] = sumh[index]/ln
	  else
	    sumh[index] = sumh[index-1] + O(index)
		smah[index] = nil
	  end 
	else  
      nh[index] = nh[index-1]
      sumh[index] = sumh[index-1]  
	  smah[index] = nil
    end 
	
	if day[index-1] ~= T(index).day then 
      nd[index] = nd[index-1] + 1		
      ndi[nd[index]] = index
	  if nd[index] > ln then 
	    sumd[index] = sumd[index-1] + O(index)-O(ndi[nd[index]-ln])
		smad[index] = sumd[index]/ln
	  else
	    sumd[index] = sumd[index-1] + O(index)
		smad[index] = nil
	  end 
	else  
      nd[index] = nd[index-1]
      sumd[index] = sumd[index-1]  
	  smad[index] = nil
    end 	
	
	hour[index] = T(index).hour	
	day[index] = T(index).day		
  end
  
  
  if n[index] ~= 0 then 
    sma[index] = sum[index]/n[index]
  end  
   

    return sma[index], smah[index], smad[index]
 
  
end

453 | ★2
5 комментариев
это все куйня, вот в МТ4, есть индикатор, который на рабочем ТФ показывает машку, с заданным периодом, в виде горизонтальной линии. Допустим рабочий Н1, а линии SMA200 отрисует на этом ТФ, как она графиках Н4, D1, W1, одновременно.
avatar
Клетчатый, здесь тоже самое
avatar
autotrade, 
avatar
гм… достаточно просто знать элементарную математику.

ЕМА50 на н4 = ЕМА200 на н1 = ЕМА 800 на м15 ну и т.д.
avatar
jin, на ema и sma по разному
avatar

Читайте на SMART-LAB:
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 6 апреля 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Кредиты и займы россиян впервые достигли 45 трлн руб.
Объем выданных россиянам заемных средств оценивается в 45 трлн руб. Почти половина этой суммы (21,7 трлн руб.) — это ипотека, 13,4 трлн —...
ПАО «ЭсЭфАй» погасило казначейские акции в размере 3,2% уставного капитала
Решение о погашении казначейских акций холдинга в размере 1 614 614 штук было принято акционерами на общем собрании 14 декабря 2025 года. С 3...
Ваш любимый Мозговой штурм спешит на помощь! Мнение по текущему рынку простыми словами
В нашем рейтинге акций   знаменательное событие! Рекордное число акций с рейтингом 4 — 14 штук!!! И, вероятно, будет еще больше! Сегодня я...

теги блога autotrade

....все тэги



UPDONW
Новый дизайн