Take Profit и Stop loss

Страницы: 1
RSS
Take Profit и Stop loss
 
Доброго времени суток всем.
Подскажите как написать заявку Take profit и stop loss?
Допустим купил по 100. И хочу продать по 105(Take profit) или по 98(Stop loss)
Не могу написать именно сам массив для Sendtrasaction.
 
открываете Руководство пользователя QUIK
Раздел 6. Совместная работа с другими приложениями
Импорт транзакций
Формат .tri-файла с параметрами транзакций
Примеры строк, которые могут содержаться в файле
--------------
и там есть пример
Тейк-профит и стоп-лимит
Лукойл, покупка 1 лота,  активация тейк-профита при достижении цены 2000 с отступом в 5% и защитным  спредом в 3%, стоп-цена 2222, цена лимитированной заявки 2255, время действия с  10:00:01 по 19:45:45
ACTION=NEW_STOP_ORDER; TRANS_ID=10055; CLASSCODE= TQBR;  SECCODE=LKOH; ACCOUNT=L01-00000F00; CLIENT_CODE=Q7; OPERATION=B; QUANTITY=1;  PRICE=2255; STOPPRICE=2000; STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER;  OFFSET=5; OFFSET_UNITS=PERCENTS; SPREAD=3; SPREAD_UNITS=PERCENTS;  MARKET_TAKE_PROFIT=NO; STOPPRICE2=2222; IS_ACTIVE_IN_TIME=YES;  ACTIVE_FROM_TIME=100001; ACTIVE_TO_TIME=194545; MARKET_STOP_LIMIT=NO
 
Спасибо. Сделал через карман заявок. Вытащил оттуда tri файл.
Не могу привести его в нормальный вид для отправки транзакции.
Помогите пожалуйста.
Код
stop = {
ID= os.time()
TRANS_ID=tostring(ID),
CLASSCODE="QJSIM",
ACTION="Stop order",
Stop order type=Take-profit and stop-limit,
Expiry=GTC,
ACCOUNT="NL0011100043",
B/S=Sell,
Condition=>=,
STOPPRICE=137,05,
Flags=386,
Mode=QJSIM,
Instrument=SBER,
Order instrument=SBER,
Order class=QJSIM,
Price=0,00,
QUANTITY=1,
Comment=10828/,
Limit order price=0,00,
OFFSET=0,010000;
SPREAD=0,000000;
Base order number=0,
from=0,
to=235959,
Stop price 2=136,55,
}   
 
1) В числах разделитель разрядов должен быть точкой.
2) Если после знака равно стоит строка, её надо взять в кавычки.
3) В самом конце строк таблицы stop нужны запятые, а не точки с запятой, как сейчас в некоторых местах.
4) TRANS_ID должно быть числом.
 
Цитата
_sk_ написал:
1) В числах разделитель разрядов должен быть точкой.
2) Если после знака равно стоит строка, её надо взять в кавычки.
3) В самом конце строк таблицы stop нужны запятые, а не точки с запятой, как сейчас в некоторых местах.
4) TRANS_ID должно быть числом.
Спасибо. Я имел ввиду сделать из вышенаписанного кода массив для sendtransaction?
 
Ренат, добрый день.

Для отправки транзакции с помощью sendTransaction необходимо указать ее параметры в фиксированном формате. Описание фиксированного формата доступно в Руководстве пользователя Рабочего места QUIK: Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Фиксированный формат файла импорта транзакций / Формат .tri-файла с параметрами транзакций.
 
Цитата
Ренат написал:
Цитата
_sk_ написал:
1) В числах разделитель разрядов должен быть точкой.
2) Если после знака равно стоит строка, её надо взять в кавычки.
3) В самом конце строк таблицы stop нужны запятые, а не точки с запятой, как сейчас в некоторых местах.
4) TRANS_ID должно быть числом.
Спасибо. Я имел ввиду сделать из вышенаписанного кода массив для sendtransaction?
для этого надо все параметры записать либо в кавычках либо с помощью функции tostring()
 
Для себя когда то делал, даже с рисунком, вроде все правильно. Может пригодится
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
table_stop_order=
{
["ACTION"]="NEW_STOP_ORDER",
["STOP_ORDER_KIND"]="TAKE_PROFIT_AND_STOP_LIMIT_ORDER",
["EXPIRY_DATE"]="GTC", --до отмены
["IS_ACTIVE_IN_TIME"]="NO",
["SECCODE"]=tostring("SiH3"),
["ACCOUNT"]=tostring("111GJBJ"),
["OPERATION"]=tostring("B"), --Значения: «S»–продать, «B»–купить
["STOPPRICE"]=string.format("%.0f",72850), --Цена условия «тэйк-профит» для заявки типа «Тэйк-профит и стоп-лимит»
["STOPPRICE2"]=string.format("%.0f",72800), --Цена условия «стоп-лимит» для заявки типа «Тэйк-профит и стоп-лимит»
["PRICE"]=string.format("%.0f",72750), --Цена, по которой выставится заявка при срабатывании стоп-лимита
["MARKET_STOP_LIMIT"]="NO", --Признак исполнения заявки по рыночной цене при наступлении условия «стоп-лимит».
["QUANTITY"]=string.format("%.0f",1), --Объем
["CLIENT_CODE"]=tostring("111GJBJ"), --Номер торгового счета вообще не нужен здесь без него работает
["OFFSET"]="0", --Величина отступа от максимума (минимума) цены последней сделки
["OFFSET_UNITS"]="PRICE_UNITS", --Единицы измерения отступа. Возможные значения: «PERCENTS» – в процентах «PRICE_UNITS» – в параметрах цены
["SPREAD_UNITS"]="PRICE_UNITS", --Единицы измерения защитного спрэда. Возможные значения: «PERCENTS» – в процентах «PRICE_UNITS» – в параметрах цены
["SPREAD"]=tostring("100"), --Величина защитного спрэда. Возможные значения: «PERCENTS» – в процентах «PRICE_UNITS» – в параметрах цены
["MARKET_TAKE_PROFIT"]="NO", --Признак исполнения заявки по рыночной цене при наступлении условия «тэйк-профит»
["CLASSCODE"]=tostring("SPBFUT"),
["TRANS_ID"]=tostring("2147483647") --TRANS_ID заявки должен быть числом
--["TYPE"]="L", --«L»–лимитированная (по умолчанию), «M»–рыночная
}
result=sendTransaction(table_stop_order)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
Всех с наступившими праздниками.
Всем спасибо за помощь.
Выставляется заявка.
Но при достижении стоп цены появляются две ошибки.

Заявка, выставляемая по стоп-заявке N [10872095], отвергнута торговой системой: Order price 0.00 is out of set interval from 106.85 to 178.07

или

Стоп-заявка N [10872094] не прошла контроль лимитов

От чего так?
 
Цитата
Ренат написал:
Всех с наступившими праздниками.
Всем спасибо за помощь.
Выставляется заявка.
Но при достижении стоп цены появляются две ошибки.

Заявка, выставляемая по стоп-заявке N [10872095], отвергнута торговой системой: Order price 0.00 is out of set interval from 106.85 to 178.07

или

Стоп-заявка N [10872094] не прошла контроль лимитов

От чего так?
Проверьте параметр ["PRICE"]. Из руководства:
["PRICE"]  - Цена заявки, за единицу инструмента. Обязательный параметр.
При выставлении рыночной заявки (TYPE=M) на Срочном рынке FORTS необходимо указывать значение цены – укажите наихудшую
(минимально или максимально возможную – в зависимости от направленности), заявка все равно будет исполнена по рыночной цене.
Для других рынков при выставлении рыночной заявки укажите price=0
 
Цитата
Айдар написал:
к
Хотя если указать, что заявка лимитировання (["TYPE"]="L") и указать конкретную цену (на n пунктов хуже ["STOPPRICE2"]) - то я думаю проблемы этой не будет
 
Ренат, добрый день.

Сообщения говорят о том, что исполнение стоп-заявки привело к порождению лимитированной заявки с ценой 0.00, из-за чего она была отвергнута торговой системой.
Возможно, при создании стоп-заявки было указан слишком большое значение защитного спреда, рекомендуем проверить данное предположение.
Если указанная проверка не позволит обнаружить каких-либо критичных ошибок, просим Вас уточнить, с какими параметрами была отправлена транзакция на ввод стоп-заявки.
Страницы: 1
Читают тему
Наверх