Упрощенный алгоритм индикатора zigzag

в дальнейшем в него встрою сигналы и наклонные уровни

Упрощенный алгоритм индикатора zigzag

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGPROF",
Procent=1,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    }				
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
    
  return 1
  
end

function OnCalculate(index)

  de = Settings.Procent

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
 
  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl
 
  
end


 

 
  • обсудить на форуме:
  • Quik Lua

Рекомендации по акциям на 09.08.2019

Алроса покупка
Rusal продавать
Роснефть покупка
Аэрофлот продавать
НЛМК покупка
Сургутнефтегаз П покупка
ФСК ЕЭС покупка
настоящие рекомендации носят спекулятивный характер и не являются единственным на что стоит опираться при принятии решения

USDRUB

доллар уперся в сопротивление
думаю мы его увидим куда ниже чем он сейчас (если нефть уйдет выше)

USDRUB



Слитки для народа: россиянам предложат золото вместо долларов


Слитки для народа: россиянам предложат золото вместо долларов



МОСКВА, 31 июл — РИА Новости, Наталья Дембинская. Россия активно избавляется от доллара, скупая золото в международные резервы. Более того, президент подписал закон, отменяющий 20-процентный налог на добавленную стоимость, которым облагается приобретение драгметалла физлицами.
Источник: РИА Новости

РИА Новости разбиралось, какие в результате открываются перспективы для граждан, зачем вообще инвестировать в золото, насколько доходны такие вложения и можно ли их рассматривать как альтернативу доллару и евро.
Слитки без налога

В соответствии с законом от НДС в размере 20% освобождаются операции по привлечению драгоценных металлов во вклады не только юридических, но и физических лиц. Причем речь идет именно о золотых слитках.

В отличие от обезличенных металлических счетов (где НДС облагается лишь снятие со счета металла в физической форме), при покупке слитков приходится обязательно уплачивать НДС, те самые 20%. Налог фактически сводил на нет целесообразность вложений в физическое золото и лишал его инвестиционной привлекательности.

( Читать дальше )

Адаптивная МА

анализирует и подбирает наилучшую среднюю

Адаптивная МА



код:
Settings={
Name="ADAPTMA",
n=5,
m=10,
    line=                                     
                {      --[[                         
                    {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }, {  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }, {  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }, {  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }, {  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }, --]]
					{  
                        Name = "cur6",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    }		
                }
}
--[[

-- кривая сдвига
описание свойств:

delta: сдвиг в барах от цены вправо

--]]

function Init()
    
  ma={}
  val={}
  return  1
  
end

function OnCalculate(index)

  n = Settings.n
  m = Settings.m
     
      ma[index]={}
	  val[index]={}	 
	 
	 for i=1, n do
	  	  
	    if index > 1 then
		  if ma[index-1][i] ~= nil then
	        ma[index][i] = ma[index-1][i] + O(index) 	  
		  else
		  ma[index][i] = O(index) 	  
		  end
		else  		  
		  ma[index][i] = O(index) 
	    end
		
		period = i*10
				
		if index - period > 1 then
		  if ma[index-period][i] ~= nil then
		    val[index][i] = (ma[index][i] - ma[index-period][i])/period
		  else
		    val[index][i] = ma[index][i]
		  end
		else
          val[index][i] = nil		
		end
	
						
	 end

     
	 k = n	 
	 p = 0	 
	 for j=n, 1,-1 do
	   e = 0
	   pj = 0
	   if index-m > 1 then
	     for i=index-m, index-1 do
	       if val[i-1][j] ~= nil and val[i][j] ~= nil then
		     if (
		        val[i-1][j] <= O(i-1) and val[i][j] > O(j) or  
		        val[i-1][j] >= O(i-1) and val[i][j] < O(j) 
			    )
		     then
		       e = e + 1
		     end
		   end  
	     end
		 pj = -O(index)*0.001*e
		 if O(index) >= O(index-m) then		   
		   pj = O(index) - O(index-m) + pj
		 else
		   pj = O(index-m) - O(index) + pj
		 end
	   end
	   if pj > p then 
	     p = pj
	     k = j
	   end
	 end
	 
	  val[index][n+1] = val[index][k]
	 
	 --return ma[index]

 -- return val[index][1], val[index][2], val[index][3], val[index][4], val[index][5], val[index][6]
 
  return val[index][n+1]

  --[[
  val[1]  ={}
  val[1][index] = 9
  
  return val[1][index]
--]]

end



теги блога autotrade

....все тэги



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