RSI2戦略日中反転勝率バックテスト

RSI SMA
作成日: 2024-04-29 14:02:55 最終変更日: 2024-04-29 14:02:55
コピー: 7 クリック数: 1116
1
フォロー
1617
フォロワー

RSI2戦略日中反転勝率バックテスト

概要

この戦略は,比較的強い指数 ((RSI) の指数に対する超売り信号に基づいて,日中の低点で買い,その後,固定パーセントのストップとストップを設定し,ストップとストップを触った時の確率を反測する.主な考え方は,日中の低点で介入し,反転がもたらす短期的利益を得るために,RSIの指数超売り時の反転の機会を利用することです.同時に,移動平均線をフィルタリングする傾向を使用して,平均線より高い価格でしか市場に入らないようにしてください.

戦略原則

  1. 2サイクルRSIと200サイクルSMAを計算する
  2. 閉店価格が平均線より高く,RSIが超売り値 (デフォルト10) より小さいとき,次の取引日の開場時に買い
  3. 購入した日の最低価格を入場価格として記録します.
  4. 6%のストップ価格と3%のストップ損失価格を入場価格に基づいて計算する
  5. 次の取引日,ストップ値に触れた場合,平仓が止まります. ストップ値に触れた場合,平仓が止まります.
  6. ストップとストップの回数を統計し,設定周期内の勝率を計算する戦略

優位分析

  1. RSI指数 (RSI) を超え,その日の低値で買い,その日のRSI指数 (RSI) を超え,その日のRSI指数 (RSI) を超え,その日のRSI指数 (RSI) を超え,その日のRSI指数 (RSI) を超え,その日のRSI指数 (RSI) を超え,その日のRSI指数 (RSI) を超え,
  2. 固定パーセントのストップとストップ・ローズ,単一取引のリスクを制御する
  3. 長期周期平均線フィルターを使用して逆行取引を減らす
  4. シンプルで使いやすい,パラメータ設定が柔軟で,ショートライントレーダーに適しています.

リスク分析

  1. RSI超売れは逆転を保証するものではなく,極端な状況では市場が引き続き下落する.
  2. 固定パーセントのストップ・ロスは取引コストをカバーできない可能性があります.
  3. 入場ポイントは日中の最低価格に基づいており,実際の操作では最低価格で購入するのは困難です.
  4. トレンド判断の欠如,過剰買い/過剰販売のシグナルに頼るだけで,リターン比は低い可能性があります.

最適化の方向

  1. 価格変動率などの指標に動的に調整する自律的なストップ・ロスを使用する
  2. MACD,DMIなどのトレンド確認指標を追加し,逆転取引を避ける
  3. 入り口を最適化して,例えば,海の変数距離の取引法を用いる
  4. ポジション管理の強化,資金活用率の向上,リターン率の向上
  5. ブリン帯,KDJなどの他の短周期指標と組み合わせることで,信号確認度が向上する

要約する

RSI2戦略は,RSI指数超売り後の1日間の逆転機会を捕捉し,固定パーセントのストップ・ロスを設定してリスクを制御し,長期周期均線を使用して逆勢信号をフィルターします.この戦略の構想はシンプルで,ショートライン投機トレーダーに適しています.しかし,それには一定の制限があります.例えば,トレンド判断の欠如,最低値で正確に購入するのが困難,固定ストップ・ロスは,戦略の収益スペースを将来的に制限します.

ストラテジーソースコード
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_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/
// © rajk1987

//@version=5
strategy("RSI2 strategy Raj", overlay=true, margin_long=100, margin_short=100)

rsi_len = input.int( 2, title = "RSI Length",     group = "Indicators")
rsi_os  = input.float(10, title = "RSI Oversold", group = "Indicators")
rsi_ob  = input.float(90, title = "RSI OverBrought",   group = "Indicators")
max_los = input.float(3,title = "Max Loss Percent", group = "Indicators")
tar_per = input.float(6,title = "Target Percent",group = "Indicators")

//Get the rsi value of the stock
rsi = ta.rsi(close, rsi_len)
sma = ta.sma(close,200)
var ent_dat = 0
var tar = 0.0
var los = 0.0
var bp = 0.0

if ((close > sma) and (rsi < rsi_os))
    strategy.entry("RSI2 Long Entry", strategy.long,1)
    ent_dat := time(timeframe = timeframe.period)

if(ent_dat == time(timeframe = timeframe.period))
    bp := low //high/2 + low/2
    tar := bp * (1 + (tar_per/100))
    los := bp * (1 - (max_los/100))

if (time(timeframe = timeframe.period) > ent_dat)
    strategy.exit("RSI2 Exit", "RSI2 Long Entry",qty = 1, limit = tar, stop = los, comment_profit = "P", comment_loss = "L")

//plot(rsi,"RSI")
//plot(bp,"BP")
//plot(tar,"TAR")
//plot(los,"LOS")