1

Тема: getNumCandle Problem

Народ подскажите в чем может быть проблема?
В строке ltable=table.getn(t) 
ltable = 0

Пробовал разные варианты и всегда пустая таблица.


Settings= { 
            Name = "IndicatorName", 
            period = 5, 
            line = { 
                        { 
                        Name = "IndicatorMA", 
                        Color = RGB(0, 0, 255), 
                        Type = TYPE_LINE, 
                        Width = 2 
                        } 
                   }
          } 
          

function Init() 
    ---------------------------------------
    require "DelphianTransactor"
    internal.sqlConnect("sqlite-3","synDicator3.sqlite")
    ---------------------------------------
    MA_value=0
    
    return 1 
end 

function OnDestroy()
    internal.sqlDisconnect()
end

function get_bar(index)
    t={}
    n = getNumCandles (Settings.Name)
    t,_,_=getCandlesByIndex(Settings.Name,0,n-1,1)
    ltable=table.getn(t)
    message(tostring(ltable,1),1)
end

function OnCalculate(index) 
    if index < Settings.period then 
        return nil 
    else 
        local sum = 0 
        for i = index-Settings.period+1, index do
            sum = sum +C(i) 
        end 
        MA_value=sum/Settings.period
        get_bar(index)
        return MA_value
    end
end

2

Re: getNumCandle Problem

в луа 5.1 (в квике именно такой) нет функции table.getn
в вашем случае так:
ltable = t[0].close

3 (2015-08-11 19:29:57 отредактировано CyberTrader)

Re: getNumCandle Problem

Идентификатор графика для функции getCandlesByIndex задаётся в настройках графика на вкладке "Дополнительно".

4 (2015-08-11 20:03:11 отредактировано delphiec)

Re: getNumCandle Problem

Я так понимаю идет речь о поле идентификатор на скриншоте
[url]https://cloud.mail.ru/public/mZ7kNwF56DaC/img-2015-08-12-00-01-44.png[/url]

Можно его как-то задавать автоматически при подключении своего индикатора?

5

Re: getNumCandle Problem

delphiec пишет:

Я так понимаю идет речь о поле идентификатор на скриншоте
Можно его как-то задавать автоматически при подключении своего индикатора?

Да, именно про него.
Программно изменять и назначать, увы, нельзя. Но было помнится пожелание на форуме квика.

6

Re: getNumCandle Problem

Странно, но добавление идентификатора не помогло.

7 (2016-09-29 11:41:03 отредактировано sam063rus)

Re: getNumCandle Problem

-

8

Re: getNumCandle Problem

Всё, нашел ошибку, помимо идентификатора, была одна логическая ошибка, тему можно закрывать, всем спасибо)))

9 (2015-08-11 22:58:26 отредактировано delphiec)

Re: getNumCandle Problem

sam063rus Про табличные функции вы зря так, всё правильно считается через table.getn(), логическую ошибку допустил в другом месте.

P.S. С пониманием этих элементарных вещей всё норм)))

10 (2016-09-30 05:09:40 отредактировано sam063rus)

Re: getNumCandle Problem

-

11

Re: getNumCandle Problem

        get_bar(index)
        return MA_value

Тут я просто поторопился, я в get_bar запрашивал значение которое будет возвращено только следующей строкой MA_value, т.е. по факту ошибка не в коде, а идентификатор присвоил своему индикатору, а не индикатору price.