Основа стратегии, это разделение графика на зону торгов. В которых бот будет по разному торговать.
Синий график - курс Оранжевый график - скользящая средняя
Сейчас эти зоны считаются от средней цены за всё время. В дальнейшем он будет считаться от адаптивной скользящей средней (либо других индикаторов, о которых я пока не знаю).
Пока остановимся на разделении зон относительно средней цены в 6.5$.
Мы заходим на биржу с капиталом в N$, и выставляем лимитные ордера на покупку актива, относительно текущего курса, при этом используем только 1/8 капитала, когда первый из ордеров исполнится, мы создаем для него лимитный ордер на продажу, который равен цена покупки + спред, и выставляем стоп лосс на цена покупки - спред.
Для выставление последующих ордеров на покупку, мы используем так же 1/8 капитала из оставшихся 7/8. Использование следующей 1/8 части капитала, будет доступно, только после того, как первые 1/8 будут исполнены. Это нужно для того, что бы минимизировать убытки, и в случае потери денег, это будет процент от 1/8, а не от всего капитала.
Когда бот попадает в светлые зоны, он начинает менять стратегию. В светло-зеленой зоне, мы активнее выставляем лимитные ордера на продажу актива, и стараемся слить большую часть актива. И менее активно начинаем торговать, используем только 1/4 часть всего капитала.
Когда бот попадает в светло-красную зону, то мы менее активно продаем, а закупаем только на 1/2 часть капитала, с пристрелом на то, что курс вырастет.
За границами мы можем действовать несколькими способами:
за верхней границей, мы можем холдить до первого падения курса на n% и в этом случае сливать весь актив.
за верхней границей, мы можем постепенно сливать весь свой актив, например выстраивая лесенку лимиток с шагом большим, чем обычно.
за нижней границей, мы можем слить актив, минимизируя убытки, в случае полного обвала курса.
за нижней границей, холдить текущий актив, в случае полного падения фиксируем убытки в 1/2 капитала
за нижней границей, выставляем лесенку лимиток на покупку, с шагом большим чем обычно, на всю сумму капитала, надеюсь на рост курса и большую прибыль
Проблемы:
Высчитывание границ. На скриншоте представлены границы от средней цены монеты. Этот вариант безопаснее, но мы упускаем торговлю на больших участках рынка.
По хорошему нужно использовать скользящую среднюю с показателями волатильности, но они не считаются в реальном времени, и тут будет задержка. Возможно не все аналитические инструменты знаю, но вот сейчас этот вариант самый лучший.
Линии Боллинджера Синяя скользящая средняя Две другие это показатели волатильности, тип как курс может изменится
Идеи:
Что если дробить купленный актив, на шортовую и лонговую позицию. Шорт с минимальным спредом, и минимальным стоп лосс. А вот лонговая позиция идет на гораздо больший спред.
Например закупая 100 единиц актива, мы будем класть 10 единиц в банк на лонговую позицию. Ожидая рост цена на 15%. В случае исполнения лонга, можно либо перебить потери на маленьких сперадах. Либо значительно увеличить прибыль.
Риск один, что курс пойдет вниз. Можно варьировать проценты, в зависимости на какой цене была совершена покупка. Например если средняя цена актива 100, за все время торгов, то чем ниже мы покупаем, тем больший спред ставим, тк вероятность того, что цена пересечет среднюю и курс пойдет вверх велика.
Главная проблема всех стратегии, это не понимание как вести себя в случае падения рынка. Если например сейчас брать ТОН, бот в случае такого обвала холдит актив? Или сливает его ожидая больше падения. Смысл в том, что поведение людей не объяснит не один математический алгоритм, который основывается на исторических данных. Поэтому предсказать рост или падения невозможно. Если только нет инсайдов, либо нет постоянно мониторинга криптосоветчиков, к которым люди прислушиваются. Проще всего торговать на боковых рынка. А вот на волатильных участках, нужно что то придумать.
Нужно следить за проектом и за самой монетой. Если у проекта дела идут хорошо, то вероятность того, что он интересен для больших инвесторов высок. Как следствие, имеет смысл холдить актив, и закупать его на низу. Тк в один день придут инвесторы, криптоны и хомяки, и запампят цену, за счет чего можно заработать.
Архитектура бота
Опрос баланса и текущего курса
Создание общего банка и разбитие на 8 частей
Функция проверки статусов лимитных ордеров
Функция создание ордера на продажу (количество, цена, спред, стоп лосс)
Функция создание ордера на покупку (количество, цена, спред, стоп лосс)
Функция сервис, для создания файлов истории операций и добавления туда информации
Функция стоп лосс
При запуске бота, он проверяет баланс и формирует из него общий капитал, деля его на 8 частей.
Каждая часть формирует свой файл логов, в который будет добавляться информация, о задействовании этой части актива.
Также будет создан системный файл логов, в который будет добавляться история курса и совершенных операций(в дальнейшем позволит построить график, и отследить на нем торговлю бота)
После чего мы проверяем есть ли у нас активные лимитные ордера. Если их нет, то мы создаем 4 ордера на покупку, от текущего курса. В файл добавляем соответствующие записи.
После чего беспрерывно работает функция, которая проверят статус лимитных ордеров, и в случае их исполнения, он вносит соответствующие значения в файлы, и запускает функцию создания лимитного ордера используя уже другой БЛОК, на который мы разделили активы.
После того как ордер на покупку исполнился, мы создаем лимитный ордер на продажу, цена выставляется по формуле: цена покупки + спред. Он уже имеет стоп лосс, он срабатывает, при достижении цены ХХХХХ спреда.
Основа построения лестницы:
Диапазон цен:
Лестница строится внутри диапазона цен, который задаётся трейдером. Например, если вы предполагаете, что курс BTC будет колебаться в диапазоне от $30,000 до $40,000, вы задаете этот диапазон для построения сетки.
Количество уровней (гридов):
Диапазон делится на равные шаги. Чем больше уровней, тем больше ордеров на покупку и продажу будет размещено.
Например, при 10 уровнях и диапазоне $30,000–$40,000 шаг между уровнями составит $1000. Это значит, что первый ордер на покупку будет размещен на $30,000, следующий на $31,000, и так далее, пока не будет достигнута цена $39,000.
Шаг (grid step):
Разница между уровнями цены (шаг) может быть фиксированной (например, каждый 1% от текущей цены) или динамической, в зависимости от выбранной стратегии.
Чем меньше шаг, тем чаще будут срабатывать ордера, но потребуется больше капитала для покрытия всех уровней сетки.
Пример построения лестницы:
Если текущая цена актива $35,000, то лестница может быть:
Ордер на покупку на $34,000.
Ордер на покупку на $33,000.
Ордер на покупку на $32,000 и так далее.
Когда отменяются лимитные ордера на покупку:
Цена уходит далеко вверх:
Если курс актива продолжает подниматься, ордера на покупку могут не сработать. Например, если курс актива превышает максимальный уровень сетки и уходит далеко вверх, эти лимитные ордера становятся бессмысленными, так как цена никогда не опустится до их уровня в ближайшее время.
В этом случае трейдер может вручную отменить ордера на покупку или реализовать автоматическую логику отмены.
Адаптация сетки:
Если курс актива значительно выходит за пределы установленного диапазона, можно пересчитать сетку и заново разместить ордера на новых уровнях.
Например, если цена BTC выросла с $35,000 до $45,000, можно поднять сетку, изменив диапазон на $40,000–$50,000 и заново разместить ордера.
Для этого лимитные ордера на покупку, которые находятся ниже новой сетки, будут отменены.
Риск-менеджмент (Stop-Loss):
Иногда лимитные ордера на покупку отменяются, если трейдер решил зафиксировать убытки с помощью стратегии стоп-лосс. Если цена активов движется далеко вверх или вниз, и трейдер больше не хочет оставаться в позиции, можно отменить все отложенные ордера на покупку и продажу, чтобы избежать лишних рисков.
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (