Постов с тегом "qple": 3

qple


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



( Читать дальше )
  • обсудить на форуме:
  • Qpile

У кого есть Lua .

    • 20 апреля 2020, 08:29
    • |
    • McDuck
  • Еще
Здравствуйте народ. Хотел спросить может у кого есть Lua скрипт работающий по пересечению индикатором нулевой зоны гистограммой, который можно подключить через идентификатор в QUIK.  Либо чтобы открывались сделки по данным скрипта qpl по перевесу (дельте) оборота сделок. Скрипт прилагаю, в нем подсчитывается объем.  
Написание скрипта тоже рассмотрю, пишите в личку.  
PORTFOLIO_EX LUK;
DESCRIPTION Объёмы купли/продажи за интервал;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;

PROGRAM

'Автор:  Михаил Булычев
'Что делает:
'   подсчитывается объёмы купли\продажи по определённому инструменту за 
'   заданный интервал   
'Как использовать:
'  В следующих строках следует указать код бумаги и код класса для 
'  отслеживаемого инструмента

'=============================НАСТРОЙКИ===============================
SecCode="LKOH" '  Код инструмента
ClassCode="TQBR" 'Код класса
interv=3600 'является интервалом в секундах
razn = 0 'смещение часового пояса относительно времени торговой системы. 
'=============================НАСТРОЙКИ===============================


FUNC is_in_interval(interval, trade_time, sys_time, hour_shift)
  csys_time_value=0
  c_time_value=0
  csys_time_value =0 + (0 + get_value(sys_time, "Hour") + hour_shift)*3600 + _
                    get_value(sys_time, "Min")*60 + _
                    get_value(sys_time, "Sec")
  c_time_value=0 + ((0 + substr("" & trade_time, 0, 2)) * 3600) + ((0 + substr("" & trade_time, 2, 2)) * 60) + ((0 + substr("" & trade_time, 4, 2)))

csys_time_value = csys_time_value + 0
c_time_value = c_time_value + 0

k=csys_time_value - c_time_value

if k <= interval
    result=1
  else
    result=0
  end if
END FUNC

  buy_value=0
  sell_value=0
  total_value=0
  sys_time = GET_DATETIME()
  delete_all_items() 
  mString=create_map()
  


  j=0
  n=get_number_of("ALL_TRADES")
  for i from 0 to n
    mTrade=get_item("ALL_TRADES", n-i)
    trade_time=get_value(mTrade, "TIME")
    if (get_value(mTrade, "SECCODE")= SecCode) AND (get_value(mTrade, "CLASSCODE")= ClassCode)
      if is_in_interval(interv, trade_time, sys_time, 0-razn) = 1
        value=0+get_value(mTrade, "VALUE")
        j=j+1
        if (get_value(mTrade, "OPERATION") = "BUY")
          buy_value=buy_value+value    
        else
          sell_value=sell_value+value      
        end if
        total_value=total_value+value
      else
        break
      end if
    end if    
  end for
  mString=set_value(mString, "vol", total_value)
  mString=set_value(mString, "volbuy", buy_value)
  mString=set_value(mString, "volsell", sell_value)
  add_item(1, mString)
END_PROGRAM

PARAMETER vol;
PARAMETER_TITLE vol;
PARAMETER_DESCRIPTION Купили;
PARAMETER_TYPE NUMERIC(10,0);
END
PARAMETER volbuy;
PARAMETER_TITLE volbuy;
PARAMETER_DESCRIPTION Купили;
PARAMETER_TYPE NUMERIC(10,0);
END
PARAMETER volsell;
PARAMETER_TITLE volsell;
PARAMETER_DESCRIPTION Продали;
PARAMETER_TYPE NUMERIC(10,0);
END
END_PORTFOLIO_EX
  • обсудить на форуме:
  • Quik Lua

Торговые роботы

    • 22 октября 2014, 15:29
    • |
    • MaGaDaN
  • Еще
Ищу нормального!!! специалиста, который сможет написать пару алгоритмов на qple. Если кто то из смартлабовцев уже сталкивался с нормальными разработчиками отпишитесь в комментариях, желательно подробно.

....все тэги
UPDONW
Новый дизайн