Блог им. autotrade

индикатор расчета матриц

Очередная серия в продолжении темы: smart-lab.ru/blog/1147367.php
Делаем элементарный индикатор расчета матрицы.
В данном случае рассчитываем простую матрицу вида:
индикатор расчета матриц

--[[
Индикатор расчета матриц
параметры: 

--]]
Settings={
Name="matrix_ma_v1",
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
                    {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 255)
                    }					
                }
}

function Init()
   

  return 2
  
end


function getretm(cnt, mas)

  b={{},{}}

  for k=1, cnt do 
    for i=1, cnt do
	  b[i] = {}
	 
      for j=1, cnt do       
        if (i==k) and (j==k) then
           <a name="cut"></a>  b[i][j] = 1/mas[i][j]
		end  
        if (i==k) and (j~=k) then
          b[i][j] = (-mas[i][j])/mas[k][k]
		end --[[ --]]  --[[ --]]
        if (i~=k) and (j==k) then
          b[i][j] = mas[i][k]/mas[k][k]
		end   
        if (i~=k) and (j~=k) then
          b[i][j] = mas[i][j] - mas[k][j] * mas[i][k]/mas[k][k]
		end   		
	  end 
      	  
    end
	
    for i= 1, cnt do
      for j= 1, cnt do 
	    mas[i][j]= b[i][j]
	  end 
    end --[[--]]	   
  end

end 


function getmultm(cnt, mas1, mas2, mas3)

  for i=1, cnt do

    d = 0
    for j=1, cnt do     
      d = d + mas2[j]*mas1[i][j]	--[[--]]
    end
    mas3[i] = d

  end
 
end 

function OnCalculate(index)


  if index == 1 then 
  
    -- matrix dimension
    cnt = 2

    mas={{},{}}

    k = 0
    for i=1, cnt do
      mas[i] = {}
      for j=1, cnt do
	    k = k + 1
        mas[i][j] = k
      end 
    end 
  
    masel = {}
    masel[1] = 1
    masel[2] = 2
  
    masres = {}
  
    getretm(cnt, mas)
  
    getmultm(cnt, mas, masel, masres)

  end 


return masres[1],  masres[2]


end 
6 комментариев
Не подскажешь, может знаешь, можно ли из робота(на луа) начертить 3 линии на графике, чтоб без сильных заморочек?
Главком Главком, можно
avatar
autotrade, по хорошему надо перед отрисовкий очитить график и нарисовать три горизотнтальные лини по трем ценам
А смысл?
avatar
Vkt, дальше на базе него буду адаптивную делать продолжение следует
avatar
птица счастья завтрашнего дня

теги блога autotrade

....все тэги



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