Блог им. autotrade

Идея для торговой системы. Сглаживание цены

За N бар считаем средний объем.
Считаем среднее изменение цены на этих барах, где объем ниже  от среднего умноженного на 1.5
Если изменение цены на текущем баре по модулю больше, чем полученное средняя цена, то принимаем ее с таким же знаком, но со значением средней цены. Строим таким образом сглаженный график цены и торгуем по нему.

Вывод: график цены становится более горизонтальный, а это значит, что для анализа нового графика больше подходит осцилляторы, а не средние. Удобнее будет каналы строить, например, Боллинджера. И сам график становится более плавный без шума.
Идея для торговой системы. Сглаживание цены
--[[
индикатор: индикатор сглаживания цены 
параметры: 
--]]
Settings={
Name="modi_price_v1",
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0, 0, 0)
                    },				
					{  
                        Name = "c <a name="cut"></a> ur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255, 0, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0, 255, 0)
                    }
                }
}

function Init()
  
      
  return 3
  
end

function OnCalculate(index)
  if index == 1 then 
    ind = {}
	ind[index] = O(index)
  else 
    ind[index] = ind[index-1]
  end 
  if index > 10 then 
    avgVs = 0
    for i = index-10, index-1 do 	
      avgVs = avgVs + V(i) 
    end 
	avgV = avgVs/10
	avgPs = 0
	avgPcnt = 0
    for i = index-10+1, index-1 do 	
      if avgV*1.5 > V(i) then 
	    avgPs = avgPs + math.abs(O(i)-O(i-1))
		avgPcnt = avgPcnt+1
      end 	  
    end 	
	if avgPcnt ~= 0 then 
	  avgP = avgPs/avgPcnt
	end 
    if avgV*1.5 > V(index) then 
	  ind[index] = ind[index-1]+O(index)-O(index-1)
	else 
	  if O(index)-O(index-1) > 0 then 
	    ind[index] = ind[index-1]+avgP
	  else
	    ind[index] = ind[index-1]-avgP
	  end 	
    end 	
  end 

  
  return ind[index] 
 
 
  
end

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

412
3 комментария
Скрин в студию! )))
avatar
Alexey Manin, пока не сделал
avatar
autotrade, как вообще, теханализ рулит в алготрейдинге?
avatar

Читайте на SMART-LAB:
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО «Оил Ресурс» и АО "Кириллица" присвоен статус "под наблюдением", ООО «УРОЖАЙ» понижен до ССС(RU))
🔴ООО «СЭТЛ ГРУПП» АКРА понизило кредитный рейтинг до уровня A-(RU), изменив прогноз на «Стабильный», И ЕГО ОБЛИГАЦИЙ — ДО УРОВНЯ A-(RU). Ранее...
Фото
Что говорят аналитики о причинах роста цен на никель
Стоимость никеля на Лондонской бирже металлов достигла максимума почти за два года, поднявшись в начале мая к 19,000 $/тонну , что более чем на...
Фото
Какие активы дают доходность выше индекса 📈
Активные инвесторы ищут на рынке не просто усреднённый процент, а премию — сверхприбыль. Это доходность, которая уверенно обгоняет рост...
Фото
Выработка электроэнергии в РФ в марте 2026г. по Росстату и объем потребления энергии в апреле 2026г.
Росстат представил данные по выработке электроэнергии в РФ в марте 2026г.: 👉 выработка электроэнергии в РФ — 106,34 млрд кВт*ч. ( -0,7%...

теги блога autotrade

....все тэги



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