Основная идея этой стратегии состоит в том, чтобы объединить индикатор RSI и скользящую среднюю, чтобы найти возможности для изменения цены акций и достичь покупки низкой и продажи высокой. Когда индикатор RSI показывает, что акция перепродана и краткосрочная скользящая средняя пересекает ниже цены, он служит сигналом покупки. После установки стоп-лосса и получения прибыли, подождите, пока цена перевернется вверх.
Эта стратегия в основном использует индикатор RSI для оценки условий перепродажи и перекупки, а также золотой крест и мертвый крест скользящей средней для определения тенденций цен. В частности, индикатор RSI может эффективно оценивать, является ли акция перепроданной или перекупленной. Когда RSI ниже 30, он находится в пределах перепроданности. А когда краткосрочная скользящая средняя (в этой стратегии установлена на 9 дней) пересекается ниже цены, это означает, что цена падает.
Поэтому, когда показатель RSI ниже 40, приближаясь к состоянию перепроданности, и 9-дневная скользящая средняя пересекает ниже цены, это может быть расценено как возможное время для того, чтобы цена акции перевернулась, чтобы купить долго. Затем установите стоп-лосс и получите прибыль, чтобы выйти, ожидая, пока цена акции перевернется вверх, прежде чем продать, чтобы получить прибыль.
Эта стратегия сочетает в себе индикатор RSI и скользящую среднюю, которые могут эффективно определять сроки покупки. По сравнению с одним суждением о перепродаже, решение о дополнительном условии скользящей средней избегает колебаний в зоне перепродажи. Настройка стоп-лосса и прибыли является гибкой и может варьироваться от человека к человеку.
Эта стратегия основана на параметровых настройках, таких как порог суждения RSI, скользящее среднее время окна и т. Д. Различные параметры могут привести к разным результатам. И при определенных рыночных условиях, остановка потери все еще возможна.
Кроме того, сборы за транзакции также окажут определенное влияние на прибыль.
Подумайте о динамической корректировке параметров скользящей средней, выборе различных параметров для разных циклов; или внедрении других показателей для оценки, таких как KDJ, MACD и т. Д., чтобы сформировать всеобъемлющее суждение на основе нескольких условий.
Также можно установить модуль управления объемом торговли или капиталом для контроля доли средств, занятых одной торговлей, и уменьшить влияние одной потери.
В целом, эта стратегия использует индикаторы RSI и скользящие средние для определения времени покупки и может эффективно определять обратные тенденции цены. Покупка в перепродаже и блокировка прибыли с остановкой потери и получением прибыли может принести хорошие результаты. Для будущих оптимизаций стоит рассмотреть возможность включения большего количества индикаторов или добавления дополнительных модулей торговли / управления фондами, чтобы сделать стратегию более надежной.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-24 23:59:59 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Coinrule //@version=4 strategy(shorttitle='MARSI',title='Moving Average', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true //MA inputs and calculations inshort=input(9, title='MA short period') MAshort= sma(close, inshort) // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = MAshort<close and RSI<40 and window()) //Exit longLossPerc = input(title="Long Stop Loss (%)", type=input.float, minval=0.0, step=0.1, defval=1.5) * 0.01 longTakePerc = input(title="Long Take Profit (%)", type=input.float, minval=0.0, step=0.1, defval=3) * 0.01 longSL = strategy.position_avg_price * (1 - longLossPerc) longTP = strategy.position_avg_price * (1 + longTakePerc) if (strategy.position_size > 0 and window()) strategy.exit(id="TP/SL", stop=longSL, limit=longTP) bgcolor(color = showDate and window() ? color.gray : na, transp = 90) plot(MAshort, color=color.purple, linewidth=4)