この戦略は,単純移動平均 (SMA) と相対的に強い指数 (RSI) をベースに,RSI値が設定された入場信号ラインを突破し,SMAより低い閉店価格で空白を空白して,ストップを追跡するか,RSIが再び退出信号ストップを誘発する.この戦略は,トレンドフォローと超買い超売指標を組み合わせて,中短線反転の機会を捕捉することを目的としています.
SMA ((200周期) を用いて大トレンドの方向を判断し,価格がSMAより下にあるとき空売りチャンスは発生する.
RSI ((14サイクル) を用いて,超買い超売り状況を判断する。RSIが51を突破すると,売り手の力が増し,空調に入場できる。
ポジションを空白した後に,最低の閉店価格でストップ・ロスを追跡する.RSIが54を突破した場合または32を突破した場合,ストップ・ロスは退場する.
価格の停止,RSIの停止,利益の停止.
トレンドフォローとOverboughtOversellの組み合わせにより,入場タイミングの正確さを向上させることができます.
ストップトラッキングは,価格のリアルタイムの変化に応じて利益を保護し,ストップを過度に固定することを防ぐことができます.
RSIの双方向のトリガーは,利潤をロックし,過度の反転による損失を防ぐことができます.
シンプルな指数とパラメータを固定して,中短線操作に適し,容易に掌握する.
SMAとRSIのパラメータ設定は,すべての品種と周期に適していない可能性があり,最適化が必要です.
スライドポイントや手数料などの取引コストを考慮せずに,実際の利益と損失が影響されます.
取引量や市場構造などの他の要因を総合的に考慮しない限り,信号は信頼できない可能性があります.
価格の動きを無視して指標に過度に依存すると,転換点を見逃す可能性があります.
ストップダストは比較的固定で,大きな変動に対応できません.
SMA周期とRSIパラメータをテストして最適化し,最適なパラメータの組み合わせを探します.
取引量指標を導入することを検討し,低量の偽ブレークを回避してください.
MACD,ブリン帯など,他の指標の組み合わせをテストできます.
機械学習アルゴリズムを追加し,過去のデータ訓練を利用し,信号の正確性を向上させる.
損失を抑える方法を最適化して,状況の変化に適応し,より柔軟にします.
リスク管理システムに参加し,単一損失を制御する.
この戦略は,SMAとRSIの2つの指標の優位性を統合し,一部のノイズ取引機会をフィルターすることができます.その単純な取引ロジックは,実行しやすいですが,パラメータとルールに対してテスト・最適化が行われ,リスク管理手段に補足され,長期的に安定した動作を行う必要があります.さらに,他の指標またはアルゴリズムとの組み合わせも,戦略の安定性をさらに高めるために探索する価値があります.
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
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/
// © abdllhatn
//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)
// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")
// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)
var float trailingStop = na
var float lastLow = na
// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
strategy.entry("Sell", strategy.short)
trailingStop := na
lastLow := na
if (strategy.position_size < 0)
if (na(lastLow) or close < lastLow)
lastLow := close
trailingStop := close
if not na(trailingStop) and close > trailingStop
strategy.close("Sell")
if (rsi_value >= rsi_stop)
strategy.close("Sell")
if (rsi_value <= rsi_take_profit)
strategy.close("Sell")
// Plot
plot(sma_value, color=color.red, linewidth=2)