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

454 | ★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:
Фото
Интервенция против иены ударила по доллару и дала евро новый импульс
EURUSD прервала снижение и перешла в уверенный рост в пятницу торгуясь на 0.3% выше открытия, хотя еще накануне пара опускалась до 1.1650. Повлияло...
«ЛампаТрампа» в Перми: как это было
«ЛампаТрампа» покорила Пермь и узнала, как инвестировать во времена нестабильности. В центре внимания — решение ЦБ, прогнозы по ставке и реальное...
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО «СОЛИД СпецАвтоТехЛизинг» повышен «B+|ru|», ООО "ГЛАВСНАБ" понижен D(RU), ООО «Проект 111» подтвердил ruBBB)
🟢ООО «СОЛИД СпецАвтоТехЛизинг» НРА повысило кредитный рейтинг до уровня «B+|ru|», прогноз Стабильный. Ранее у компании действовал рейтинг B|ru| с...
Фото
Возвращение легендарных дивидендных увертюр: ЛУКОЙЛ при нефти по 120$ с дивидендом 5% - упущение или находка?
Рынок продолжает катиться в бездну (хотя на самом деле просто не растет) на нефти в 110-120$ и ставке ЦБ РФ в 14,5% (как будто год назад было...

теги блога autotrade

....все тэги



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