Быстрая заявка в терминале Quik

    • 13 февраля 2016, 19:49
    • |
    • Prodik
  • Еще
Проблема такая, роботу дается команда отправки заявки, пока он соображает что нужно уже делать цена уходит и он ждет по таймауту, чтобы закрыть и начать делать свое дело, но уже с новой ценой. Как можно сделать быстрее робота? Я слышал что можно сделать, чтобы функция  выполнения заявки постоянно работала и как только приходит сигнал действия, он ее выполняет, на данный момент насколько знаю обновление в квике идет с интервалом 1 секунда.
Спасибо за помощь!

На данный момент у меня код такой

' Функция отправки заявки на покупку/продажу
FUNC SEND_ORDER(Operation, Price, Type, SecCode, ClassCode, Quantity)
TRANS_PARAMS = CREATE_MAP()
trans_params = set_value (trans_params, «TRANS_ID», TransID)
trans_params = set_value (trans_params, «ACTION», «NEW_ORDER»)
trans_params = set_value (trans_params, «CLASSCODE», ClassCode)
trans_params = set_value (trans_params, «SecCode», SecCode)
trans_params = set_value (trans_params, «ACCOUNT», Account)
trans_params = set_value (trans_params, «OPERATION», Operation)
trans_params = set_value (trans_params, «PRICE», Price)
trans_params = set_value (trans_params, «Quantity», Quantity)
trans_params = set_value (trans_params, «CLIENT_CODE», ClientCode)
trans_params = set_value (trans_params, «TYPE», Type)
trans_result = SEND_TRANSACTION(Order_Timer, trans_params)
FOR while FROM 0 TO 1 ' Ожидаем пока заявка будет выставлена
'while=0
IF GET_VALUE(trans_result, «RESULT_EX») = «3»
OrderNumber = 0+GET_VALUE(trans_result, «ORDER_NUMBER»)
FlagOrder=1
WRITELN(test, DATE &" "& curtime &" Ордер выставлен: "&OrderNumber&" QTY: "&Quantity)
RETURN
END IF
END FOR
RETURN
END FUNC


Получить дату пятницы qpile

    • 27 апреля 2015, 14:13
    • |
    • Prodik
  • Еще
Как грамотно получить дату пятницы в qpile и вообще декремент дней(то есть дату предыдущего дня).
Если понедельник будет 1 или 2 числом месяца, то Day_Prev=Day-3 не прокатит.

 ' Декремент даты на 1 

FUNC PrevDate(DATE)
YEAR_=SUBSTR (DATE, 0,4)
MONTH_=SUBSTR (DATE, 4,2)
DAY_=SUBSTR (DATE, 6,2)-1
IF DAY_<1
DAY_=31
MONTH_=MONTH_-1
IF MONTH_<1
MONTH_=12
YEAR_=YEAR_-1
END IF
END IF
result=100*(100*YEAR_ +MONTH_) +DAY_
END FUNC

Что нужно дополнить? Я отталкивался сначала от того, что если сегодня понедельник, то вычитать -3 дня будет пятница, но по вышесказанному не получится, а хранить дату пятницы в файле что-то не особо хочется, нужно чтобы кодом получало. Спасибо за граммотные ответы. 


СИ покупка

    • 10 апреля 2014, 11:19
    • |
    • Prodik
  • Еще
С целью 36270, есть шанс что пойдем выше к 36700

Робот или вопросы к знающим.

    • 05 апреля 2013, 15:35
    • |
    • Prodik
  • Еще
Хочу написать еще робота, но он сложный и есть вопросы на которые ответы либо не знаю, либо могу ошибаться.

1. Как вы расчитываете проценты прибыли или убытка?
На данный момент у меня расчитывается таким образом:
для лонга: Profit=CLOSE_PRICE*100/ENTER_PRICE-100
для шорта: Profit=ENTER_PRICE*100/CLOSE_PRICE-100
Ошибаюсь ли я в чем-то, мб что-то не учитываю?

2. Как можно расчитать процент если будет менятся кол-во контрактов?

3. Каким образом вы меняете кол-во контрактов, в зависимости от прибыли или убытка, в процентах или в кол-вах штук? И каким образом?

4. Возможно ли как-нибудь торговать на одном депо, на одном инструменте и в лонг и вшорт одновременно?
Или придется новый депо открывать ?

Спасибо тем кто поможет в моих вопросах…

теги блога Prodik

....все тэги



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