Саня
Саня личный блог
18 марта 2021, 10:01

Вопрос по qpl

Приветствую! Может есть кто занимается qpl, думаю даже для начинающих вопрос не очень труден. 
Вроде элементарный код, но перестал код показывать данные по свече. 
Кто подскажет в чем проблема? Ранние торги не показывает c 7 до 10 утра, основные торги с 10.00 данные идут.
Что нужно подправить? Если кто знает, подскажите пожалуйста. Я так понимаю что то с серверным временем, но не вижу, где именно проблема. 

 

PORTFOLIO_EX 5ka;
DESCRIPTION 5ka;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM
'========= НАСТРОЙКИ
INSTRUMENT=«SRM1»
ACCOUNT=«SPBFUT....» ' ПРОПИСЫВАЕМ АККАУНТ НА ФОРТС
' *********************
'========= ПЕРЕМЕННЫЕ

'========= ДАТА И ВРЕМЯ СЕРВЕРНОЕ
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
SERVERDATE=GET_INFO_PARAM(«TRADEDATE»)
TIMESERV=SUBSTR(SERVERTIME,0,2)&SUBSTR(SERVERTIME,3,2)&SUBSTR(SERVERTIME,6,7)
HOUR=SUBSTR(TIMESERV,0,2)+0
MIN=SUBSTR(TIMESERV,2,2)+0
SEC=SUBSTR(TIMESERV,4,2)+0
TIME=TIMESERV+0
DATE=SUBSTR(SERVERDATE,6,4)&SUBSTR(SERVERDATE,3,2)&SUBSTR(SERVERDATE,0,2)
TRID=TIME&DATE
TRID=TRID+0
'========= ПРОВЕРКА СОЕДИНЕНИЯ С СЕРВЕРОМ
IF IS_CONNECTED()<>1
RETURN
END IF

OPEN=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«OPEN»)+0
HIGH=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0
LOW=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)+0
VOLA=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0-GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)

'========= ВЫВОД ДАННЫХ В ТАБЛИЦУ
OUTPUT=CREATE_MAP()
OUTPUT=SET_VALUE(OUTPUT,«TIME»,TIME)
OUTPUT=SET_VALUE(OUTPUT,«OPEN»,OPEN)
OUTPUT=SET_VALUE(OUTPUT,«HIGH»,HIGH)
OUTPUT=SET_VALUE(OUTPUT,«LOW»,LOW)
OUTPUT=SET_VALUE(OUTPUT,«VOLA»,VOLA)
DELETE_ALL_ITEMS()
ADD_ITEM(1,OUTPUT)
END_PROGRAM
PARAMETER TIME;
PARAMETER_TITLE TIME;
PARAMETER_DESCRIPTION TIME;
PARAMETER_TYPE STRING(30);
END
PARAMETER OPEN;
PARAMETER_TITLE OPEN;
PARAMETER_DESCRIPTION OPEN;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER HIGH;
PARAMETER_TITLE HIGH;
PARAMETER_DESCRIPTION HIGH;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER LOW;
PARAMETER_TITLE LOW;
PARAMETER_DESCRIPTION LOW;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER VOLA;
PARAMETER_TITLE VOLA;
PARAMETER_DESCRIPTION VOLA;
PARAMETER_TYPE NUMERIC(10,2);
END
END_PORTFOLIO_EX

 

23 Комментария
  • bozon
    18 марта 2021, 11:05
    Нужно смещать время на последнюю свечу, для чего нужно определить торговое время, день недели и исключить праздники, либо сдвигать время назад до первых данных >0. Жужжать будет как рой пчёл.
      • bozon
        18 марта 2021, 14:55
        Саня, я вообще первый раз читаю про торговлю с 7 до 10. На сколько я знаю, торги начинаются с 10.
  • mrOleg
    18 марта 2021, 13:29
    Саня, возможно по утрам не проходит проверка соединения.
    Попробуйте убрать эти строки:
    IF IS_CONNECTED()<>1
    RETURN
    END IF
  • bascomo
    18 марта 2021, 13:30
    Вот это проверяйте
    SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
    Видно, время приходит как 70000. Это 5 символов, а в 100000 — 6.
    А дальше ваш код рассчитывает, что будет 6 символов и всё едет.
    IF SUBSTR(SERVERTIME,0,1)>6
    *тут код если до 10 часов*
    ELSE
    *тут код после 10 часов*
    END IF

    • bascomo
      18 марта 2021, 13:36
      Или просто замените 
      SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
      на
      SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
      IF SUBSTR(SERVERTIME,0,1)>6
      SERVERTIME=«0»&SERVERTIME
      END IF
        • bascomo
          19 марта 2021, 10:32
          Саня, если с первого раза не получилось — то парашютный спорт не для вас
            • bascomo
              19 марта 2021, 11:47
              Саня, а что говорит? Кавычки может на правильные поменять
                • Сергей Колесов
                  08 июля 2021, 07:24
                  Саня, Так а что изменил то? У меня такая же проблема. 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн