이 파인 스크립트 전략은 상대 강도 지수 (RSI) 와 가격 변동성의 표준편차 (DEV) 를 기반으로 합니다. 그것은 RSI를 보조 필터링 지표로 사용하면서 상위와 하위 대역과 가격을 비교하여 엔트리 포인트를 결정합니다. 가격이 하위 대역 이상과 RSI가 과판 한계 이하로 떨어지면 긴 엔트리 신호를 생성하고 가격이 상위 대역 이하로 떨어지면 짧은 엔트리 신호를 생성하고, RSI가 과판 한계 이상과 RSI가 과반 한계 이하로 떨어지면 짧은 엔트리 신호를 생성합니다. 이 전략은 가격이 출구 하위 대역 이하로 떨어지면 긴 엔트리 포인트를 닫고, 출구 상위 대역 이상이나 RSI가 과판 한계 이하로 떨어지면 짧은 포지션을 닫습니다. 이 전략은 시장 조건에 따라 동적으로 조정할 수 있으며, 높은 변동성 시간 및 낮은 변동성 시간 동안 지위를 보유하여 수익을 줄일 수 있습니다. 이 전략은 높은 변동성 시간 및 낮은 변동성 기간 동안 다양한 거래 지위를 위한 수량적 손실을 줄일 수 있습니다.
이 전략은 변동성 채널과 상대적 강도 지수를 결합하여 RSI 지표를 참조하면서 가격 변동에 따라 입출 결정을 내립니다. 단기 트렌드를 더 잘 파악하고 적시에 손실을 절감하고 이익을 얻을 수 있습니다. 그러나 전략의 성능은 매개 변수 설정에 상대적으로 민감하며 다른 시장 환경과 기본 자산에 최적화되어야합니다. 동시에이 전략의 장점을 완전히 활용하기 위해 시장 트렌드를 판단하는 데 도움이되는 다른 지표를 도입하는 것을 고려하십시오. 전반적으로이 전략은 명확한 아이디어, 엄격한 논리 및 좋은 양적 거래 전략입니다.
/*backtest start: 2024-05-20 00:00:00 end: 2024-05-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tmalvao //@version=5 strategy("Estratégia de Desvio Padrão com RSI", overlay=true, margin_long=100, margin_short=100) // Parâmetros length = input.int(20, title="Período do Desvio Padrão") thresholdEntry = input.float(1.5, title="Limite de Entrada") thresholdExit = input.float(0.5, title="Limite de Saída") rsiLength = input.int(14, title="Período do RSI") rsiOverbought = input.int(70, title="RSI Overbought") rsiOversold = input.int(30, title="RSI Oversold") // Cálculo do Desvio Padrão price = close stdDev = ta.stdev(price, length) // Média Móvel Simples sma = ta.sma(price, length) // Limites baseados no Desvio Padrão upperLimit = sma + thresholdEntry * stdDev lowerLimit = sma - thresholdEntry * stdDev exitUpperLimit = sma + thresholdExit * stdDev exitLowerLimit = sma - thresholdExit * stdDev // Cálculo do RSI rsi = ta.rsi(price, rsiLength) // Condições de Entrada com RSI longCondition = ta.crossover(price, lowerLimit) and rsi < rsiOversold shortCondition = ta.crossunder(price, upperLimit) and rsi > rsiOverbought // Condições de Saída com RSI exitLongCondition = ta.crossunder(price, exitLowerLimit) or rsi > rsiOverbought exitShortCondition = ta.crossover(price, exitUpperLimit) or rsi < rsiOversold // Plotar Linhas plot(upperLimit, color=color.red, title="Limite Superior") plot(lowerLimit, color=color.green, title="Limite Inferior") plot(exitUpperLimit, color=color.orange, title="Limite de Saída Superior") plot(exitLowerLimit, color=color.blue, title="Limite de Saída Inferior") plot(sma, color=color.gray, title="SMA") hline(rsiOverbought, "RSI Overbought", color=color.red) hline(rsiOversold, "RSI Oversold", color=color.green) plot(rsi, title="RSI", color=color.purple) // Estratégia de Trade if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")