Стратегия пересечения скользящих средних RSI


Дата создания: 2023-10-25 11:46:49 Последнее изменение: 2023-10-25 11:46:49
Копировать: 2 Количество просмотров: 1164
1
Подписаться
1617
Подписчики

Стратегия пересечения скользящих средних RSI

Обзор

Стратегия использует принцип равномерного пересечения в сочетании с RSI, чтобы определить направление тренда, совершить покупку и продажу.

Стратегический принцип

Эта стратегия использует среднюю линию EMA с тремя различными периодами: быстрая, средняя и медленная. Когда быстрая линия пересекает среднюю линию, она рассматривается как сигнал покупки; когда быстрая линия пересекает среднюю линию, она рассматривается как сигнал продажи.

В то же время, эта стратегия одновременно использует показатель RSI для определения перекупа и перепродажи. RSI показывает относительную силу актива через соотношение среднего роста и среднего падения в течение одного периода. Когда RSI превышает установленную линию перекупа, считается, что он находится в состоянии перекупа; когда RSI ниже установленной линии перепродажи, считается, что он находится в состоянии перепродажи.

Приобретение этой стратегии будет осуществляться при следующих условиях:

  1. Цены на проезжающую, среднюю и медленную линию
  2. Сверхпродажная линия на RSI

Условия продажи:

  1. Снижение скорости через среднюю линию
  2. Средняя линия, пробитая под RSI

Эта стратегия использует комбинацию стратегий трендовых торгов и обратных торгов, чтобы определить направление тенденции в сочетании с RSI и обнаружить краткосрочные возможности перекупа и перепродажи.

Анализ преимуществ

Эта стратегия сочетает в себе пересечение средних линий и RSI, чтобы одновременно оценивать тренд и перепродажу, и фильтрует некоторые шумные сделки, вызванные ложными прорывами. Используя три средних линии, можно более четко оценить состояние тренда.

Настройка RSI также позволяет этой стратегии использовать наиболее благоприятные входные и выходные моменты в зоне перепродажи.

Стратегия также учитывает стоимость сделки и позволяет избежать подкупа, вступая только в то время, когда цена пересекает три средние линии.

Анализ рисков

Существует риск того, что стратегия будет отслеживать завышенную адаптацию. Изменение рыночной среды в реальном мире может привести к тому, что параметры больше не будут адаптироваться к новым рыночным условиям.

В условиях волатильности данная стратегия может привести к потере средств в результате создания ложных сигналов.

Настройка параметров RSI требует корректировки в зависимости от рынка. Неправильная настройка параметров может привести к пропущенным возможностям или создать ложные сигналы.

Направление оптимизации

  1. Можно рассмотреть возможность повторной проверки сигналов на графике с более длительным временным циклом, чтобы избежать помех от шума краткосрочного рынка.

  2. Можно попробовать, прежде чем выйти на рынок, ждать прорыва или вернуться к равновесию, чтобы вновь войти в рынок, чтобы дополнительно проверить сигнал.

  3. Можно комбинировать сигналы с другими показателями, такими как MACD, Брин-пояса и т. д., чтобы повысить уровень поражения Entry.

  4. Для оптимизации параметров можно использовать алгоритмы машинного обучения, чтобы сделать стратегию более адаптивной.

  5. Можно рассмотреть возможность включения стратегии остановки убытков, чтобы своевременно прекратить убытки при неопределенности тренда.

Подвести итог

Стратегия объединяет эквивалентный пересечение и RSI, одновременно с определением тенденции, обнаруживая краткосрочные возможности для обратного тренда. Она эффективно использует преимущества торговли трендом и обратной торговли, может быть удерживаемой в долгосрочном направлении, одновременно с тем, чтобы захватить короткие возможности. У стратегии есть определенный простор для оптимизации, которая может сделать стратегию более стабильной и надежной путем дальнейшей проверки сигналов, оптимизации параметров, добавления стоп-убытков и т. Д. Однако следует обратить внимание на вопросы, которые были отражены в ремейке, и среда реального диска проверит гибкость стратегии.

Исходный код стратегии
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
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/
// © chadsadachai

//@version=5
strategy("EMA Cross V1", overlay= true)

//rsi
length = input.int(title = "Rsi Lenght" , defval=26 , minval=1, maxval=50)
overS = input.int(title = "Rsi OVS line" , defval=30 , minval=1, maxval=40)
overB = input.int(title = "Rsi OVB line" , defval=70 , minval=1, maxval=100)
mLine = input.int(title = "Rsi Medium line" , defval=42 , minval=1, maxval=60)
price = close
vrsi = ta.rsi(price, length)
co = vrsi >= mLine and vrsi < overB 
cu = ta.crossunder(vrsi, overB)
//ema
F = input.int(title = "EMA Fast" , defval=17 , minval=1, maxval=50)
M = input.int(title = "EMA Medium" , defval=35, minval=1, maxval=100)
S = input.int(title = "EMA Slow" , defval=142, minval=1, maxval=200)
emaF = ta.ema(price , F)
emaM = ta.ema(price , M)
emaS = ta.ema(price , S)

//plot
plot(emaF , color = color.green , linewidth=1)
plot(emaM , color = color.yellow , linewidth=1)
plot(emaS , color = color.red , linewidth=1)

//Time Stamp
start = timestamp(input.int(title = "Start Year" , defval=2011 , minval=2011, maxval=2025), input.int(title = "Start Month" , defval=1 , minval=1, maxval=12), input.int(title = "Start Day" , defval=1 , minval=1, maxval=31), 0, 0)
end = timestamp(input.int(title = "End Year" , defval=2025 , minval=2011, maxval=2025), input.int(title = "End Month" , defval=1 , minval=1, maxval=12), input.int(title = "End Day" , defval=1 , minval=1, maxval=31), 0, 0)
// years = input.int(title = "Year" , defval=2018 , minval=2011, maxval=2025)
// months = input.int(title = "Month" , defval=1 , minval=1, maxval=12)
// days = input.int(title = "Day" , defval=1 , minval=1, maxval=31)

//longCondition Default
// longCondition1 = EMA_Fast >= EMA_Slow and EMA_Fast >= EMA_Medium//ta.crossover(EMA_Fast, EMA_Slow)  EMA_Fast > EMA_Slow and EMA_Medium > EMA_Slow
// longCondition3 = price >= EMA_Medium and price > EMA_Slow
// longCondition2 = vrsi >= overSold and vrsi <= overBought 

//longCondition & shortCondition ETHUSD
// 1.price > emaF > emaM > emaS
// 2.rsi overcross overS
longC1 = price > emaF and price > emaM and price > emaS 
// longC1 = ta.crossover(emaF, emaM)
longC2 = if longC1
    co
// shortC1 = EMA_Fast < EMA_Medium //and EMA_Fast < EMA_Slow and EMA_Medium < EMA_Slow //and cu
// shortC2 = overBought > vrsi //and vrsi < overBought //overSold < vrsi and vrsi < mediumLine

// exitLong Condition
// 1.price < emaF < emaM < emaS
// 2.rsi overcross mediumLine
exitLong1 = ta.crossunder(emaF, emaM) //or emaF < emaM//and price < emaM and price < emaF
exitLong2 = ta.crossunder(vrsi,mLine)
//exitLong3 = price < emaM
//strategy.entry
if time >=start and time <=end
    strategy.entry("Buy", strategy.long , when = longC1 and longC2)

// if(exitLong1 or exitLong2)
strategy.close("Buy" , when = exitLong1 or exitLong2)
    
// exitShort1 = EMA_Fast > EMA_Medium
// //exitShort2 = ta.crossover(vrsi , mediumLine) 
// exitShort2 = ta.crossunder (vrsi,mediumLine)
// strategy.close("Short" , when = exitShort1 or exitShort2)
// //shortCondition = cu


// //if (shortCondition1 and shortCondition2)
//     //strategy.entry("My Short Entry Id", strategy.short)