Стратегия называется
Стратегия в основном использует индикатор RSI и быстрые/медленные скользящие средние для определения тенденций цен и времени обратного движения. В частности, она сначала рассчитывает быструю скользящую среднюю (SMA) и медленную скользящую среднюю. Когда быстрая SMA пересекает медленную SMA, генерируется сигнал покупки. Когда быстрая SMA пересекает ниже медленной SMA, генерируется сигнал продажи. Это указывает на изменение тренда цены.
В то же время эта стратегия рассчитывает индикатор RSI, чтобы определить, находится ли цена в состоянии перекупленности или перепроданности. Перед открытием позиций он будет судить о том, является ли индикатор RSI нормальным. Если RSI превышает установленный порог, он приостановит открытие позиций и подождает, пока RSI отойдет назад перед открытием позиций. Это может избежать установления позиций в неблагоприятное время перекупления и перепроданности. С другой стороны, после принятия позиций, если RSI превышает установленный порог получения прибыли, он закрывает позиции, чтобы получить прибыль. Это может блокировать торговые прибыли.
При совместном использовании индикатора RSI с скользящими средними можно открывать позиции при появлении сигналов об изменении цены и получать прибыль при перекупке или перепродаже, можно реализовать количественную торговую стратегию, которая делает операции по изменению прибыли на фоне тренда цен.
Стратегия имеет следующие преимущества:
Использование скользящего среднего золотого креста в качестве сигнала покупки и смертельного креста в качестве сигнала продажи может точно зафиксировать возможности изменения ценового тренда.
Избегайте неблагоприятного времени открытия позиций. Судя по условиям перекупленности и перепродажи с помощью индикатора RSI, он может эффективно предотвратить установление позиций при чрезмерных колебаниях цен в краткосрочной перспективе, избегая ненужных плавающих потерь.
Риски могут быть хорошо контролированы. RSI take profit может держать позиции в разумном диапазоне прибыли и эффективно контролировать торговые риски.
Легко оптимизировать параметры. Периоды SMA, параметры RSI и т. д. могут быть гибко скорректированы для адаптации к различным рыночным условиям.
Высокая эффективность использования капитала. Частая торговля может проводиться во время консолидации тренда и шоковых стадий, что позволяет эффективно использовать капитал.
Стратегия также имеет следующие риски:
Риск ошибок отслеживания: скользящие средние значения как индикаторы оценки тренда имеют определенные задержки, что может привести к неточному сроку открытия позиций.
Частый риск торговли: на колеблющихся рынках он может привести к чрезмерно частому открытию и закрытию позиций.
Риск настройки параметров. Периоды SMA и параметры RSI требуют повторного тестирования и корректировки для адаптации к рынкам. Неправильные настройки могут повлиять на эффективность стратегии.
Неправильные настройки RSI могут также привести к преждевременному выходу из позиций или продолжению роста после выхода из позиции.
Направления оптимизации следующие:
Попробуйте использовать MACD, Bollinger Bands и другие индикаторы в сочетании с RSI, чтобы сделать сигналы более точными и надежными.
Увеличить алгоритмы машинного обучения для автоматической корректировки параметров на основе исторических данных, уменьшая риски настройки параметров.
Увеличить механизмы оптимизации стратегий получения прибыли, чтобы сделать получение прибыли более интеллектуальным и адаптивным к изменениям рынка.
Оптимизировать стратегии управления позициями путем динамической корректировки размеров позиций с целью снижения рисков, связанных с отдельными сделками.
Сочетать высокочастотные данные и использовать данные в режиме реального времени на уровне тика для высокочастотного трейдинга для улучшения частоты стратегии.
В целом, эта стратегия использует торговые сигналы, генерируемые индикатором RSI и скользящими средними, для реализации количественной стратегии, которая делает операции по обращению во время тренда. По сравнению с использованием только скользящих средних, путем добавления суждений индикатора RSI, эта стратегия может эффективно предотвратить неблагоприятное время открытия позиций и контролировать торговые риски посредством RSI. В некоторой степени она улучшает стабильность стратегии. Конечно, для этой стратегии все еще есть возможности для улучшений. В будущем она может быть оптимизирована в таких аспектах, как больше комбинаций индикаторов, автоматическая оптимизация параметров, управление позицией и т. Д., Чтобы сделать стратегию производительности еще лучше.
/*backtest start: 2023-12-17 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //1. 做多 // a. RSI在超买区间时不开单,直到RSI回落一点再开单 // b. 已经有多仓,如果RSI超买,则平多获利,当RSI回落一点之后,再次开多,直到有交叉信号反转做空 //2. 做空 // a. RSI在超卖区间时不开单,直到RSI回落一点之后再开多单 // b. 已经有空仓,如果RSI超卖,则平空获利,当RSI回落一点之后,再开空单,直到有交叉信号反转做多 //@version=4 strategy("策略_RSI+移动揉搓线_", overlay=true) // 输入 fastLength = input(11, minval=1) slowLength = input(82,minval=1) length = input(title="长度", type=input.integer, defval=14, minval=1, maxval=100) hight_rsi = input(title="rsi超过上轨平多获利", type=input.integer, defval=80, minval=1, maxval=100) low_rsi = input(title="rsi超过下轨平空获利", type=input.integer, defval=20, minval=1, maxval=100) open_long_rsi_threshold = input(title="rsi低于该阈值时才开多", type=input.integer, defval=75, minval=1, maxval=100) open_short_rsi_threshold = input(title="rsi高于该阈值时才开空仓", type=input.integer, defval=25, minval=1, maxval=100) // 均线 sma_fast = sma(close, fastLength) sma_slow = sma(close, slowLength) // RSI rsi = rsi(close, length) //**********变量*start*******// var long_f = false // 标记是否是均线交叉多头 var short_f = false // 标记是否是均线交叉空头 var long_open_pending = false // 标记开仓时rsi是否处于超买状态 var short_open_pending = false // 标记开仓时rsi是否处于超卖 var long_rsi_over_buy = false // 标记 多仓时 是否发生超买平多获利 var short_rsi_over_sell = false // 标记 空仓时 是否发生超卖平空获利 //**********逻辑*start*******// // 买入 longCondition = crossover(sma_fast, sma_slow) if (longCondition) short_rsi_over_sell := false // 清空该标记,防止再次开空仓 long_f := true short_f := false if (rsi < hight_rsi) // 并且没有超买 strategy.entry("多", long=strategy.long) if (rsi > hight_rsi) // 开仓时发生超买,等待rsi小于hight_rsi long_open_pending := true // 卖出 shortCondition = crossunder(sma_fast, sma_slow) if (shortCondition) long_rsi_over_buy := false //清空该标记,防止再次开多仓 long_f := false short_f := true if (rsi > low_rsi) strategy.entry("空", long=strategy.short) if (rsi < low_rsi) // 开仓时发生超卖,等待rsi大于low_rsi short_open_pending := true // 等待RSI合理,买入开仓 if (long_f and long_open_pending and strategy.position_size == 0 and rsi < open_long_rsi_threshold) strategy.entry("多", long=strategy.long) long_open_pending := false // 等待RSI合理,卖出开仓 if (short_f and short_open_pending and strategy.position_size == 0 and rsi > open_short_rsi_threshold) strategy.entry("空", long=strategy.short) short_open_pending := false //RSI止盈(RSI超买平多) if (strategy.position_size > 0 and long_f and rsi > hight_rsi) strategy.close_all() long_rsi_over_buy := true //RSI止盈(RSI超卖平空) if (strategy.position_size < 0 and short_f and rsi < low_rsi) strategy.close_all() short_rsi_over_sell := true //RSI止盈之后,再次开多 if (long_f and long_rsi_over_buy and strategy.position_size == 0 and rsi < hight_rsi) long_rsi_over_buy := false strategy.entry("多", long=strategy.long) //RSI止盈之后,再次开空 if (short_f and short_rsi_over_sell and strategy.position_size == 0 and rsi > low_rsi) short_rsi_over_sell := false strategy.entry("空", long=strategy.short) //**********绘图*start*******// p1 = plot(sma_fast, linewidth=2, color=color.green) p2 = plot(sma_slow, linewidth=2, color=color.red) fill(p1, p2, color=color.green) plot(cross(sma_fast, sma_slow) ? sma_fast : na, style = plot.style_circles, linewidth = 4) // 绘制rsi线 //plot(rsi, color=color.green, editable=true, style=plot.style_circles, linewidth=2) // 绘制上下轨 //high_ = hline(80, title="上轨") //low_ = hline(20, title="下轨") //fill(high_, low_, transp=80, editable=true, title="背景")