Избранное трейдера Robin&Bobin
О битке, как и многие, я узнал впервые в декабре 2013 года. Поверхностно изучил вопрос, понял, что инструмент интересный тем, что слиться в ноль он не может, ибо децентрализованная сеть и шифрование, а сама его природа склонна к периодическим надуванием цены в финансовый пузырь, каких на тот момент было уже три (сейчас идет четвертый пузырь цены битка). Ну и интересен он был тем, что его можно было торговать как другие валютные пары с плечом до 1:3.
В середине 2014 года я прикинул, что пузырь уже достаточно сдулся и пора реализовывать свой хитрый план. План был крайне прост и эффективен, его я записал в виде отдельной статьи со всеми расчётами, эту статью до сих пор можно найти в сети.
Суть плана:
Предполагаем, что середина 2014 года это дно после предыдущего и следующего пузыря, а значит с большой вероятностью цена не будет опускаться от каждого следующего максимального уровня на величину большую чем 50% и в итоге вырастит в новый пузырь. А значит, если я буду покупать биток с плечом 1:2, то ко мне МАРЖарИН КОЛян не придет, а на избыточный профит от роста битка я буду собственно биток и докупать, доводя каждый раз используемое плечо до 1:2.
Все что мне оставалось это сделать базовый закуп и расставить сетку отложенных ордеров на покупку и выставить итоговый тейк профит на уровне 3000. Файл расчёта с первыми закупами и с планом последующих всё еще хранится у меня в облаке, кто хочет, может его глянуть тут.
Привет всем! В предыдущем посте рассматривались два объекта, которые формируют закрытые позиции и считают статистику торговли (IClosePositionManager, IResultManager). Сегодняшняя статья будет посвящена визуализации этих данных и общей архитектуре торговой системы.
В своё время я рассказывал про паттерн проектирования MVC, что логика должна быть отделена от визуализации, и ещё, что у каждой формы должен быть свой презентер. Также хотел отметить, что проект лучше разбивать на несколько логических модулей (библиотек классов в c#). Свой проект я разделил на: definitions – содержит базовые, ни от кого не зависящие классы, интерфейсы и описания, local – реализация интерфейсов для локального тестера, smartcom – реализация интерфейсов для коннектора, в данном случае смарткома, strategies – вынес в отдельный модуль все стратегии, UI – внешний интерфейс системы (формы и их презентеры) и т.д. В каждом таком модуле я обычно создаю ещё несколько папок – в модулеUI, например, есть папка interfaces, presenters и views.
Если человек, совершая множество сделок на рынке, действовал бы рационально, было бы всего два возможных результата работы:
(1) Некоторый заработок минус комиссии у системно торгующих.
(2) Средний ноль минус комиссии у совершающих сделки хаотично.
К счастью, люди от природы наделены мощнейшим вычислителем под названием МОЗГ. Именно благодаря этому 90% торгующих попадают в третью категорию:
(3) Стабильный проигрыш минус комиссии.
КАК и ПОЧЕМУ мы добиваемся таких стабильных результатов? Начнем с ПОЧЕМУ.
В результате эволюции за WIN и за LOSS отвечают разные участки головного мозга.
WIN: Заработок (успех, радость) контролирует Прилежащее ядро – анализатор приобретений, он же центр субъективной полезности, он же центр удовольствий.
LOSS: Потери контролируют Миндалины височных долей мозга – центр страха, инициатор бегства от саблезубого тигра.
Орбитофронтальная кора выступает сумматором сигналов. В ней происходит сравнение субъективных ценностей и выработка итогового решения. (WIN – LOSS) > P1 покупаем, (WIN – LOSS) < -P2 продаем.
Перевод статьи из блога tr8dr, кое-что из основ для HFT торговли.
Алгоритмы высокочастотной торговли можно разделить на следующие категории:
1. Различные формы маркет мэйкинга (вероятно самый большой процент)
2. Заработок на действиях других участников рынка или на микроструктуре рынка
3. Краткосрочный арбитраж
4. Алгоритмы исполнения больших заявок
Также среднесрочные стратегии подразделяются на:
1. Следование за трендом (если есть достаточно сильный импульс)
2. Следование за циклами (продажа/покупка в точках разворота высокоамплитудных ценовых циклов)
3. Долгосрочный арбитраж
Если сфокусироваться на алгоритмах маркет мэйкинга и следования тренду/циклам, то понимание ценового режима и ценовой функции очень важно.
Режим
Мы должны определять текущий ценовой режим для того, чтобы понимать, где мы можем применять стратегию маркет мэйкинга, а где следование тренду или циклам.
Суть скрипта — отслеживать резкие изменения цены.
1. Создайте каталог c:\Qpile — в нем будем хранить старую цену.
Создайте подкаталог c:\Qpile\GO — в нем будем хранить пойманные шпильки.
При наличии шпильки(гэпа) в подкаталоге GO будет создан файл с названием этого фюьчерса, это может быть удобно для дальнейших действий, скажем, можно запускать по планировщику заданий фaйл check.bat, который будет проигрывать мелодию:
@rem check.bat
dir «c:\Qpile\GO» /a-d >nul 2>nul && (
@ECHO Поймали шпильку
%WINDIR%\Media\tada.wav
) || (
@ECHO Ничего не поймали
)
2. Посмотрите код текущих фьючерсов (в таблице фьючерсов добавьте колонку Код бумаги)
Отредактируйте коды инструментов, укажите коды актуальных фьючерсов:
sINSTRUMENT_BRENT=«BRV7» ' код инструмента BRENT
sINSTRUMENT_GOLD=«GDU7» ' код инструмента GOLD
sINSTRUMENT_EURUSD=«EDU7» ' код инструмента EUR/USD
3. Настройте при каких параметрах выводить сообщения о шпильках
'Процент изменения цены при которой выводится оповещение:
sPrc_BRENT = 0.5
sPrc_GOLD = 0.2
sPrc_EURUSD = 0.4
4. Установите задержку обновления цены.
' Задержка:
NEW_GLOBAL(«sDELAY», 5)
(если при запуске скрипта стоит период расчета 10 сек. то значение 5 будет соответствовать примерно минуте).