Aleksei (Автор тем)

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

Страницы: 1
Индикатор со сдвигом влияет на отрисовку lua индикатора без сдвига
 
Подскажите как исправить.
есть самописный индикатор аллигатора( с выводом дополнительной информации). Рисовать на будущее мы не можем. но когда он единственный, то все выглядит нормально.
если добавить к нему любой индикатор со сдвигом(встроенный или выделить из самописного аллигатора скользящую в отдельные индикатор и добавить сдвиг), то появляется "будущее" и у моего Аллигатора появляются прямые линии. Как это исправить?

На приложенном скрине видно, как отрисовываются отдельные скользящие со сдвигом и как отрисовывается аллигатор. До последней свечки они совпадают, а в будущем аллигатор повторяет последнее значение. Вопрос не как нарисовать в будущее, т.к. знаю, что (здесь уже отвечали) никак, а как убрать эти горизонтальные линии?
описание функции Squeeze
 
Пытаюсь разобраться в примере SMA, но не могу найти описания что делает функция Squeeze. Есть ли где ее описание?
Я понимаю, что это как то завязано на пропуск в расчете несуществующих свечей в ds. Что содержится в переменных Ip,Ipp,Ippp
Код
--[[Simple Moving Average (SMA)
SMA = sum(Pi) / n]]
function F_SMA()
   local sum = {}
   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
      if I~=it.p then it={p=I, l=it.l+1} end
      local Ip,Ipp,Ippp = Squeeze(it.l,P),Squeeze(it.l-1,P),Squeeze(it.l-P,P)
      sum[Ip] = (sum[Ipp] or 0) + GetValueEX(it.p,VT,ds)
      if it.l >= P then
         return (sum[Ip] - (sum[Ippp] or 0)) / P
      end
   end
return nil
end
end
Отправка уведомления в Telegram через прокси
 
Рабочий компьютер стоит в сети за корпоративной прокси по https.
При попытке работы с luasocket и luasec столкнулся с ограничения библиотек по части работы с прокси. (опыт работы непосредственно с lua 1 неделя, так что могу чего то не понимать/не знать)

Телеграмм работает через связку Telegram -> Tor Expert Bungle -> CNtlm -> интернет

127.0.0.1:9050 - это прокси TOR.

Запускаю программу из командной строки lua test_curl.lua
Код
local cURL = require("luacurl")

auth = "..."
chat = "..."
msg = "Hello"

login_url = "https://api.telegram.org/bot"..auth.."/sendMessage"


c = cURL.new()

c:setopt(curl.OPT_URL, login_url)
c:setopt(curl.OPT_PROXYTYPE, curl.PROXY_SOCKS5)
c:setopt(curl.OPT_PROXY, "127.0.0.1")
c:setopt(curl.OPT_PROXYPORT, "9050")
c:setopt(curl.OPT_POST, true)
c:setopt(curl.OPT_POSTFIELDS, "chat_id="..chat.."&text="..msg)
c:setopt(curl.OPT_TRANSFERTEXT, true)
c:setopt(curl.OPT_VERBOSE, true)
c:setopt(curl.OPT_NOBODY, false)

c:setopt(curl.OPT_SSL_VERIFYPEER, false)

c:perform()

c:close() 

Все OK. Получаю нотификацию.

Запускаю из Quik 7.27.2.1 скрипт.

Код
cURL = require("luacurl")

function main()
    c = cURL.new() 
    auth = "..."
    chat = "..."
    msg = "Hello"

    login_url = "https://api.telegram.org/bot"..auth.."/sendMessage"
        
    c:setopt(curl.OPT_URL, login_url)
    c:setopt(curl.OPT_PROXYTYPE, curl.PROXY_SOCKS5)
    c:setopt(curl.OPT_PROXY, "127.0.0.1")
    c:setopt(curl.OPT_PROXYPORT, "9050")
    c:setopt(curl.OPT_POST, true)
    c:setopt(curl.OPT_POSTFIELDS, "chat_id="..chat.."&text="..msg)
    c:setopt(curl.OPT_TRANSFERTEXT, true)
    c:setopt(curl.OPT_VERBOSE, true)
    c:setopt(curl.OPT_NOBODY, false)

    c:setopt(curl.OPT_SSL_VERIFYPEER, false)

    c:perform()

    c:close()

end

Quik виснет намертво. Путем эксперимента выяснил, что это происходит на первой же строке:
cURL = require("luacurl")

Бросил в папку терминала и в папку, где лежит скрипт, все dll, которые могут быть использованы в скрипте. Не помогает.

Добавление в скрипт путей package.cpath и package.path не помогает.

В чем может быть проблема?  
Страницы: 1
Наверх