このパインスクリプト戦略は,相対強度指数 (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")