BOSS

Вопрос по 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

 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • Qpile
486 | ★2
23 комментария
Нужно смещать время на последнюю свечу, для чего нужно определить торговое время, день недели и исключить праздники, либо сдвигать время назад до первых данных >0. Жужжать будет как рой пчёл.
avatar
bozon, спасибо за коммент. Подскажи, тебе видно в чем причина, что с 7 до 10 не работает, а после 10 все в норме?
avatar
Саня, я вообще первый раз читаю про торговлю с 7 до 10. На сколько я знаю, торги начинаются с 10.
avatar
bozon, срочка теперь с 7.
avatar
Саня, возможно по утрам не проходит проверка соединения.
Попробуйте убрать эти строки:
IF IS_CONNECTED()<>1
RETURN
END IF
avatar
Вот это проверяйте
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
Видно, время приходит как 70000. Это 5 символов, а в 100000 — 6.
А дальше ваш код рассчитывает, что будет 6 символов и всё едет.
IF SUBSTR(SERVERTIME,0,1)>6
*тут код если до 10 часов*
ELSE
*тут код после 10 часов*
END IF

avatar
Или просто замените 
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
на
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
IF SUBSTR(SERVERTIME,0,1)>6
SERVERTIME=«0»&SERVERTIME
END IF
avatar
bascomo, спасибо, но не получается…
avatar
Саня, если с первого раза не получилось — то парашютный спорт не для вас
avatar
bascomo, да… так и есть. 
avatar
Саня, а что говорит? Кавычки может на правильные поменять
avatar
bascomo, да, в кавычках тоже крылась проблемка :) Мне подсказали, все работает. Вам тоже спасибо. 
avatar
Саня, Так а что изменил то? У меня такая же проблема. 
NikGood, ну извини, брат, что поделать если я не понимаю в этом… Тем более что код на просторах сети находил, правда немного корректировал. 
avatar
NikGood, а +0 к LEN зачем?
avatar
NikGood, а что, результат LEN может быть строкой?))
avatar
NikGood, у индусов учился, что ли?))
avatar

Читайте на SMART-LAB:
Обновление кредитных рейтингов в ВДО и розничных облигациях
⚪️ООО ЗАС Корпсан НРА подтвердило кредитный рейтинг ООО ЗАС Корпсан на уровне B|ru| по национальной рейтинговой шкале для Российской...
Фото
Хэдхантер проведёт Headconf 2026
Фото
Роснефть: скромная прибыль за 2-й квартал, но зато наполняют трубу Восток Ойл. Почему так?
Фото
Рубль снова упал - на календаре третий квартал. Анализ исторической сезонности курса рубля
Здравствуйте! Мне стало интересно проверить, существует ли статистически значимая сезонность курса рубля относительно равновзвешенной корзины...

теги блога Саня

....все тэги



UPDONW
Новый дизайн