Не работают идентификаторы на графиках

Страницы: 1
RSS
Не работают идентификаторы на графиках
 
Добрый день!
Имеется QUIK 6.17.1.17 на Windows 8.1 32-бита.
В нем работает QPILE-скрипт, который получает значение индикатора с графика по его идентификатору, заданному в окне Параметры->Дополнительно->Идентификатор:

Код
 FUNC FTEXTDATA(YEAR,MONTH,DAY)
    IF (LEN(MONTH) < 2)
        MONTH = "0" & MONTH
    END IF
    IF (LEN(DAY) < 2)
        DAY = "0" & DAY
    END IF
    RESULT = YEAR & MONTH & DAY
END FUNC 

FUNC FTEXTTIME(HOUR,MIN,SEC)
    IF (LEN(HOUR) < 2)
        HOUR = "0" & HOUR
    END IF
    IF (LEN(MIN) < 2)
        MIN = "0" & MIN
    END IF
    IF (LEN(SEC) < 2)
       SEC = "0" & SEC
    END IF
    RESULT = HOUR & MIN & SEC
END FUNC

CURYEAR = GET_VALUE(GET_DATETIME(), "YEAR") 
CURMONTH = GET_VALUE(GET_DATETIME(), "MONTH")
CURDAY = GET_VALUE(GET_DATETIME(), "DAY")
CURHOUR = GET_VALUE(GET_DATETIME(), "HOUR")
CURMIN = GET_VALUE(GET_DATETIME(), "MIN")
CURSEC = GET_VALUE(GET_DATETIME(), "SEC")

GRAPH_DATE = FTEXTDATA(CURYEAR,CURMONTH,CURDAY) & ""
GRAPH_TIME = FTEXTTIME(CURHOUR,CURMIN,CURSEC) & ""

slice = Get_Candle_Ex ("MOVING-AVG", GRAPH_DATE, GRAPH_TIME) 
line = Get_Collection_Item (Get_Value (slice,"LINES"),0) 
MOVINGAVG = floor(Get_Value (line,"OPEN") ) 

В переменную MOVINGAVG успешно записывается значение (правда не всегда, раз в несколько десятков секунд может проскочить нулевое значение).
Проблема заключается в том, что если взять этот QUIK и перенести его копированием на другой ПК (пробовал Windows 7 x64, Windows 8.1 x64) - этот же самый скрипт получает нулевые значения.
Пробовал запустить QUIK и с админскими правами, и вдобавок в разных режимах совместимости - всё равно скрипт получает нули.

Please help! Куда копать?
 
Добрый день.

Проблема может быть в том, скрипт берет локальное время компьютера, а оно может и не совпадать со временем на графике.
Возможно, что на графике и нет свечи с указанным временем.
Проверьте этот момент. Так ли это.
 
Егор,

Проверил - свечи с заданным временем на графике есть. Ведь на 32-хбитной Windows 8.1 всё работает нормально. А вот когда тот же самый QUIK переносишь простым копированием файлов (т.е. все графики при этом переносятся один-в-один) на другую ОС - работать перестаёт.
 
Цитата
Dmitry Dimaka пишет:
Егор,

Проверил - свечи с заданным временем на графике есть. Ведь на 32-хбитной Windows 8.1 всё работает нормально. А вот когда тот же самый QUIK переносишь простым копированием файлов (т.е. все графики при этом переносятся один-в-один) на другую ОС - работать перестаёт.
Дмитрий, проблема не в Windows.
Попробуйте удалить портфель из Quik и загрузить его снова, также попробуйте удалить все настройки.
Пересоздайте график, присвойте заново идентификатор, так же проверьте, что показывает в режиме отладки.
 
Егор,

Спасибо за помощь.
Разобрался.
В вызове функции, действительно, использовалось локальное время (функция GET_DATETIME), которое чуть убежало вперед от серверного (GET_INFO_PARAM ("SERVERTIME")).
Страницы: 1
Читают тему
Наверх