Примеры правил Quant Zone

обзор

Отказ от ответственности                         

  1. Опубликованная информация не является инвестиционным советом.   
  2. Пользователи используют Quant Zone на свой страх и риск.          
  3. Ниже приведены приблизительные описания того, как работают правила Quant Zone, однако они содержат приближенные значения и не должны восприниматься как исключительно точные. Мы не предоставляем никаких гарантий относительно того, что правила или платформа всегда будут доступны или будут работать надлежащим образом.                                                    
  4. 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 отписал принцип применения своих правил здесь.        

                                                                                                         

Прочие функции:                                              

  1. Ежедневная цена открытия (Daily Open price)           
    1. price("BTC-PERP",minute+60*hour)       
  2. Цена 1 минуты полу-периода EWMA
    1. (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       
  3. Периодически обновляемые переменные      
    1. Было бы полезно иметь правило, которое просто циклически повторяется каждые 15 секунд и применяет множество действий по обновлению переменных, чтобы поддерживать актуальные значения переменных.  
  4. Запустить правило только один раз 
    1. как часть триггера .... и get_variable ("v1") == 0          
    2. в качестве одного из действий Set Variable; v1; 1      
  5. Цена X дней назад, Y часов + Z минут в день:  
    1. 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                      

mceclip0.png

Правило 2 -- Buy_rule                                         

Триггер                                                                 

get_variable("BTC_EMA_10") != 0 и get_variable("BTC_EMA_10") > price("BTC-PERP")       

Действие 1                                                                                    

Разместить индивидуальный ордер; Рыночный ордер; Купить; BTC-PERP; 1           

Действие 1                                                                                    

Поставить правило на паузу; Текущее правило; 1 день  

mceclip1.png

Правило 2 -- Sell_rule                                          

Триггер                                                                 

get_variable("BTC_EMA_10") != 0 and get_variable("BTC_EMA_10") < price("BTC-PERP")       

Действие 1                                                                                    

Разместить индивидуальный ордер; Рыночный ордер; Продать; BTC-PERP; 1         

Действие 1                                                                                    

Поставить правило на паузу; Текущее правило; 1 день  

mceclip2.png

 

Стратегия SMA Crossover                                 

Я написал стратегию, состоящую из 3 разных правил, которые образуют следующего бота: «Один раз в день, если 3-дневная SMA выше 11 SMA - длинная позиция с риском не более чем 10% доступного баланса, и закрытием любых открытых коротких позиций; если 3-дневная SMA ниже 11 SMA, тогда короткая позиция с риском не более 10% от доступного баланса и закрытием любых открытых длинных позиций».       

Правило 1: Переменные 11 и 3 SMA

Триггер: Истинно                                                                       

mceclip3.png

Действие 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    

mceclip4.png

Действие 1  (“Set Variable”) для построения 3-дневной SMA:          

(price("BTC-PERP")+price("BTC-PERP", minute+60*hour)+price("BTC-PERP", minute+60*hour+1440))/3       

mceclip5.png

Правило 1: Правило Buy_Crossover

Триггер: get_variable("11 SMA") != 0 and get_variable("3 SMA") != 0 and get_variable("3 SMA") > get_variable("11 SMA") 

mceclip6.png

Действие 1 (“Close Position”) закрывает любые открытые короткие позиции:

mceclip7.png

Действие 2 (“Place Custom Order”) открывает длинную позицию рыночным ордером с риском 10% доступного баланса:                                         

mceclip8.png

Действие 1 (“Pause Rule”) приостанавливает действие правила на 1 день:       

mceclip9.png

Правило 1: Правило Sell_Crossunder

Триггер: get_variable("11 SMA") != 0 and get_variable("3 SMA") != 0 and get_variable("3 SMA") < get_variable("11 SMA") 

mceclip10.png

Действие 1 (“Close Position”) закрывает любые открытые длинные позиции:  

mceclip11.png

Действие 2 (“Place Custom Order”) открывает длинную позицию рыночным ордером с риском 10% доступного баланса:                                         

mceclip12.png

Действие 3 (“Pause Rule”) приостанавливает действие правила на 1 день:       

mceclip13.png

 

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))      

mceclip14.png

Правило 2 -- buy_max                                         

Триггер                                                                 

price("BTC-PERP") > get_variable("max_px_1") and price("BTC-PERP") > get_variable("max_px_2")      

Действие 1                                                          

Разместить индивидуальный ордер.  Рыночный ордер; купить; BTC-PERP; 1.          

mceclip15.png

 

Арбитраж                                                            

Ниже приведен набор правил для следующего бота: «когда бессрочные фьючерсы торгуются выше спота, покупать спот и продавать фьючерсы; в противном случае избавиться от любой открытой позиции».

Правило 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. Отменить и разместить новый ордер.      

mceclip16.png

 

Правило 2 -- buy_rule                                         

Триггер                                                                 

premium("BTC-PERP") < 1.0002 и (position("BTC-PERP") != 0 или balance("BTC") != 0)       

Действие 1                                                          

Разместить индивидуальный ордер. Рыночный ордер; Продать; BTC/USD. Размер ордера: balance("BTC"). IOC. Отменить и разместить новый ордер.           

Действие 2                                                          

Закрыть позицию. Купить; BTC-PERP. Закрыть позицию полностью.       

mceclip17.png

 

Известные недостатки:                                       

  1. Правило sell_rule будет покупать спот BTC в одном цикле, а затем продавать BTC-PERP в следующем цикле, вместо того, чтобы выполнять оба действия сразу.  
  2. «Премиум» может показаться нелогичным, когда рынки движутся -- что, если BTC-PERP изменился, но данные индекса отстают на несколько секунд?     
  3. Не проверяет, есть ли на вашем счете нужный тип активов; вам нужны спотовые доллары, чтобы начать.                      
  4. Не проверяет настройки кредитного плеча вашего счета  
  5. Использует обеспечение не в USD и не заботится о конверсии обеспечения
  6. Использует рыночные ордера; может случиться проскальзывание!       

                                                                                                         

Постоянное кредитное плечо                       

Ниже приведен набор правил для следующего бота: «каждые 15 секунд сбрасывает кредитное плечо вашего счета до +2x». 

Правило 1 -- 2x_leverage_buy                            

Триггер                                                                 

leverage < 2                                                                                   

Действие 1                                                          

Открыть позицию.  Купить; BTC-PERP; 2.                         

mceclip18.png

 

Правило 2 -- 2x_leverage_sell                             

Триггер                                                                 

leverage > 2                                                                                   

Действие 1                                                          

Закрыть позицию.  Продать; BTC-PERP; Уменьшить кредитное плечо позиции: 2. 

mceclip19.png

 

Известные недостатки:                                       

  1. Торгует много
  2. Не проверяет тип обеспечения вашего счета
  3. Не проверяет настройки кредитного плеча вашего счета  
  4. Использует рыночные ордера; может случиться проскальзывание!       
  5. Можете запутаться, если начнете с шорта BTC-PERP      
  6. Кредитное плечо на счете может быть приблизительным; оно зависит от цен на активы на момент расчета ордера                   

                                                                                                         

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. Отменить и разместить новый ордер.  

mceclip20.png

Правило 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. Отменить и разместить новый ордер.  

mceclip21.png

 

Известные недостатки:                                       

  1. Не проверяет обеспечение или риск ликвидации         
  2. Не обновляет поведение изменения цены ALT-PERP          
  3. Рыночные ордеры могут исполняться с проскальзыванием

 

Бот Ping Pong                                                       

Бот Ping Pong лучше всего работает на регулируемых рынках.      

Ниже приведен набор правил для следующего бота:      

«Если BTC опустится ниже 6800, длинная позиция 1 BTC. Если BTC достигнет 6900, закрыть длинную позицию».

«Если BTC превысит 6900, короткая позиция 1 BTC. Если BTC достигнет 6800, закрыть короткую позицию ».

«Если BTC поднимется выше 7000 или опустится ниже 6700, закрыть длинные/короткие позиции».               

mceclip0.png

 

Правило 1 -- long_pingPong                               

Триггер                                                                 

(price("BTC-PERP") <= 6800) and (position_net("BTC-PERP") == 0)   

Действие                                                             

Разместить индивидуальный ордер; Рыночный ордер; Купить; BTC-PERP; 1           

mceclip22.png
                                                                               

Правило 2 -- closeLong_pingPong                      

Триггер                                                                 

((price("BTC-PERP") >= 6900) or (price("BTC-PERP") <= 6700)) and (position_net("BTC-PERP") > 0) 

Действие                                                             

Закрыть длинную позицию полностью. Продать; BTC-PERP.          

mceclip23.png

                                                              

 Правило 3 -- short_pingPong                             

Триггер                                                                 

(price("BTC-PERP") >= 6900) and (position_net("BTC-PERP") == 0)   

Действия                                                             

Разместить индивидуальный ордер. Рыночный ордер; Продать; BTC-PERP; 1         

mceclip25.png                                                                      

                                                                                                         

Правило 4 -- closeShort_pingPong                     

Триггер                                                                 

((price("BTC-PERP") <= 6800) or (price("BTC-PERP") >= 7000)) and (position_net("BTC-PERP") < 0) 

Действие                                                             

Закрыть короткую позицию полностью. Купить; BTC-PERP.          

mceclip26.png
                                                                       

                                                                               

Правило 5 -- pause_pingPong                              

Триггер                                                                 

((price("BTC-PERP") <= 6700) or (price("BTC-PERP") >= 7000)) and (position_net("BTC-PERP") == 0)              

Действие                                                             

Поставить правило на паузу; Все правила; 100 дней       

mceclip27.png                                                                                              

Известные недостатки:                                       

  1. Не проверяет настройки кредитного плеча вашего счета  
  2. Не проверяет тип обеспечения вашего счета
  3. Переменные можно использовать вместо значений жесткого кодирования в триггерах      
  4. В отдельных правилах можно использовать стопы для их временной приостановки
  5. Отдает предпочтение закрытию существующих позиций перед открытием новых позиций                                                    
  6. Если применение правил не требуется, их следует ставить на паузу вручную.
  7. Использует рыночные ордера; может случиться проскальзывание!

 

________________________________________

Биржа криптовалютных деривативов 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

Назад
Далее
360041935611
Не нашли то, что искали?
Create a support ticket
Сообщество

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 1 из 1