複数の時間枠の移動平均とRSIに基づくトレンドフォロー戦略


作成日: 2024-01-08 16:57:29 最終変更日: 2024-01-08 16:57:29
コピー: 0 クリック数: 608
1
フォロー
1617
フォロワー

複数の時間枠の移動平均とRSIに基づくトレンドフォロー戦略

概要

この戦略は,トレンドの方向を識別するために,複数の時間枠の移動平均に基づいて,相対強度指数 ((RSI)) と組み合わせて,オーバーバイのオーバーセルの判断をするために,取引信号を生成します. 長い線,中線,短い線の速い,ゆっくりとした平均線が同じ方向にあるとき,トレンドが形成されたと考えられ,この時点で,オーバーバイのオーバーセルの判断がRSIによって行われ,取引が発生します. 信号 さらに,戦略は,ストップロスを追跡してリスクを制御します.

戦略原則

基本原理は,快速平均線の黄金交差と死交差によってトレンドを判断し,快線上での慢線を横切るときは黄金交差で,牛市が来ることを示す.快線下での慢線を横切るときは死交差で,熊市が来ることを示す.この戦略は,異なる時間枠で,この基本原理を使用して,長,中,短三周期が同方向であるか否かを判断し,多頭市場または空頭市場であれば取引信号を生成する.さらに,RSI指標は,市場転換点でストップを逃さないように,超買いまたは超売り状態にあるかどうかを判断する.ストップオフの設定の1つの後期数を追跡し,利益を拡大し,部分的な回調を防ぎ,リスクを制御することができます.

優位分析

  1. 複数の時間枠を使ってトレンドを判断し,短期市場のノイズを効果的にフィルターし,中長期トレンドを識別することができる.

  2. RSIは,超買いと超売りを判断し,市場の転換点の後,元の方向に堅持し,ストップを逃さないようにします.

  3. ストップ・ローズを追跡し,利潤拡大と利回りリスクの管理を考慮し,利回りリスクはより高い.

リスク分析

  1. 複数の時間枠で判断すると,遅滞が生じ,入学が遅れており,初期段階が逃れることがあります.

  2. RSIは超買超売を判断するだけで,断片的な反転が起こると,市場の転換点を判断することができません.

  3. 追跡停止後移動点数は,設定が不適切であり,極端すぎたり保守的すぎたりしてパラメータの調整が必要になる可能性があります.

最適化の方向

  1. ブリン・バンドやKDJなどの指標を組み合わせることで,取引シグナルをより正確に判断できる.

  2. ダイナミック・トラッキング・ストップを設定し,市場の波動性やリスクの好みに応じて後移りポイントを調整する.

  3. 資金の流入と流出を判断し,資金の利用効率を最適化するために,より短い周期の時間枠で同様の戦略を導入することができます.

要約する

この戦略は,全体的に優位は弱点より大きい.中長線トレンドを正確に判断し,利益リスク比は高く,実績検証と最適化調整に値する.トレンド追跡戦略の一つとして,震動状況で主要なトレンド方向を識別し,中長線トレンドを効率的に追跡することができる.パラメータ調整と指標最適化により,戦略の安定性と収益性をさらに向上させることができる.

ストラテジーソースコード
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Cryptocurrency Trading Tools by XMAXPRO
//ATA INDIKATORU
//Test 4.0v Tarih:23.02.2020
//

strategy("MTF+MA+RSI+TSL", overlay=false, shorttitle="ATA v4 Strategy")
src = input(title="kaynak", type=input.source, defval=close)
fast = input(title="hızlıbarlar", type=input.integer, defval=21)
slow = input(title="yavaşbarlar", type=input.integer, defval=34)

//MTF source
long = input(title="uzunvade", type=input.resolution, defval="240")
mid = input(title="ortavade", type=input.resolution, defval="60")
short = input(title="kısavade", type=input.resolution, defval="5")

//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)

//0
lnma = ema(ln, fast) - ema(ln, slow)
mdma = ema(sh, fast) - ema(md, slow)
shma = ema(sh, fast) - ema(sh, slow)

//Makeup
uzunrenk = lnma > 0 ? color.white : color.red
ortarenk = mdma > 0 ? color.white : color.red
kisarenk = shma > 0 ? color.white : color.red

l1 = 1
m1 = 2
s1 = 3

plot(l1, style=plot.style_line, color=uzunrenk, linewidth=25)
plot(m1, style=plot.style_line, color=ortarenk, linewidth=25)
plot(s1, style=plot.style_line, color=kisarenk, linewidth=25)

atarsi = rsi(close, 14)
rsiob = input(title="aşırıalım", type=input.integer, defval=60)
rsios = input(title="aşırısatış", type=input.integer, defval=25)

sell = atarsi > rsiob and lnma > 0 and mdma > 0 and shma > 0
buy = atarsi < rsios and lnma < 0 and mdma < 0 and shma < 0

barcolor(sell ? color.white : color.red)
barcolor(buy ? color.white : color.red)

//strateji
strategy.entry("long", strategy.long, comment = "BULL", when = sell)
strategy.entry("short", strategy.short, comment = "BEAR", when = buy)

//kompleks alarm
//alertcondition(sell, title = "ATA LONG SIGNAL", message = "btc/usd ata long sinyali")
//alertcondition(buy, title = "ATA SHORT SIGNAL", message = "btc/usd ata short sinyali")

//iz sürücü TSL
strategy.exit ("Bull TSL", "long", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)
strategy.exit ("Bear TSL", "short", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)