Author Archive
Автор: Николай Камынин
При разработке программ для автоматической торговли в QUIK на языке QPILE возникает задача определения момента времени появления новой свечи и получение значений предыдущей.
Обычно , именно в момент закрытия свечи и открытия новой и принимается решение о выставлении или снятии заявки.
Привожу фрагмент программы показывающий, как определить в программе данный момент для графика с ИДЕНТИФИКАТОРом RIZO:
~~~~~~~~~~~~~~~~~~~~~~
NEW_GLOBAL(«CANDLE_OLD»,» «) ‘предыдущая свеча
FLAG=0 ‘ флаг новой свечи
X_=GET_VALUE(GET_DATETIME (),»DATETIME»)
Date=SUBSTR (X_,6,4) & SUBSTR (X_, 3,2) & SUBSTR (X_, 0,2) ‘текущая дата
Time=SUBSTR (X_,11,2) & SUBSTR (X_, 14,2) & SUBSTR (X_, 17,2) ‘текущее время
CANDLE = (GET_CANDLE_EX («RIZO», Date, Time)
IF (GET_VALUE (CANDLE,»TIME»)-GET_VALUE (CANDLE_OLD,»TIME») <>0) ‘свеча новая
FLAG=1 ‘ флаг равен 1 в момент появления новой свечи на графике
END IF
‘ добавить в конце программы
IF (FLAG=1) ‘запоминаем новую свечу
CANDLE_OLD= CANDLE
END IF
~~~~~~~~~~~~~~~~~~~~~~~~
Кроме того на графике выберите “параметры графика” — можно правой кнопкой мышки
И в закладке ДОПОЛНИТЕЛЬНО в окне ИДЕНТИФИКАТОР запишите RIZO
На основе данного фрагмента не трудно написать программу получения свечи по любому номеру, считая от последней.
Внимание: В тексте программы использованы русские кавычки »
при копировании в QPILE замените их на обычные.
Успехов в учебе
Tags: QPILE, QUIK, МТС, торговый робот