Блог им. autotrade

STATDIVVOL индикатор статистического отклонения с учетом объема

индикатор статистического отклонения с учетом объема
STATDIVVOL индикатор статистического отклонения с учетом объема

Settings={
Name="STATDIVVOL",
period=10,
  line=
  {
    {
      Name="curve",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line",
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    }
  } 
}

function Init()
  return 2
end

function OnCalculate(index)
  local sum1=0
  local sum2=0  
  if index < Settings.period then
    return nil, nil
  else   	
    for i=index-Settings.period+1, index do  
      if C(i) > O(i) then
        sum1 = sum1 + (C(i) - O(i))*V(i)
        sum2 = sum2 + (C(i) - O(i))*V(i)
      else
        sum2 = sum2 + (O(i) - C(i))*V(i)
      end  
    end 
    sum1 = sum1/sum2    
  end
  
  return sum1, 0.5

end

с весовыми коэффициентами
STATDIVVOL индикатор статистического отклонения с учетом объема



Settings={
Name="STATDIVVOL",
period=10,
  line=
  {
    {
      Name="curve",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line",
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    }
  } 
}

function Init()
  return 2
end

function OnCalculate(index)
  local sum1=0
  local sum2=0  
  local j=0    
  if index < Settings.period then
    return nil, nil
  else   	
    for i=index-Settings.period+1, index do  
	  j = j + 1 
      if C(i) > O(i) then
        sum1 = sum1 + (C(i) - O(i))*V(i)*j
        sum2 = sum2 + (C(i) - O(i))*V(i)*j
      else
        sum2 = sum2 + (O(i) - C(i))*V(i)*j
      end  
    end 
    sum1 = sum1/sum2 
  end
  
  return sum1, 0.5

end
с весовыми коэффициентами но без объемов
STATDIVVOL индикатор статистического отклонения с учетом объема


Settings={
Name="STATDIVVOL",
period=10,
  line=
  {
    {
      Name="curve",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line",
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    }
  } 
}

function Init()
  return 2
end

function OnCalculate(index)
  local sum1=0
  local sum2=0  
  local j=0    
  if index < Settings.period then
    return nil, nil
  else   	
    for i=index-Settings.period+1, index do  
	  j = j + 1 
      if C(i) > O(i) then
        sum1 = sum1 + (C(i) - O(i))*j--*V(i)*j
        sum2 = sum2 + (C(i) - O(i))*j--*V(i)*j
      else
        sum2 = sum2 + (O(i) - C(i))*j--V(i)*j
      end  
    end 
    sum1 = sum1/sum2 
  end
  
  return sum1, 0.5

end


  • обсудить на форуме:
  • Quik Lua
★3
12 комментариев
Вы такие программы пишите. Неужели сложно засунуть эти ряды в эксель и посмотреть. Выше 0,5 купил, где то закрыл и выложить тест. 
Дмитрий Новиков, сделаю позже
avatar
тут наверное надо было чуть по другому. Есть такой сленг: взвесить объемом.
Вы наверное примерно то же самое хотели, но чуть формула не так вышла. То есть найти связь между отклонением и приложенным объемом.

Можно глянут формулу vwap и применить ее сюда же с небольшими доделками
avatar
Андрей К, неа это не то
у меня как раз взвешанный по объему и + взвешанный по времени те что последние имеют больший вес
avatar
autotrade.ru, 
у меня как раз взвешанный по объему
не соглашусь, чтобы взвесить по объему, нужно еще разделить на суммарный объем (сумма объемов до i-ой свечи)
avatar
Андрей К, вроде так пробовал херня получается можно еще будет попробовать
avatar
ты берёшь в луа вставляешь.
имя на графике задаешь.где этот параметр.
данные с графика в программу.
график на рисунке такой.
френк, это вопрос?
avatar
autotrade.ru, https://smart-lab.ru/blog/531821.php
вот автор турбо паскаль написал с двумя роботами программу и выложил настройку .
ты можешь так?
френк, хз
avatar
А где покупать и продавать?
Игорь Шепелев, это зоны покупки там большая вероятность что сделка удастся а когда именно это вам решать и тейкпрофит и стоплосс вам тоже надо выбирать
avatar

теги блога autotrade

....все тэги



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