Отказ от ответственности
- Опубликованная информация не является инвестиционным советом.
- Пользователи используют Quant Zone на свой страх и риск.
- Ниже приведены приблизительные описания того, как работают правила Quant Zone, однако они содержат приближенные значения и не должны восприниматься как исключительно точные. Мы не предоставляем никаких гарантий относительно того, что правила или платформа всегда будут доступны или будут работать надлежащим образом.
- Quant Zone, как и остальные услуги FTX, не предлагается пользователям из США.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ НА ТО, ЧТО ПРАВИЛА ЦИКЛИЧНО ПРИМЕНЯЮТСЯ КАЖДЫЕ 15 СЕКУНД
Главная страница FTX Quant Zone: https://ftx.com/quant-zone
Telegram FTX Quant Zone: https://t.me/FTX_Quant_Zone
Примечание: пользователи должны хорошо подумать, прежде чем начать использовать какие-либо правила Quant Zone, включая примеры, приведенные ниже. Пользователи берут на себя ответственность за выполнение своих правил Quant Zone. Эта статья никоим образом не поддерживает приведенные ниже правила, она просто является иллюстрацией того, как можно их создавать.
Победители конкурса "Разработай правила для Quant Zone"
Представляем вашему вниманию победителей конкурса. Если у кого-либо из пользователей есть эффективное правило и он хочет, чтобы оно было включено в этот список, пожалуйста, свяжитесь с нами. Вы прислали нам много хороших работ, и мы решили выбрать двух победителей вместо одного!
1-е место: Supertrend от CheshireCatNick получает в награду смартфон HTC EXODUS и набор мерча FTX!
Supertrend - это базовый, но мощный индикатор, который может определить, находимся ли мы в бычьем или медвежьем тренде.
Описание стратегии, любезно предоставленное автором, можно найти здесь.
1-е место (второй победитель): Стратегия "BTC buy/sell на базе МА" от 8baller030 получает в награду смартфон HTC EXODUS и набор мерча FTX!
Для оптимизации простой стратегии покупки BTC мы использовали pyalgo trade. Мы оптимизировали разницу между ценой и скользящей средней, а также процентную долю портфеля.
8baller описал принципы разработанной стратегии здесь.
Алгоритм "Dynamic RSI Period Reversal" от Casper Cheng получает в награду 200 FTT
Casper написал набор правил для применения Dynamic RSI Period Reversal (см. здесь). Он также провел бэк-тест здесь.
Торговая стратегия "Support/Resistance" от Yu-Shiuan Chen получает в награду 200 FTT
Стратегия Yu-Shuan (см. здесь) использует импульс цены, динамически развивая сопротивление и поддержку цены BTC-PERP на основе скользящих средних за 5, 10, 20 и 60 дней.
Правило "Converting Collateral" от Ankit получает в награду 200 FTT
Правило рассчитывает соотношение различных типов обеспечения в кошельке, отличных от долларового, и резервирует в этом соотношении прибыль в USD. Например, ваша прибыль в USD в одинаковой степени резервируется в BTC и ETH, если у вас в кошельке равное значение ETH и BTC, выраженное в USD.
Примечание: Ankit отписал принцип применения своих правил здесь.
Прочие функции:
- Ежедневная цена открытия (Daily Open price)
- price("BTC-PERP",minute+60*hour)
- Цена 1 минуты полу-периода EWMA
- (price("BTC-PERP")+0.5*price("BTC-PERP",1)+0.25*price("BTC-PERP",1)+0.125*price("BTC-PERP",1)+0.0625*price("BTC-PERP",1)+0.03125*price("BTC-PERP",1)+0.015625*price("BTC-PERP",1))/1.984375
- Периодически обновляемые переменные
- Было бы полезно иметь правило, которое просто циклически повторяется каждые 15 секунд и применяет множество действий по обновлению переменных, чтобы поддерживать актуальные значения переменных.
- Запустить правило только один раз
- как часть триггера .... и get_variable ("v1") == 0
- в качестве одного из действий Set Variable; v1; 1
- Цена X дней назад, Y часов + Z минут в день:
- price("BTC-PERP",minute+60*hour+X*24*60-Y*60-Z)
EMA
Ниже приведен набор правил для следующего бота: «Один раз в день, если BTC ниже 10-минутной EMA, купить 1 BTC; в противном случае продать 1 BTC».
Правило 1 -- Variable_loop
Триггер
Истинно
Действие 1
Set Variable; BTC_EMA_10; (1*price("BTC-PERP",0)+0.93*price("BTC-PERP",1)+0.87*price("BTC-PERP",2)+0.81*price("BTC-PERP",3)+0.75*price("BTC-PERP",4)+0.70*price("BTC-PERP",5)+0.65*price("BTC-PERP",6)+0.61*price("BTC-PERP",7)+0.57*price("BTC-PERP",8)+0.53*price("BTC-PERP",9)+0.5*price("BTC-PERP",10)+0.46*price("BTC-PERP",11)+0.43*price("BTC-PERP",12)+0.40*price("BTC-PERP",13)+0.37*price("BTC-PERP",14)+0.35*price("BTC-PERP",15))/9.93
Правило 2 -- Buy_rule
Триггер
get_variable("BTC_EMA_10") != 0 и get_variable("BTC_EMA_10") > price("BTC-PERP")
Действие 1
Разместить индивидуальный ордер; Рыночный ордер; Купить; BTC-PERP; 1
Действие 1
Поставить правило на паузу; Текущее правило; 1 день
Правило 2 -- Sell_rule
Триггер
get_variable("BTC_EMA_10") != 0 and get_variable("BTC_EMA_10") < price("BTC-PERP")
Действие 1
Разместить индивидуальный ордер; Рыночный ордер; Продать; BTC-PERP; 1
Действие 1
Поставить правило на паузу; Текущее правило; 1 день
Стратегия SMA Crossover
Я написал стратегию, состоящую из 3 разных правил, которые образуют следующего бота: «Один раз в день, если 3-дневная SMA выше 11 SMA - длинная позиция с риском не более чем 10% доступного баланса, и закрытием любых открытых коротких позиций; если 3-дневная SMA ниже 11 SMA, тогда короткая позиция с риском не более 10% от доступного баланса и закрытием любых открытых длинных позиций».
Правило 1: Переменные 11 и 3 SMA
Триггер: Истинно
Действие 1: (“Set Variable”) для построения 11-дневной SMA:
(price("BTC-PERP")+price("BTC-PERP", minute+60*hour)+price("BTC-PERP", minute+60*hour+1440)+price("BTC-PERP", minute+60*hour+2880)+price("BTC-PERP", minute+60*hour+4320)+price("BTC-PERP",minute+60*hour+5760)+price("BTC-PERP",minute+60*hour+7200)+price("BTC-PERP", minute+60*hour+8640)+price("BTC-PERP",minute+60*hour+10080)+price("BTC-PERP",minute+60*hour+11520)+price("BTC-PERP",minute+60*hour+12960))/11
Действие 1 (“Set Variable”) для построения 3-дневной SMA:
(price("BTC-PERP")+price("BTC-PERP", minute+60*hour)+price("BTC-PERP", minute+60*hour+1440))/3
Правило 1: Правило Buy_Crossover
Триггер: get_variable("11 SMA") != 0 and get_variable("3 SMA") != 0 and get_variable("3 SMA") > get_variable("11 SMA")
Действие 1 (“Close Position”) закрывает любые открытые короткие позиции:
Действие 2 (“Place Custom Order”) открывает длинную позицию рыночным ордером с риском 10% доступного баланса:
Действие 1 (“Pause Rule”) приостанавливает действие правила на 1 день:
Правило 1: Правило Sell_Crossunder
Триггер: get_variable("11 SMA") != 0 and get_variable("3 SMA") != 0 and get_variable("3 SMA") < get_variable("11 SMA")
Действие 1 (“Close Position”) закрывает любые открытые длинные позиции:
Действие 2 (“Place Custom Order”) открывает длинную позицию рыночным ордером с риском 10% доступного баланса:
Действие 3 (“Pause Rule”) приостанавливает действие правила на 1 день:
MAX Buy
Ниже приведен набор правил для следующего бота: «когда BTC торгуется выше своего часового максимума за 1 день, покупать».
Правило 1 -- variable_loops
Триггер
Истинно
Действие 1
Set Variable. max_px_1.
max(price("BTC-PERP",60),price("BTC-PERP",120),price("BTC-PERP",180),price("BTC-PERP",240),price("BTC-PERP",300),price("BTC-PERP",360),price("BTC-PERP",420),price("BTC-PERP",480),price("BTC-PERP",540),price("BTC-PERP",600),price("BTC-PERP",660),price("BTC-PERP",720))
Действие 1
Set Variable. max_px_2.
max(price("BTC-PERP",780),price("BTC-PERP",840),price("BTC-PERP",900),price("BTC-PERP",960),price("BTC-PERP",1020),price("BTC-PERP",1080),price("BTC-PERP",1140),price("BTC-PERP",1200),price("BTC-PERP",1260),price("BTC-PERP",1320),price("BTC-PERP",1380),price("BTC-PERP",1440))
Правило 2 -- buy_max
Триггер
price("BTC-PERP") > get_variable("max_px_1") and price("BTC-PERP") > get_variable("max_px_2")
Действие 1
Разместить индивидуальный ордер. Рыночный ордер; купить; BTC-PERP; 1.
Арбитраж
Ниже приведен набор правил для следующего бота: «когда бессрочные фьючерсы торгуются выше спота, покупать спот и продавать фьючерсы; в противном случае избавиться от любой открытой позиции».
Правило 1 -- sell_rule
Триггер
premium("BTC-PERP") > 1.001 and (position_leverage("BTC-PERP")*position_side("BTC-PERP") > -0.8 or balance("USD") / collateral > 0.75)
Действие 1
Разместить индивидуальный ордер. Рыночный ордер; Купить; BTC/USD. Размер ордера: max((balance("USD") / price("BTC/USD") + balance("BTC"))* 0.98 - balance("BTC"),0). IOC. Отменить и разместить новый ордер.
Действие 2
Разместить индивидуальный ордер. Рыночный ордер; Продать; BTC-PERP. Размер ордера: balance("BTC") + position_net("BTC-PERP"). IOC. Отменить и разместить новый ордер.
Правило 2 -- buy_rule
Триггер
premium("BTC-PERP") < 1.0002 и (position("BTC-PERP") != 0 или balance("BTC") != 0)
Действие 1
Разместить индивидуальный ордер. Рыночный ордер; Продать; BTC/USD. Размер ордера: balance("BTC"). IOC. Отменить и разместить новый ордер.
Действие 2
Закрыть позицию. Купить; BTC-PERP. Закрыть позицию полностью.
Известные недостатки:
- Правило sell_rule будет покупать спот BTC в одном цикле, а затем продавать BTC-PERP в следующем цикле, вместо того, чтобы выполнять оба действия сразу.
- «Премиум» может показаться нелогичным, когда рынки движутся -- что, если BTC-PERP изменился, но данные индекса отстают на несколько секунд?
- Не проверяет, есть ли на вашем счете нужный тип активов; вам нужны спотовые доллары, чтобы начать.
- Не проверяет настройки кредитного плеча вашего счета
- Использует обеспечение не в USD и не заботится о конверсии обеспечения
- Использует рыночные ордера; может случиться проскальзывание!
Постоянное кредитное плечо
Ниже приведен набор правил для следующего бота: «каждые 15 секунд сбрасывает кредитное плечо вашего счета до +2x».
Правило 1 -- 2x_leverage_buy
Триггер
leverage < 2
Действие 1
Открыть позицию. Купить; BTC-PERP; 2.
Правило 2 -- 2x_leverage_sell
Триггер
leverage > 2
Действие 1
Закрыть позицию. Продать; BTC-PERP; Уменьшить кредитное плечо позиции: 2.
Известные недостатки:
- Торгует много
- Не проверяет тип обеспечения вашего счета
- Не проверяет настройки кредитного плеча вашего счета
- Использует рыночные ордера; может случиться проскальзывание!
- Можете запутаться, если начнете с шорта BTC-PERP
- Кредитное плечо на счете может быть приблизительным; оно зависит от цен на активы на момент расчета ордера
ALT TWAP
Ниже приведен набор правил для следующего бота: "каждый день покупать ALT-PERP TWAP в течение первого часа, если вчера он рос в цене, и продавать, если падал, торгуя $2000 в течение часа".
Правило 1 -- twap_buy
Триггер
hour < 1 and price("ALT-PERP",minute) > price("ALT-PERP",minute + 60*24)
Действие 1
Разместить индивидуальный ордер. Рыночный ордер; Купить; ALT-PERP. Размер ордера: 2000 * 15 / (60 * 60 * price("ALT-PERP")). IOC. Отменить и разместить новый ордер.
Правило 2 -- twap_sell
Триггер
hour < 1 and price("ALT-PERP",minute ) < price("ALT-PERP",minute + 60*24)
Действие 1
Разместить индивидуальный ордер. Рыночный ордер; Продать; ALT-PERP. Размер ордера: 2000 * 15 / (60 * 60 * price("ALT-PERP")). IOC. Отменить и разместить новый ордер.
Известные недостатки:
- Не проверяет обеспечение или риск ликвидации
- Не обновляет поведение изменения цены ALT-PERP
- Рыночные ордеры могут исполняться с проскальзыванием
Бот Ping Pong
Бот Ping Pong лучше всего работает на регулируемых рынках.
Ниже приведен набор правил для следующего бота:
«Если BTC опустится ниже 6800, длинная позиция 1 BTC. Если BTC достигнет 6900, закрыть длинную позицию».
«Если BTC превысит 6900, короткая позиция 1 BTC. Если BTC достигнет 6800, закрыть короткую позицию ».
«Если BTC поднимется выше 7000 или опустится ниже 6700, закрыть длинные/короткие позиции».
Правило 1 -- long_pingPong
Триггер
(price("BTC-PERP") <= 6800) and (position_net("BTC-PERP") == 0)
Действие
Разместить индивидуальный ордер; Рыночный ордер; Купить; BTC-PERP; 1
Правило 2 -- closeLong_pingPong
Триггер
((price("BTC-PERP") >= 6900) or (price("BTC-PERP") <= 6700)) and (position_net("BTC-PERP") > 0)
Действие
Закрыть длинную позицию полностью. Продать; BTC-PERP.
Правило 3 -- short_pingPong
Триггер
(price("BTC-PERP") >= 6900) and (position_net("BTC-PERP") == 0)
Действия
Разместить индивидуальный ордер. Рыночный ордер; Продать; BTC-PERP; 1
Правило 4 -- closeShort_pingPong
Триггер
((price("BTC-PERP") <= 6800) or (price("BTC-PERP") >= 7000)) and (position_net("BTC-PERP") < 0)
Действие
Закрыть короткую позицию полностью. Купить; BTC-PERP.
Правило 5 -- pause_pingPong
Триггер
((price("BTC-PERP") <= 6700) or (price("BTC-PERP") >= 7000)) and (position_net("BTC-PERP") == 0)
Действие
Поставить правило на паузу; Все правила; 100 дней
Известные недостатки:
- Не проверяет настройки кредитного плеча вашего счета
- Не проверяет тип обеспечения вашего счета
- Переменные можно использовать вместо значений жесткого кодирования в триггерах
- В отдельных правилах можно использовать стопы для их временной приостановки
- Отдает предпочтение закрытию существующих позиций перед открытием новых позиций
- Если применение правил не требуется, их следует ставить на паузу вручную.
- Использует рыночные ордера; может случиться проскальзывание!
________________________________________
Биржа криптовалютных деривативов FTX: https://ftx.com
Электронная почта: support@ftx.com
Группы FTX в Telegram:
English - https://t.me/FTX_Official
Chinese - https://t.me/FTX_Chinese_Official
Vietnamese - https://t.me/FTX_Vietnam_Official
Russian - https://t.me/FTX_Russian_Official
Turkish - https://t.me/FTX_Turkey_official
Taiwanese - https://t.me/FTX_Taiwan_Official
French - https://t.me/FTX_France_Officiel
Korea - https://t.me/FTX_Korea_Official
India - https://t.me/FTX_India_Official
Spanish - https://t.me/Ftx_Spanish_Official
Portuguese - https://t.me/FTX_Portuguese_Official
Dutch - https://t.me/FTX_Dutch_Official
WeChat - FTX_Official
Blog: https://blog.ftx.com/
Medium: https://medium.com/@ftx
Facebook - https://www.facebook.com/ftx.official/
Twitter- https://twitter.com/FTX_Official
SBF Twitter - https://twitter.com/SBF_Alameda
YouTube - https://www.youtube.com/channel/UC3r0upC_xJ9SvtaCKNUtosA