Как правильно выставить заявку takeprofit на QPILE

Страницы: 1
RSS
Как правильно выставить заявку takeprofit на QPILE, Выставить заявку типа takeprofit не в ручную, а роботом на QPILE.
 
Здравствуйте!  Хочу выставить заявку типа takeprofit не в ручную, а роботом на QPILE. В мануале не написано как правильно сделать.
Если выставлять вручную, то заполняются параметры типа:
Срок действия (EXPIRE_DATE). Вопросы: 1. Как выставить роботом - сегодня? 2. Как выставить роботом - до отмены? 3. Как правильно писать дату если указывать до даты?
Инструмент: (SECCODE)
Торговый счет: (CLASSCODE)
Условия активации заявки: Покупка или Продажа (OPERATION)
Если цена <= (при покупке) или Если цена >= (при продаже) (PRICE)
Количество лотов: (QUANTITY)
Код клиента: ACCOUNT
Отступ от min (OFFSET): pOFFSET=0.01
В чем измеряется зотступ от min  (OFFSET_UNITS): Как правильно указать значение, в кавычках, как строку?: pOFFSET_UNITS="%" и pOFFSET_UNITS="Д" ???
Защитный спред (SPREAD):  pSafeSpread=0.01
В чем измеряется защитный спред  (SPREAD_UNITS): Как правильно указать значение, в кавычках, как строку?: pSPREAD_UNITS="%" и pSPREAD_UNITS="Д" ???
ПРАВИЛЬНО ЛИ Я СФОРМИРОВАЛ ЗАЯВКУ????

'========= ПЕРЕМЕННЫЕ
рEXPIRE_DATE="20150529"
pOFFSET=0.01
pOFFSET_UNITS="%"
pSafeSpread=0.01
pSPREAD_UNITS="%"

'========= ФУНКЦИЯ ОТПРАВКИ
FUNC ORDER(FPRICE,FLOTS,FDIRECTION)
   FLOTS=CEIL(FLOTS)
   NEW_GLOBAL("TRANS_PARAMS", "")
   NEW_GLOBAL("TRANS_RESULT", "")
   MASKORDER=TRID+0
   TRANS_PARAMS = ""
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "TRANS_ID", TRID&"")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACTION", "NEW_ORDER")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "TYPE", "L")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "CLASSCODE", PLOSHADKA)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SECCODE", INSTRUMENT)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACCOUNT", ACCOUNT)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OPERATION", FDIRECTION&"")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "PRICE", FPRICE&"")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "QUANTITY", FLOTS&"")
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "EXPIRE_DATE", рEXPIRE_DATE)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OFFSET", pOFFSET)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OFFSET_UNITS", pOFFSET_UNITS)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SPREAD", pSafeSpread)
   TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SPREAD_UNITS", pSPREAD_UNITS)
   TRANS_RESULT = SEND_TRANSACTION (30, TRANS_PARAMS)
   RESULT=GET_VALUE(TRANS_RESULT, "DESCRIPTION")
   MESSAGE (RESULT,1)
END FUNC  
 
Цитата
Сергей написал:
В мануале не написано как правильно сделать.
параметры транзакций описаны в руководстве:
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций

Цитата
Сергей написал:
Как выставить роботом - сегодня?
EXPIRY_DATE = "TODAY"

Цитата
Сергей написал:
Как выставить роботом - до отмены?
EXPIRY_DATE = GTC

Цитата
Сергей написал:
Как правильно писать дату если указывать до даты?
EXPIRY_DATE = Дата в формате «ГГГГММДД»

Цитата
Сергей написал:
pOFFSET_UNITS="%" и pOFFSET_UNITS="Д" ???
pSPREAD_UNITS="%" и pSPREAD_UNITS="Д" ???
в руководстве нет таких значений "%" и "Д"
есть такие:
«PERCENTS» – в процентах (шаг изменения – одна сотая процента),
«PRICE_UNITS» – в параметрах цены (шаг изменения равен шагу цены по данному инструменту).

Цитата
Сергей написал:
Как правильно указать значение, в кавычках, как строку?
Да в кавычках как строку.

Цитата
Сергей написал:
ПРАВИЛЬНО ЛИ Я СФОРМИРОВАЛ ЗАЯВКУ????

Примеры параметров транзакций есть в руководстве
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций
----Примеры строк, которые могут содержаться в файле
 
Спасибо большое! С вашими подсказками в итоге работает правильно. Спасибо за 6 раздел мануала! Даже и не думал туда смотреть изначально, думал все в 8 разделе, а теперь все встало на свои места. Привожу код на всякий случай:

FUNC TAKEPROFITORDER(FPRICE,FLOTS,FDIRECTION)
   ' FLOTS=CEIL(FLOTS)
   NEW_GLOBAL("TRANS_PARAMS", "")
   NEW_GLOBAL("TRANS_RESULT", "")
   
TRANS_PARAMS = ""
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "TRANS_ID", TRID&"")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACTION", "NEW_STOP_ORDER")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "STOP_ORDER_KIND ", "TAKE_PROFIT_STOP_ORDER")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "CLASSCODE", PLOSHADKA)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SECCODE", INSTRUMENT)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACCOUNT", ACCOUNT)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OPERATION", FDIRECTION&"")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "STOPPRICE", FPRICE&"")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "QUANTITY", FLOTS&"")
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "EXPIRY_DATE", PEXPIRYDATE)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OFFSET", POFFSET)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OFFSET_UNITS", POFFSETUNITS)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SPREAD", PSAFESPREAD)
TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SPREAD_UNITS", PSPREADUNITS)
TRANS_RESULT = SEND_TRANSACTION (30, TRANS_PARAMS)
RESULT=GET_VALUE(TRANS_RESULT, "DESCRIPTION")
MESSAGE (INSTRUMENT & " " & RESULT,1)
END FUNC
Страницы: 1
Читают тему
Наверх