Блог им. Nikita_Drabyshevsky

Импорт значений дневных свечей из QUIK

qpile скрипт, создающий таблицу значений дневных свечей, для создания таблицы должен быть открыт соответствующий график, код скрипта в конце.
Порядок действий:
1) Создаём текстовый документ, меняем его расширение с txt на qpl
2) Открываем документ при помощи блокнота и копируем в него код скрипта
3) На 9 строке ставим в кавычках код класса, на 10й вставляем код инструмента, на 11 строке устанавливаем количество импортируемых свечей (в теории можно импортировать 3000, однако обычно выходит меньше)
4) сохраняем файл
5) В добавляем скрипт в QUIK: В верхнем меню, вкладка сервисы -> QPILE скрипты -> Добавить (находим и выбираем файл со скриптом) -> Загрузить локально (и закрываем верхнее окно) -> В окне «работа со скриптами» жмём создать таблицу -> Добавляем все параметры и жмём «Да»
6) Кликаем на открывшуюся таблицу правой кнопкой мыши, и жмём на вывод через DDE сервер, в открывшемся окне выбираем книгу эксель, лист и жмём «Начать вывод»
В качестве примера введены код класса и инструмента для валютной пары USD/RUB с поставкой на завтра. 
Код скрипта:

PORTFOLIO_EX USD_RUB_DAY;
DESCRIPTION USD_RUB_DAY;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

USE_CASE_SENSITIVE_CONSTANTS

PROGRAM
secClass = «CETS» ' код класса
secCode = «USD000UTSTOM» ' код инструмента
candleMaxCount = 3000 ' количество импортируемых свечей

timeFrame = -1

DELETE_ALL_ITEMS()

dateTime = GET_DATETIME()
yearPart = GET_VALUE(dateTime, «YEAR»)
monthPart = GET_VALUE(dateTime, «MONTH»)
dayPart = GET_VALUE(dateTime, «DAY»)

for i from 1 to candleMaxCount
if(i > 5000)
i = 10000
end if
dateString = GetDataString(yearPart, monthPart, dayPart)
timeString = «000000»
candle = GET_CANDLE(secClass, secCode, "", timeFrame, «PRICE», dateString, timeString)
open = GET_VALUE(candle, «OPEN») + 0
if (open = 0)
candleMaxCount = candleMaxCount + 1
end if

if (open > 0)
high = GET_VALUE(Candle, «HIGH»)
low = GET_VALUE(Candle, «LOW»)
close = GET_VALUE(Candle, «CLOSE»)
volume = GET_VALUE(candle, «VOLUME»)
output = CREATE_MAP()
output = SET_VALUE(output, «Date», dateString)
output = SET_VALUE(output, «Time», timeString)
output = SET_VALUE(output, «OpenPrice», open)
output = SET_VALUE(output, «HighPrice», high)
output = SET_VALUE(output, «LowPrice», low)
output = SET_VALUE(output, «ClosePrice», close)
output = SET_VALUE(output, «Volume», volume)

ADD_ITEM(i, output)
end if

dayPart = dayPart — 1
if dayPart < 1
dayPart = 31
monthPart = monthPart — 1
if monthPart < 1
monthPart = 12
yearPart = yearPart — 1
end if
end if
end for

func GetDataString(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

END_PROGRAM

PARAMETER Date;
PARAMETER_TITLE Date;
PARAMETER_DESCRIPTION Date;
PARAMETER_TYPE STRING(30);
END

PARAMETER OpenPrice;
PARAMETER_TITLE Open;
PARAMETER_DESCRIPTION Open;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER HighPrice;
PARAMETER_TITLE High;
PARAMETER_DESCRIPTION High;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER LowPrice;
PARAMETER_TITLE Low;
PARAMETER_DESCRIPTION Low;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER ClosePrice;
PARAMETER_TITLE Close;
PARAMETER_DESCRIPTION Close;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER Volume;
PARAMETER_TITLE Volume;
PARAMETER_DESCRIPTION Volume;
PARAMETER_TYPE NUMERIC(10,0);
END

END_PORTFOLIO_EX




Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • QUIK
980 | ★1
1 комментарий
нифига не понял, ну да и ладно. Я не в первый раз тупой, мне порой бывает проще послать, чем вежливо разговаривать. Могу ошибаться, сори.

avatar

Читайте на SMART-LAB:
🚀 Встречайте: кластер «Цифровые Решения»
Дорогие инвесторы! Рады сообщить, что Софтлайн завершил формирование третьего кластера «Цифровые Решения». • Специализация: комплексные...
Фото
От автопрома до инвестиционного портфеля
◻️ Платиноиды привычно ассоциируются с драгоценными украшениями . Однако главные сферы их применения лежат далеко за пределами витрин ювелирных...
Фото
GBP/USD: Импульс пробоя открывает путь к затяжной коррекции
«Старый джентльмен» все-таки оттолкнулся от сопротивления 1.3560, которое не поддавалось штурму несколько недель. Сейчас пара пробила...
Фото
Хэдхантер. Отчет МСФО за Q1 2026г. Всё будет непросто…но…есть надежда.
Вышли финансовые результаты по МСФО за Q1 2026г. от компании Хэдхантер: 👉Выручка — 9,49 млрд руб. (-1,5% г/г) 👉Операционные расходы —...

теги блога Никита Драбышевский

....все тэги



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