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: , , ,