Расчёт индекса РТС       
	
	
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 7  
						Регистрация: 01.02.2015  
					 
				 
			 
			
				
				
					 
 
Постоянную Koef я подобрал экспериментально, таким образом, чтобы в момент присоединения индикатора к графику он совпадал с текущий биржевым индексом РТС (RTSI). Коэффициенты W, C, Q и N взяты из таблицы http://moex.com/a3006   
 
 
 
 
 
Индикатор строит график только в текущий момент времени и по текущим ценам акций. И вот что из этого получается: 
 
 
 
 
 
 
Свечной график - это индекс РТС, который предоставляет биржа, а зелёная линия это рассчитанный по моему алгоритму индикатор. 
Скажите, пожалуйста, что я делаю не так и почему возникает рассогласование ? 
Код  Settings=
{
   Name = "RTSI",
   period = 1,
   line = 
   {
      {
         Name = "One",
         Color = RGB(128, 255, 0),
         Type = TYPE_LINE,
         Width = 3
      }
   }
}
function Init()
Koef = 7.17265984478 * 1000000000
k=0
C = {}                        --кол-во выпущенный акций
C[1] = 23673512900
C[2] = 850563255
C[3] = 21586948000
C[4] = 1000000000
C[5] = 94561355
C[6] = 158245476
C[7] = 35725994705
C[8] = 7701998235
C[9] = 3036306000
C[10] = 1,29605E+13
C[11] = 10598177817
C[12] = 2066413562
C[13] = 2178690700
C[14] = 147508500
C[15] = 1554875
C[16] = 2936015891
C[17] = 837718660
C[18] = 7364965630
C[19] = 2278636493
C[20] = 620000000
C[21] = 3,86255E+11
C[22] = 266774342
C[23] = 2669204301
C[24] = 242831469
C[25] = 2000000000
C[26] = 5993227240
C[27] = 9650000000
C[28] = 3032149962
C[29] = 420819943
C[30] = 150570662
C[31] = 29788012
C[32] = 129500000
C[33] = 660497344
C[34] = 63048706145
C[35] = 11174330000
C[36] = 1,27467E+12
C[37] = 103030215
C[38] = 124750000
C[39] = 43963773
C[40] = 1,044E+11
C[41] = 37792603
C[42] = 40534000
C[43] = 1,61079E+11
C[44] = 1110616299
C[45] = 993586094
C[46] = 179768227
C[47] = 416270745
C[48] = 11529538
C[49] = 282215500
C[50] = 34270159
K_free_float = {}                  --коэф-нт free-float
K_free_float[1] = 0.46
K_free_float[2] = 0.46
K_free_float[3] = 0.48
K_free_float[4] = 1
K_free_float[5] = 0.54
K_free_float[6] = 0.3
K_free_float[7] = 0.25
K_free_float[8] = 0.73
K_free_float[9] = 0.27
K_free_float[10] = 0.39
K_free_float[11] = 0.12
K_free_float[12] = 0.49
K_free_float[13] = 0.32
K_free_float[14] = 1
K_free_float[15] = 1
K_free_float[16] = 0.33
K_free_float[17] = 0.21
K_free_float[18] = 0.23
K_free_float[19] = 0.56
K_free_float[20] = 0.15
K_free_float[21] = 0.34
K_free_float[22] = 0.3
K_free_float[23] = 0.28
K_free_float[24] = 0.6
K_free_float[25] = 0.08
K_free_float[26] = 0.14
K_free_float[27] = 0.36
K_free_float[28] = 0.1
K_free_float[29] = 0.25
K_free_float[30] = 0.12
K_free_float[31] = 0.63
K_free_float[32] = 0.19
K_free_float[33] = 0.32
K_free_float[34] = 0.18
K_free_float[35] = 0.14
K_free_float[36] = 0.21
K_free_float[37] = 0.33
K_free_float[38] = 0.33
K_free_float[39] = 0.51
K_free_float[40] = 0.18
K_free_float[41] = 0.39
K_free_float[42] = 0.16
K_free_float[43] = 0.14
K_free_float[44] = 0.32
K_free_float[45] = 0.28
K_free_float[46] = 0.42
K_free_float[47] = 0.35
K_free_float[48] = 0.1
K_free_float[49] = 0.34
K_free_float[50] = 0.46
K_m = {}                     --коэф-нт ограничивающий вес акции
K_m[1] = 0.7442309
K_m[2] = 1
K_m[3] = 1
K_m[4] = 1
K_m[5] = 1
K_m[6] = 1
K_m[7] = 1
K_m[8] = 1
K_m[9] = 1
K_m[10] = 1
K_m[11] = 1
K_m[12] = 1
K_m[13] = 1
K_m[14] = 1
K_m[15] = 1
K_m[16] = 1
K_m[17] = 1
K_m[18] = 1
K_m[19] = 1
K_m[20] = 1
K_m[21] = 1
K_m[22] = 1
K_m[23] = 1
K_m[24] = 1
K_m[25] = 1
K_m[26] = 1
K_m[27] = 1
K_m[28] = 1
K_m[29] = 1
K_m[30] = 1
K_m[31] = 1
K_m[32] = 1
K_m[33] = 1
K_m[34] = 1
K_m[35] = 1
K_m[36] = 1
K_m[37] = 1
K_m[38] = 1
K_m[39] = 1
K_m[40] = 1
K_m[41] = 1
K_m[42] = 1
K_m[43] = 1
K_m[44] = 1
K_m[45] = 1
K_m[46] = 1
K_m[47] = 1
K_m[48] = 1
K_m[49] = 1
K_m[50] = 1
LastPrice = {}
return 1
end
  
function OnCalculate(index)
RTSI = 0
MC_n = 0 
table = getParamEx("TQBR", "GAZP", "LAST")
LastPrice[1] = table.param_value
table = getParamEx("TQBR", "LKOH", "LAST")
LastPrice[2] = table.param_value
table = getParamEx("TQBR", "SBER", "LAST")
LastPrice[3] = table.param_value
table = getParamEx("TQBR", "SBERP", "LAST")
LastPrice[4] = table.param_value
table = getParamEx("TQBR", "MGNT", "LAST")
LastPrice[5] = table.param_value
table = getParamEx("TQBR", "GMKN", "LAST")
LastPrice[6] = table.param_value
table = getParamEx("TQBR", "SNGS", "LAST")
LastPrice[7] = table.param_value
table = getParamEx("TQBR", "SNGSP", "LAST")
LastPrice[8] = table.param_value
table = getParamEx("TQBR", "NVTK", "LAST")
LastPrice[9] = table.param_value
table = getParamEx("TQBR", "VTBR", "LAST")
LastPrice[10] = table.param_value
table = getParamEx("TQBR", "ROSN", "LAST")
LastPrice[11] = table.param_value
table = getParamEx("TQBR", "MTSS", "LAST")
LastPrice[12] = table.param_value
table = getParamEx("TQBR", "TATN", "LAST")
LastPrice[13] = table.param_value
table = getParamEx("TQBR", "TATNP", "LAST")
LastPrice[14] = table.param_value
table = getParamEx("TQBR", "TRNFP", "LAST")
LastPrice[15] = table.param_value
table = getParamEx("TQBR", "URKA", "LAST")
LastPrice[16] = table.param_value
table = getParamEx("TQBR", "CHMF", "LAST")
LastPrice[17] = table.param_value
table = getParamEx("TQBR", "ALRS", "LAST")
LastPrice[18] = table.param_value
table = getParamEx("TQBR", "MOEX", "LAST")
LastPrice[19] = table.param_value
table = getParamEx("TQBR", "MFON", "LAST")
LastPrice[20] = table.param_value
table = getParamEx("TQBR", "HYDR", "LAST")
LastPrice[21] = table.param_value
table = getParamEx("TQBR", "YNDX", "LAST")
LastPrice[22] = table.param_value
table = getParamEx("TQBR", "RTKM", "LAST")
LastPrice[23] = table.param_value
table = getParamEx("TQBR", "RTKMP", "LAST")
LastPrice[24] = table.param_value
table = getParamEx("TQBR", "RUALR", "LAST")
LastPrice[25] = table.param_value
table = getParamEx("TQBR", "NLMK", "LAST")
LastPrice[26] = table.param_value
table = getParamEx("TQBR", "AFKS", "LAST")
LastPrice[27] = table.param_value
table = getParamEx("TQBR", "PGIL", "LAST")
LastPrice[28] = table.param_value
table = getParamEx("TQBR", "POLY", "LAST")
LastPrice[29] = table.param_value
table = getParamEx("TQBR", "BANE", "LAST")
LastPrice[30] = table.param_value
table = getParamEx("TQBR", "BANEP", "LAST")
LastPrice[31] = table.param_value
table = getParamEx("TQBR", "PHOR", "LAST")
LastPrice[32] = table.param_value
table = getParamEx("TQBR", "PIKK", "LAST")
LastPrice[33] = table.param_value
table = getParamEx("TQBR", "EONR", "LAST")
LastPrice[34] = table.param_value
table = getParamEx("TQBR", "MAGN", "LAST")
LastPrice[35] = table.param_value
table = getParamEx("TQBR", "FEES", "LAST")
LastPrice[36] = table.param_value
table = getParamEx("TQBR", "LSRG", "LAST")
LastPrice[37] = table.param_value
table = getParamEx("TQBR", "DIXY", "LAST")
LastPrice[38] = table.param_value
table = getParamEx("TQBR", "GCHE", "LAST")
LastPrice[39] = table.param_value
table = getParamEx("TQBR", "IRAO", "LAST")
LastPrice[40] = table.param_value
table = getParamEx("TQBR", "PHST", "LAST")
LastPrice[41] = table.param_value
table = getParamEx("TQBR", "AKRN", "LAST")
LastPrice[42] = table.param_value
table = getParamEx("TQBR", "RSTI", "LAST")
LastPrice[43] = table.param_value
table = getParamEx("TQBR", "AFLT", "LAST")
LastPrice[44] = table.param_value
table = getParamEx("TQBR", "TRMK", "LAST")
LastPrice[45] = table.param_value
table = getParamEx("TQBR", "MVID", "LAST")
LastPrice[46] = table.param_value
table = getParamEx("TQBR", "MTLR", "LAST")
LastPrice[47] = table.param_value
table = getParamEx("TQBR", "VSMO", "LAST")
LastPrice[48] = table.param_value
table = getParamEx("TQBR", "MSTT", "LAST")
LastPrice[49] = table.param_value
table = getParamEx("TQBR", "SVAV", "LAST")
LastPrice[50] = table.param_value
i=1
while (i <= 50) do
   MC_n = MC_n + LastPrice[i] * C[i] * K_free_float[i] * K_m[i]
   i = i+1
end
return (MC_n/Koef)
end 
  
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 4075  
						Регистрация: 30.01.2015  
					 
				 
			 
			
				
				
					если в алгоритме нет ошибки,  то Koef .
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 7  
						Регистрация: 01.02.2015  
					 
				 
			 
			
				
				
					Николай, я не думаю, что вы правы. Koef - это константа, и она влияет только на то, будет ли индикатор выше или ниже реального индекса РТС. На рисунке ниже, вы видите индикатор RTSI для разных значений Koef. 
Из рисунка видно, что этот параметр не влияет на форму графика. И даже если я подобрал его не правильно, расчётное значение RTSI было бы строго параллельно реальному значению RTSI, которое предоставляет биржа.
Я, кстати, в первом посте ошибку допустил. Значение цены Pi берётся в долларах, а не в рублях. Поэтому, на мой взгляд, нужно разделить каждое значение Pi на текущий курс доллар/рубль. Индикатор с этим исправлением можно скачать по 
ссылке .
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					не совсем понятно, откуда берётся курс бакса для расчёта Индекса?
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 7  
						Регистрация: 01.02.2015  
					 
				 
			 
			
				
				
					В качестве курса доллара я взял текущее (последние) значение инструмента USDRUB_TOM с биржи ММВБ.
table = getParamEx("CETS", "USD000UTSTOM", "LAST")
USDRUB = table.param_value
(смотрите стоку 306,307 
индикатора ).
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 572  
						Регистрация: 31.01.2015  
					 
				 
			 
			
				
				
					Цитата Danial Novikov  пишет:  В качестве курса доллара я взял текущее (последние) значение инструмента USDRUB_TOM с биржи ММВБ.
Наверное, биржа берет другой курс.
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Цитата Danial Novikov  пишет:  В качестве курса доллара я взял текущее (последние) значение инструмента USDRUB_TOM с биржи ММВБ.
У меня не открыт на валютной секции счёт, я воткнул фьючерс, просто чтобы увидеть график и что-то вот:
Код QUIK\LuaIndicators\MY_RTSI.lua:313: attempt to perform arithmetic on field '?' (a nil value) 
чтобы это значило?
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Правда были акции по которым не было ещё ни одной сделки, может по этому терминал в ужасе?
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 1696  
						Регистрация: 01.02.2015  
					 
				 
			 
			
				
				
					это значит, что перед тем как считать формулу - надо проверять аргументы на их наличие (т.е. значений в них как таковых).
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Чот у меня разный код, разные результаты. Другой вариант кода вывел всё по нулям. Можно окончательный код, который вот приводит к результатам на картинке?
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 1696  
						Регистрация: 01.02.2015  
					 
				 
			 
			
				
				
					а вообще - расчёт самостоятельно индекса ртс - дело неблагодарное, бо как зависит от кучи разных факторов, которые постоянно меняются и не предсказуемы. Сама методичка может измениться, могут быть приняты те или иные решения клиринговой палаты и т. п.
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Цитата sam063rus  пишет:  а вообще - расчёт самостоятельно индекса ртс - дело неблагодарное, бо как зависит от кучи разных факторов, которые постоянно меняются и не предсказуемы. Сама методичка может измениться, могут быть приняты те или иные решения клиринговой палаты и т. п.
Благодарное или нет - а проверить надо. Все изменения должны быть официально выложены.
Я тут посмотрел методику: 
http://moex.com/ru/index/RTSI/info/ И не совсем понимаю суть поправочного коэффициента D и почему ни в одной формуле не принимает участие 
Поправочный коэффициент Z?  
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Вот этот код у меня показывает почти 1 в 1 Индекс РТС:
Код Settings=
{
   Name = "RTSI",
   period = 1,
   line = 
   {
      {
         Name = "One",
         Color = RGB(128, 255, 0),
         Type = TYPE_LINE,
         Width = 3
      }
   }
}
function Init()
--SECCODE="MXH5"              --код инстркмента    
--CLASSCODE="SPBFUT"              --класс инструмента
--EXP_DATE="15.06.2015"            --дата экспирации
--Koef = 32 100 266 683.38
Koef = 148748222.4317
start = 0
--k=0
C = {}                        --кол-во выпущенный акций
C[1]=23673512900
C[2]=850563255
C[3]=21586948000
C[4]=1000000000
C[5]=94561355
C[6]=35725994705
C[7]=7701998235
C[8]=3036306000
C[9]=158245476
C[10]=12960541337338
C[11]=10598177817
C[12]=2066413562
C[13]=2178690700
C[14]=147508500
C[15]=1554875
C[16]=2936015891
C[17]=7364965630
C[18]=837718660
C[19]=2278636493
C[20]=386255464890
C[21]=269161148
C[22]=620000000
C[23]=2669204301
C[24]=242831469
C[25]=150570662
C[26]=29788012
C[27]=5993227240
C[28]=9650000000
C[29]=129500000
C[30]=2000000000
C[31]=423031984
C[32]=3032149962
C[33]=660497344
C[34]=63048706145
C[35]=104400000000
C[36]=11174330000
C[37]=124750000
C[38]=103030215
C[39]=1274665323063
C[40]=43963773
C[41]=37792603
C[42]=179768227
C[43]=993586094
C[44]=1110616299
C[45]=40534000
C[46]=161078853310
C[47]=11529538
C[48]=416270745
C[49]=282215500
C[50]=34270159
K_free_float = {}                  --коэф-нт free-float
K_free_float[1]=0.46
K_free_float[2]=0.46
K_free_float[3]=0.48
K_free_float[4]=1
K_free_float[5]=0.54
K_free_float[6]=0.25
K_free_float[7]=0.73
K_free_float[8]=0.27
K_free_float[9]=0.3
K_free_float[10]=0.39
K_free_float[11]=0.12
K_free_float[12]=0.49
K_free_float[13]=0.32
K_free_float[14]=1
K_free_float[15]=1
K_free_float[16]=0.28
K_free_float[17]=0.23
K_free_float[18]=0.21
K_free_float[19]=0.51
K_free_float[20]=0.34
K_free_float[21]=0.3
K_free_float[22]=0.15
K_free_float[23]=0.28
K_free_float[24]=0.6
K_free_float[25]=0.12
K_free_float[26]=0.63
K_free_float[27]=0.14
K_free_float[28]=0.36
K_free_float[29]=0.19
K_free_float[30]=0.08
K_free_float[31]=0.25
K_free_float[32]=0.1
K_free_float[33]=0.32
K_free_float[34]=0.18
K_free_float[35]=0.18
K_free_float[36]=0.14
K_free_float[37]=0.46
K_free_float[38]=0.33
K_free_float[39]=0.21
K_free_float[40]=0.51
K_free_float[41]=0.39
K_free_float[42]=0.42
K_free_float[43]=0.28
K_free_float[44]=0.32
K_free_float[45]=0.16
K_free_float[46]=0.14
K_free_float[47]=0.1
K_free_float[48]=0.35
K_free_float[49]=0.34
K_free_float[50]=0.46
K_m = {}                     --коэф-нт ограничивающий вес акции
K_m[1]=0.7473607
K_m[2]=1
K_m[3]=1
K_m[4]=1
K_m[5]=1
K_m[6]=1
K_m[7]=1
K_m[8]=1
K_m[9]=1
K_m[10]=1
K_m[11]=1
K_m[12]=1
K_m[13]=1
K_m[14]=1
K_m[15]=1
K_m[16]=1
K_m[17]=1
K_m[18]=1
K_m[19]=1
K_m[20]=1
K_m[21]=1
K_m[22]=1
K_m[23]=1
K_m[24]=1
K_m[25]=1
K_m[26]=1
K_m[27]=1
K_m[28]=1
K_m[29]=1
K_m[30]=1
K_m[31]=1
K_m[32]=1
K_m[33]=1
K_m[34]=1
K_m[35]=1
K_m[36]=1
K_m[37]=1
K_m[38]=1
K_m[39]=1
K_m[40]=1
K_m[41]=1
K_m[42]=1
K_m[43]=1
K_m[44]=1
K_m[45]=1
K_m[46]=1
K_m[47]=1
K_m[48]=1
K_m[49]=1
K_m[50]=1
LastPrice = {}
--message(" LastPrice " .. LastPrice[2], 1)
return 1
end
 
function OnCalculate(index)
RTSI = 0
MC_n = 0
N1 = getNumCandles("Ind")
table = getParamEx("TQBR", "GAZP", "LAST")
LastPrice[1] = table.param_value
table = getParamEx("TQBR", "LKOH", "LAST")
LastPrice[2] = table.param_value
table = getParamEx("TQBR", "SBER", "LAST")
LastPrice[3] = table.param_value
table = getParamEx("TQBR", "SBERP", "LAST")
LastPrice[4] = table.param_value
table = getParamEx("TQBR", "MGNT", "LAST")
LastPrice[5] = table.param_value
table = getParamEx("TQBR", "SNGS", "LAST")
LastPrice[6] = table.param_value
table = getParamEx("TQBR", "SNGSP", "LAST")
LastPrice[7] = table.param_value
table = getParamEx("TQBR", "NVTK", "LAST")
LastPrice[8] = table.param_value
table = getParamEx("TQBR", "GMKN", "LAST")
LastPrice[9] = table.param_value
table = getParamEx("TQBR", "VTBR", "LAST")
LastPrice[10] = table.param_value
table = getParamEx("TQBR", "ROSN", "LAST")
LastPrice[11] = table.param_value
table = getParamEx("TQBR", "MTSS", "LAST")
LastPrice[12] = table.param_value
table = getParamEx("TQBR", "TATN", "LAST")
LastPrice[13] = table.param_value
table = getParamEx("TQBR", "TATNP", "LAST")
LastPrice[14] = table.param_value
table = getParamEx("TQBR", "TRNFP", "LAST")
LastPrice[15] = table.param_value
table = getParamEx("TQBR", "URKA", "LAST")
LastPrice[16] = table.param_value
table = getParamEx("TQBR", "ALRS", "LAST")
LastPrice[17] = table.param_value
table = getParamEx("TQBR", "CHMF", "LAST")
LastPrice[18] = table.param_value
table = getParamEx("TQBR", "MOEX", "LAST")
LastPrice[19] = table.param_value
table = getParamEx("TQBR", "HYDR", "LAST")
LastPrice[20] = table.param_value
table = getParamEx("TQBR", "YNDX", "LAST")
LastPrice[21] = table.param_value
table = getParamEx("TQBR", "MFON", "LAST")
LastPrice[22] = table.param_value
table = getParamEx("TQBR", "RTKM", "LAST")
LastPrice[23] = table.param_value
table = getParamEx("TQBR", "RTKMP", "LAST")
LastPrice[24] = table.param_value
table = getParamEx("TQBR", "BANE", "LAST")
LastPrice[25] = table.param_value
table = getParamEx("TQBR", "BANEP", "LAST")
LastPrice[26] = table.param_value
table = getParamEx("TQBR", "NLMK", "LAST")
LastPrice[27] = table.param_value
table = getParamEx("TQBR", "AFKS", "LAST")
LastPrice[28] = table.param_value
table = getParamEx("TQBR", "PHOR", "LAST")
LastPrice[29] = table.param_value
table = getParamEx("TQBR", "RUALR", "LAST")
LastPrice[30] = table.param_value
table = getParamEx("TQBR", "POLY", "LAST")
LastPrice[31] = table.param_value
table = getParamEx("TQBR", "PGIL", "LAST")
LastPrice[32] = table.param_value
table = getParamEx("TQBR", "PIKK", "LAST")
LastPrice[33] = table.param_value
table = getParamEx("TQBR", "EONR", "LAST")
LastPrice[34] = table.param_value
table = getParamEx("TQBR", "IRAO", "LAST")
LastPrice[35] = table.param_value
table = getParamEx("TQBR", "MAGN", "LAST")
LastPrice[36] = table.param_value
table = getParamEx("TQBR", "DIXY", "LAST")
LastPrice[37] = table.param_value
table = getParamEx("TQBR", "LSRG", "LAST")
LastPrice[38] = table.param_value
table = getParamEx("TQBR", "FEES", "LAST")
LastPrice[39] = table.param_value
table = getParamEx("TQBR", "GCHE", "LAST")
LastPrice[40] = table.param_value
table = getParamEx("TQBR", "PHST", "LAST")
LastPrice[41] = table.param_value
table = getParamEx("TQBR", "MVID", "LAST")
LastPrice[42] = table.param_value
table = getParamEx("TQBR", "TRMK", "LAST")
LastPrice[43] = table.param_value
table = getParamEx("TQBR", "AFLT", "LAST")
LastPrice[44] = table.param_value
table = getParamEx("TQBR", "AKRN", "LAST")
LastPrice[45] = table.param_value
table = getParamEx("TQBR", "RSTI", "LAST")
LastPrice[46] = table.param_value
table = getParamEx("TQBR", "VSMO", "LAST")
LastPrice[47] = table.param_value
table = getParamEx("TQBR", "MTLR", "LAST")
LastPrice[48] = table.param_value
table = getParamEx("TQBR", "MSTT", "LAST")
LastPrice[49] = table.param_value
table = getParamEx("TQBR", "SVAV", "LAST")
LastPrice[50] = table.param_value
table = getParamEx("CETS", "USD000000TOD", "LAST")
USDRUB = table.param_value
if (start==0) then
   message("USDRUB= " .. USDRUB, 1)
end
i=1
while (i <= 50) do
   MC_n = MC_n + (LastPrice[i]/USDRUB) * C[i] * K_free_float[i] * K_m[i]
   if (start==0) then
      message("LastPrice[" .. i .. "]= " .. LastPrice[i], 1)
   end 
   i = i+1
end
   
--/-----------------------------------------
start=1
return (MC_n/Koef)
end
  
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Иногда передаваемый RTSI биржи сильно врёт. И что удивительно фьючерс на эти разводки вообще никак не реагирует. Почему я уверен, что врёт, потому что расхождение с кодом может быть из-за коэффициентов, т.е. отрисовывающий в реальном времени график не должен был бы расходиться на разную величину каждый раз. А иногда получается довольно сильное расхождение не на 0,5 а на целый пункт, например...
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 645  
						Регистрация: 30.01.2015  
					 
					Роботорговец 
				 
			 
			
				
				
					
					
						
						Надо делать так, как надо. А как не надо - делать не надо.  
					 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 645  
						Регистрация: 30.01.2015  
					 
					Роботорговец 
				 
			 
			
				
				
					
					
						
						Надо делать так, как надо. А как не надо - делать не надо.  
					 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 645  
						Регистрация: 30.01.2015  
					 
					Роботорговец 
				 
			 
			
				
				
					
					
						
						Надо делать так, как надо. А как не надо - делать не надо.  
					 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 4075  
						Регистрация: 30.01.2015  
					 
				 
			 
			
				
				
					Индекс РТС либо считается точно, либо в действительности считаете не индекс РТС, а какой-то свой индекс. Поэтому "почти точно"  - почти тоже самое, что "почти беременная"
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Цитата Николай Камынин  пишет:  Индекс РТС либо считается точно, либо в действительности считаете не индекс РТС, а какой-то свой индекс. Поэтому "почти точно" - почти тоже самое, что "почти беременная"
Так вся ирония в том, что формула проста как два пальца. Выходит либо транслируемый биржей индекс ложный, либо выложена не последняя редакция, либо где-то ошиблись в расчётах, так ведь опять же - там всё просто как 2 пальца.
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 645  
						Регистрация: 30.01.2015  
					 
					Роботорговец 
				 
			 
			
				
				
					Николай Бехтерев , вы, как минимум, берёте не тот курс доллара.
 
					
						
						Надо делать так, как надо. А как не надо - делать не надо.  
					 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 118  
						Регистрация: 24.02.2015  
					 
				 
			 
			
				
				
					Цитата Старатель  пишет:  Николай Бехтерев , вы, как минимум, берёте не тот курс доллара.
а какой брать?
 
				 
			 
		 
		
			
				
				
			 
			
				
 				
			 
		 
	 
	
		
			
				   				
					
					
					
                                  Пользователь                  
               
          
					
						Сообщений: 645  
						Регистрация: 30.01.2015  
					 
					Роботорговец 
				 
			 
			
				
				
					Наверное, рассчитать согласно
 
					
						
						Надо делать так, как надо. А как не надо - делать не надо.