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
471 | ★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:
Фото
Токио против рынка: сколько резервов хватит для защиты иены
Цены на нефть продолжают снижение, начавшееся в среду, хотя темпы падения уже замедлились. За последние сутки новостной фон по Ближнему Востоку...
Фото
Результаты АПРИ в рейтингах ЕРЗ.РФ на июнь 2026 год
Результаты АПРИ в рейтингах ЕРЗ.РФ на июнь 2026 год Федеральный портал «Единый ресурс застройщиков» (ЕРЗ.РФ) опубликовал рейтинги...
Фото
Курс рубля летом: ждать ли сюрпризов?
Рост вопреки прогнозам: с начала 2025 года рубль укрепился на 55%, хотя многие аналитики ожидали его ослабления. Теперь, когда Минфин...
Фото
ЦИАН. Отчет МСФО Q1 26г. Такой рентабельности никогда не было
Вышли финансовые результаты по МСФО за Q1 2026г. от компании ЦИАН: 👉Выручка — 3,90 млрд руб. (+17,9% г/г) 👉Операционные расходы — 2,72...

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

....все тэги



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