Украинская биржа
Индекс UX Фьючерсный контракт на Индекс украинских акций  ПоискПоиск  ПравилаПравила  ПользователиПользователи  ПрофильПрофиль  РегистрацияРегистрация  ВходВход
Форум «Алгоритмическая торговля»
Форум для обсуждения тем по разработке механических торговых систем и написанию роботов на фондовом и срочном рынках.
торговля внутри спреда
Модераторы: ara, Алексей Сухоруков, Комиссаров Евгений
Новая тема   Ответить на тему
На страницу 1, 2  След.
 Предыдущая тема :: Следующая тема 
 Автор  Сообщение 
Almar
Стаж: 12 лет 9 месяцев
Откуда: Харьков
Сообщений: 95
Вс Июл 17, 2011 16:21 Ответить с цитатой Получить постоянный адрес сообщения
подскажите возможно реализовать торговлю внутри спреда на ЮХ, или это диалектически не выполнимо, если не выполнимо то по каким причинам? комиссии? 
 
ukrfondrinok.com
Стаж: 12 лет 8 месяцев
Сообщений: 71
Ср Сен 28, 2011 20:53 (спустя 2 месяца 12 дней 4 часа) Ответить с цитатой Получить постоянный адрес сообщения
здесь все очень просто - робот ставит заявки внизу и вверху спреда.  
 
Lukasus
Стаж: 13 лет 4 месяца
Сообщений: 393
Ср Сен 28, 2011 20:59 (спустя 2 месяца 12 дней 4 часа) Ответить с цитатой Получить постоянный адрес сообщения
а дальше? в чем преимущество? 
 
russ
Стаж: 14 лет
Сообщений: 1136
Ср Сен 28, 2011 21:24 (спустя 2 месяца 12 дней 5 часов) Ответить с цитатой Получить постоянный адрес сообщения
ukrfondrinok.com писал(а):
здесь все очень просто - робот ставит заявки внизу и вверху спреда.  

Кэп, ты? 
 
russ
Стаж: 14 лет
Сообщений: 1136
Ср Сен 28, 2011 21:45 (спустя 2 месяца 12 дней 5 часов) Ответить с цитатой Получить постоянный адрес сообщения
Almar писал(а):
подскажите возможно реализовать торговлю внутри спреда на ЮХ, или это диалектически не выполнимо, если не выполнимо то по каким причинам? комиссии? 

Не выполнимо, причин две:
1. Большие комисы.
2. Низкая ликвидность. 
 
QuQL
Стаж: 14 лет
Сообщений: 237
Чт Сен 29, 2011 16:39 (спустя 2 месяца 13 дней) Ответить с цитатой Получить постоянный адрес сообщения
п л ю с п р о с к а л ь з ы в а н и е 
 
ukrfondrinok.com
Стаж: 12 лет 8 месяцев
Сообщений: 71
Пн Окт 03, 2011 15:11 (спустя 2 месяца 16 дней 22 часа) Ответить с цитатой Получить постоянный адрес сообщения
russ писал(а):
ukrfondrinok.com писал(а):
здесь все очень просто - робот ставит заявки внизу и вверху спреда.  

Кэп, ты? 

Нет 
 
ukrfondrinok.com
Стаж: 12 лет 8 месяцев
Сообщений: 71
Пн Окт 03, 2011 15:12 (спустя 2 месяца 16 дней 22 часа) Ответить с цитатой Получить постоянный адрес сообщения
russ писал(а):
Almar писал(а):
подскажите возможно реализовать торговлю внутри спреда на ЮХ, или это диалектически не выполнимо, если не выполнимо то по каким причинам? комиссии? 

Не выполнимо, причин две:
1. Большие комисы.
2. Низкая ликвидность. 


Как раз Низкая ликвидность приводит к увеличению спреда. Чем ниже ликвидность тем выше спред, тем выше доход торгового робота. 
 
ukrfondrinok.com
Стаж: 12 лет 8 месяцев
Сообщений: 71
Пн Окт 03, 2011 15:13 (спустя 2 месяца 16 дней 22 часа) Ответить с цитатой Получить постоянный адрес сообщения
конечно есть риски, что в один момент неликвидная акция может вырасти или упасть сильно. Но это уже нужно анализировать и расчитывать доходность/риск. 
 
Skif
Стаж: 11 лет 4 месяца
Сообщений: 77
Вс Янв 13, 2013 21:36 (спустя 1 год 5 месяцев 28 дней) Ответить с цитатой Получить постоянный адрес сообщения
Cпредовый робот на qpile для quik (обновлен)


PORTFOLIO_EX Спредовый робот;
DESCRIPTION Спредовый робот;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM
'....................................................Настройки........................................

MARKET = "GTS" '---------------------Кол класса
TICKER = "CEEN" '--------------------Код инструмента
ACCOUNT = "000000000000" '------ Номер счета
CLIENT_CODE = "00000" '-----------Код клиента
SIZE = 100 '------------------------------Объем лота
MIN_SPREAD = 10 '--------------------Минимальное значение спреда для выставления заявки
MAX_SPREAD = 50 '-------------------Максимальное значение спреда для выставления заявки

'.........................................................................................................

NEW_GLOBAL("STATE", "WATCH")
NEW_GLOBAL("TRANS_ID", 0)
NEW_GLOBAL("LAST_ORDER", 0)
NEW_GLOBAL("LAST_ORDER_PRICE", 0)

ASK = GET_VALUE(GET_PARAM_EX(MARKET, TICKER, "OFFER"), "PARAM_VALUE")+0
BID = GET_VALUE(GET_PARAM_EX(MARKET, TICKER, "BID"), "PARAM_VALUE")+0

NEW_GLOBAL("COUNTDOWN", 0)
COUNTDOWN_INTERVAL = 5

IF COUNTDOWN > 0
COUNTDOWN = COUNTDOWN - 1
ELSE
IF STATE == "WAIT BUY"
IF LAST_ORDER_PRICE == BID
COUNTDOWN = COUNTDOWN_INTERVAL
ELSE
STATE = "CANCEL BUY"
END IF
END IF
IF STATE == "WAIT SELL"
IF LAST_ORDER_PRICE == ASK
COUNTDOWN = COUNTDOWN_INTERVAL
ELSE
STATE = "CANCEL SELL"
END IF
END IF
END IF

IF STATE == "WATCH"
SPREAD = ABS(ASK - BID)
IF (SPREAD >= MIN_SPREAD) AND (SPREAD <= MAX_SPREAD)
STATE = "PLACE BUY"
ELSE
RETURN
END IF
END IF

IF STATE == "PLACE BUY"
LAST_ORDER = PLACE_ORDER("B", BID, SIZE)
IF LAST_ORDER != 0
LAST_ORDER_PRICE = BID
STATE = "WAIT BUY"
COUNTDOWN = COUNTDOWN_INTERVAL
END IF
END IF

IF STATE == "WAIT BUY"
IF GET_VALUE(GET_ORDER(LAST_ORDER), "STATUS") == "FILLED"
STATE = "PLACE SELL"
END IF
END IF

IF STATE == "CANCEL BUY"
STATUS = GET_VALUE(GET_ORDER(LAST_ORDER), "STATUS")
IF STATUS == "FILLED"
STATE = "PLACE SELL"
END IF
IF STATUS == "KILLED"
STATE = "WATCH"
END IF
IF STATUS == "ACTIVE"
CANCEL_ORDER(LAST_ORDER)
END IF
END IF

IF STATE == "PLACE SELL"
LAST_ORDER = PLACE_ORDER("S", ASK, SIZE)
IF LAST_ORDER != 0
LAST_ORDER_PRICE = ASK
STATE = "WAIT SELL"
COUNTDOWN = COUNTDOWN_INTERVAL
END IF
END IF

IF STATE == "WAIT SELL"
IF GET_VALUE(GET_ORDER(LAST_ORDER), "STATUS") == "FILLED"
STATE = "WATCH"
END IF
END IF

IF STATE == "CANCEL SELL"
STATUS = GET_VALUE(GET_ORDER(LAST_ORDER), "STATUS")
IF STATUS == "FILLED"
STATE = "WATCH"
END IF
IF STATUS == "KILLED"
STATE = "PLACE SELL"
END IF
IF STATUS == "ACTIVE"
CANCEL_ORDER(LAST_ORDER)
END IF
END IF

FUNC GET_ORDER(ORDNUM)
_TOTAL = GET_NUMBER_OF("ORDERS")
RESULT = 0
FOR _I FROM 1 TO _TOTAL
_ROW = GET_ITEM("ORDERS", _I)
IF GET_VALUE(_ROW, "NUMBER")+0 == ORDNUM
RESULT = _ROW
BREAK
END IF
END FOR
END FUNC

FUNC CANCEL_ORDER(NUMBER)
T = CREATE_MAP()
TRANS_ID = TRANS_ID + 1
T = SET_VALUE(T, "TRANS_ID", TRANS_ID)
T = SET_VALUE(T, "ACTION", "KILL_ORDER")
T = SET_VALUE(T, "ORDER_KEY", NUMBER)
T = SET_VALUE(T, "CLASSCODE", MARKET)
T = SET_VALUE(T, "SECCODE", TICKER)
T = SET_VALUE(T, "ACCOUNT", ACCOUNT)
T = SET_VALUE(T, "CLIENT_CODE", CLIENT_CODE)
R = SEND_TRANSACTION(30, T)
RESULT = GET_VALUE(R, "RESULT")+0
'GET_VALUE(R, "DESCRIPTION")
END FUNC

FUNC PLACE_ORDER(OPERATION, PRICE, QUANTITY)
T = CREATE_MAP()
TRANS_ID = TRANS_ID + 1
T = SET_VALUE(T, "TRANS_ID", TRANS_ID)
T = SET_VALUE(T, "ACTION", "NEW_ORDER")
T = SET_VALUE(T, "CLASSCODE", MARKET)
T = SET_VALUE(T, "SECCODE", TICKER)
T = SET_VALUE(T, "ACCOUNT", ACCOUNT)
T = SET_VALUE(T, "CLIENT_CODE", CLIENT_CODE)
T = SET_VALUE(T, "TYPE", "L")
T = SET_VALUE(T, "OPERATION", OPERATION)
T = SET_VALUE(T, "PRICE", PRICE)
T = SET_VALUE(T, "QUANTITY", QUANTITY)
RES = SEND_TRANSACTION(10, T) ' ----------------------------------------------------Период ожидания в секундах
RESULT = GET_VALUE(RES, "ORDER_NUMBER")+0
DT = GET_DATETIME()
ROW = CREATE_MAP()
ROW = SET_VALUE(ROW, "DT", GET_VALUE(DT, "DATETIME"))
ROW = SET_VALUE(ROW, "SIDE", OPERATION)
ROW = SET_VALUE(ROW, "PRICE", PRICE)
ROW = SET_VALUE(ROW, "ORDER", RESULT)
ADD_ITEM(1, ROW) '------------------------------------------------------------------------1-ставить заявку первой
END FUNC

END_PROGRAM

PARAMETER DT;
PARAMETER_TITLE Дата и Время;
PARAMETER_DESCRIPTION Дата и Время;
PARAMETER_TYPE STRING(30);
END

PARAMETER SIDE;
PARAMETER_TITLE Направление;
PARAMETER_DESCRIPTION Направление;
PARAMETER_TYPE STRING(30);
END

PARAMETER PRICE;
PARAMETER_TITLE Цена;
PARAMETER_DESCRIPTION Цена;
PARAMETER_TYPE STRING(30);
END

PARAMETER ORDER;
PARAMETER_TITLE Заявка;
PARAMETER_DESCRIPTION Заявка;
PARAMETER_TYPE STRING(30);
END

END_PORTFOLIO_EX


Пример установки похожего робота на qpile в quik www.youtube.com/watch?feature=player_embedded&v=jD1BFWX6dus

Робот files.mail.ru/350001F7D1394F6AB389496B206FDB17
для распознавания файла Windows нужно его открывать при помощи блокнота  
 
Последний раз редактировалось автором 20.01.2013 20:27, всего редактировалось 20 раз
PirateTrade
Стаж: 11 лет 4 месяца
Сообщений: 10
Сб Янв 19, 2013 03:17 (спустя 1 год 6 месяцев 3 дня) Ответить с цитатой Получить постоянный адрес сообщения
Скиф, это очень круто! Спасибо 
 
Игорь Китаев
Стаж: 14 лет 6 месяцев
Сообщений: 49
Пн Янв 21, 2013 15:43 (спустя 1 год 6 месяцев 5 дней) Ответить с цитатой Получить постоянный адрес сообщения
PirateTrade писал(а):
Скиф, это очень круто! Спасибо 


Это один из роботов Дениса Колодина.
www.ilearney.com/elearning/details.php?ID=5907
Здесь найдёте ещё больше. 
 
Последний раз редактировалось автором 21.01.2013 15:44, всего редактировалось 1 раз
Natty
Стаж: 12 лет 5 месяцев
Откуда: Одесса
Сообщений: 119
Пн Янв 21, 2013 20:43 (спустя 1 год 6 месяцев 6 дней) Ответить с цитатой Получить постоянный адрес сообщения
Спред на кьюпайле торговать - не самая лучшая идея )) 
 
Солошенко Юра Digital Sky
Стаж: 13 лет 3 месяца
Откуда: www.ds-ua.com, www.qlua.org
Сообщений: 80
Вс Янв 27, 2013 12:52 (спустя 1 год 6 месяцев 11 дней) Ответить с цитатой Получить постоянный адрес сообщения
Natty писал(а):
Спред на кьюпайле торговать - не самая лучшая идея )) 

+1
А вот на Lua, вполне реально...
Вот пример тыц 
 
Natty
Стаж: 12 лет 5 месяцев
Откуда: Одесса
Сообщений: 119
Вс Янв 27, 2013 13:11 (спустя 1 год 6 месяцев 11 дней) Ответить с цитатой Получить постоянный адрес сообщения
Солошенко Юра Digital Sky писал(а):
Natty писал(а):
Спред на кьюпайле торговать - не самая лучшая идея )) 

+1
А вот на Lua, вполне реально...
Вот пример тыц 


А вы Lua занимаетесь? Интересно, lua быстрее отрабатывает, чем связка DDE + trans2quik.dll + собственное приложение? 
 
Последний раз редактировалось автором 27.01.2013 13:13, всего редактировалось 1 раз
Показать сообщения:   
Новая тема   Ответить на тему
Список форумов Украинской биржи -> Алгоритмическая торговляНа страницу 1, 2  След.
Страница 1 из 2
Сайт Украинской биржи
Copyright © Украинская биржа, 2024.
Предложения, замечания и вопросы по работе форума направляйте на email: