1

Тема: Ошибка при подсчёте спреда

Подскажите пожалуйста, почему не работает такой код. Он запускается и ничего не происходит. Желаемые сообщения не появляются.


is_run = true

function main()
    while is_run do
        sleep(50)
    end;
end

function OnStop()
    is_run = false
end

function OnParam(class, sec)
    if class =="SPBFUT" and sec =="RIH3" then
        bid=getParamEx(class, sec, "bid").param_value
        offer=getParamEx(class, sec, "offer").param_value
        spread=offer-bid
        message (spread, 1)
    end

end

2 (2013-01-17 20:58:22 отредактировано swerg)

Re: Ошибка при подсчёте спреда

Меленький нюансик важен, оказывается:

.......
        message (tostring(spread), 1)
.......

3

Re: Ошибка при подсчёте спреда

Этот момент отражен в документации.
как вариант можно сделать примерно так:
old_message = message
message =     function (str, type)
                    type = type or 3

                    return old_message(tostring(str), type)
                end

file = nil

...
тогда начинают работать такие варианты:
message("123", 1)
message("123")
message(123)