jonny1960 (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Экспорт таблицы "Текущие торги" через Lua
 
Подскажите, можно получить сразу список котировок таблицы "Текущие торги" и цены и запускать скрипт раз в заданный интервал, раз в час например.

Пока настроил экспорт по ODBC по идет постоянное обновление базы, как я понял уменьшить частоту нельзя.

В итоге стоит задача как то получать котировоки таблицы "Текущие торги" на конец часа. Грубо говоря значения H1
for для значений свечей
 
Цитата
Nikolay написал:

                                                                                                   
                                                                 Примеры функций расчета индикаторов терминала QUIK на языке Luazip,  76 КБ
Спасибо все получилось. Эти примеры на много понятнее, чем примеры уже готовых индикаторов. Но в целом пока очень не привычный язык.
for для значений свечей
 
Спасибо за вашу помощь. В итоге я смог придти к тому, что на графике появляется просто прямая горизонтальная линия. Видимо происходит расчет одного первого значения и все.
Не понятно, какую функцию выполняет таблица it и и как посчитать индикатор для каждой свечи.
Код
function F()
   local it = {p=0, l=0}
return function (I, P, VT, ds)
   if I == 1 then it = {p=0, l=0} end
   if CandleExist(I,ds) then
      if I~=it.p then it={p=I, l=it.l+1} end
      local  sum, sump = 0, 0
      for i = P-1, 0, -1 do
         sum  = sum + (C(i) or 0)*i
         sump = sump + i
      end
      return sum/sump
   end
return nil
end
end
for для значений свечей
 
алгоритм несложной скользящей средней
Код
(P1 * 3) + (P2 * 2) + (P3 * 1) / (3 + 2 + 1)
где Pn цена закрытия предыдущей n-свечи

вот реализация на PHP, на Lua я честно говоря даже не понимаю как получить цену закрытия предыдущих свечей с помощью чикла
Код
for ($i = $period; $i >= 1; $i--){
   $sumP += $candles[$i]->close;
   $sumI += $i;
}
$x = $sumP/$sumI;
for для значений свечей
 
Да выдает именно ошибку с nil. Из языков я знаю только php, а Lua на него совсем не похож. PineScript я понял сразу, а с Lua пока сложно.

Функцию GetValueEX тоже взял из примера скользящей средней. Вроде бы добавил заполнение таблица it, но это не помогло.
Код
 if I~=it.p then it={p=I, l=it.l+1} end
for для значений свечей
 
Большое спасибо. К сожалению, только сегодня впервые увидел LUA и пока не совсем понятна структура. Не могли бы вы посмотреть весь код так он выдает ошибку.
Код
function F()
   local it = {p=0, l=0}
return function (I, P, VT, ds)
   if I == 1 then
      sum = {}
      it = {p=0, l=0}
   end
   if CandleExist(I,ds) then
      local MD = 0
      for i = it.l-P+1, it.l do
    MD = MD + (GetValueEX(it[Squeeze(i,P)], VT, ds))  * (i - it.l+P)
      end
      return MD
   end
return nil
end
end

а Squeeze я взял из примеров

function Squeeze(I,P)
return math.fmod(I-1,P+1)
end
for для значений свечей
 
Подскажите, как правильно получить значения цены закрытия для N последних свечей и умножить на их порядковый номер по счету (P1 * 5) + (P2 * 4) + (P3 * 3)

И не совсем понимаю, что делает функция Squeeze и зачем она нужна?

if CandleExist(I,ds) then

if it.l >= P then
local MD = 0
for i = it.l-P+1, it.l do
    MD = MD + (GetValueEX(it[Squeeze(i,P)], VT, ds))  * i
end
return MD
end
end

 
Страницы: 1
Наверх