Блог им. 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

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
462 | ★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:
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 29 мая 2026 г.
Следите за нашими новостями в удобном формате: Telegram , Youtube , RuTube, Smart-lab , ВКонтакте , Сайт
РусГидро улучшило квартальные результаты
Акции РусГидро с начала торгов 29 мая прибавили в цене 0,18%, достигнув 0,3929 руб., при умеренно негативной динамике на российском фондовом рынке...
Фото
Индикатор Standard Deviation в OsEngine: формулы расчёта, сигналы и бесплатный робот. Видео.
В этом видео разберём индикатор StdDev (Standard Deviation) — меру разброса цены относительно среднего, которую используют для оценки...
Фото
Газпром: EBITDA за 1-й квартал близка к 1 триллиону рублей, но акции дешевеют. Ормузский пролив не помог, смотрим отчет
Газпром отчитался по МСФО за 1-й квартал 👉 Выручка на уровне прошлого года (-0,3% г/г) 👉 Операционная прибыль +27,1% г/г...

теги блога autotrade

....все тэги



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