MACDとRSIに基づく取引戦略


作成日: 2023-11-27 15:44:29 最終変更日: 2023-11-27 15:44:29
コピー: 0 クリック数: 731
1
フォロー
1617
フォロワー

MACDとRSIに基づく取引戦略

概要

この戦略は,技術指標MACDとRSIに基づくロンドン取引時間におけるビットコイン取引戦略である. ロンドン取引時間のみでポジションを開き,MACDを使用してトレンド方向を判断して場内に入り,RSIを使用して超買い超売りを判断して場外に出ます. この戦略は,中短線取引ビットコインに適しています.

戦略原則

ロンドンの取引時間

ロンドン取引時間は外為市場において非常に活発であり,ほとんどの機関がこれに参加する.この戦略は,ロンドン時間を午前7時から午後4時までの間に設定し,この時間にのみポジションを開きます.

MACDはトレンドを判断しています.

MACDは一般的にトレンドの方向を判断することができる.快線上を慢線を横切るときは金叉で,上昇が近づいていることを示す,多額の取引を行う.快線下を慢線を横切るときは死叉で,下落が近づいていることを示す,空きをする.この戦略は,この原理を使用してトレンドの方向を判断することである.

RSIは過剰買いと過剰売りを判断した.

RSIは,市場が過買か過売かを判断する.RSIが70以上になると過買,RSIが30未満になると過売を意味する.この戦略は,この原理を利用して,ストップ・ロスの退出点を設定することです.

優位分析

この戦略の最大の利点は,トレンド取引と超買い超売りのペース取引を組み合わせることにある.トレンドが目立たない場合,MACDを使用して,可能なwkのトレンドを判断することができる.そして,RSIを使用して,リスクを制御し,明瞭なトレンドがない場合,盲目的に追いつくのを避ける.さらに,この戦略は,機関主導のロンドン取引時間でのみポジションを開くことで,不合理な価格変動が戦略への影響を減らすことができる.

リスク分析

この戦略の主なリスクは,MACDが市場を整理する技術的指標として,明確な傾向下ではあまりうまく機能しないことです.長期の単一的な状況に遭遇した場合,MACDの金叉のデッドフォークシグナルが頻繁に失効する可能性があります.さらに,RSIは高位または低位の場合でも失効する可能性があります.これらのリスクを軽減するために,適切なパラメータを調整したり,または他の波浪条件を追加して,高確率のシグナルでのみポジションを開くことを保証することができます.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 他の技術指標のフィルター (ブリンライン,KDJなど) を追加して,偽突破を避ける.

  2. ストップストップの追加,例えば,移動ストップや空飛ぶストップなどにより多くの利益を得る.

  3. オプティマイズパラメータ,MACDとRSIのパラメータを調整して,異なる状況タイプに適応する.

  4. 機械学習の要素を追加し,lstmなどの深度学習モデルを使用してトレンド判断の策略.

要約する

この戦略は,全体として,信頼性の高いロンドン取引時間のビットコイン取引戦略である. それは,トレンドとリズムを組み合わせて,有効な無効な信号をフィルターしながら,高い利益の確率を保証する. この戦略は,パラメータを継続的に最適化し,他の技術指標の判断を追加することによって,安定性と収益性をさらに高めることができます.

ストラテジーソースコード
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-22 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("London MACD RSI Strategy -1H BTC", overlay=true)

// Define London session times
london_session_start_hour = input(6, title="London Session Start Hour")
london_session_start_minute = input(59, title="London Session Start Minute")
london_session_end_hour = input(15, title="London Session End Hour")
london_session_end_minute = input(59, title="London Session End Minute")

// Define MACD settings
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalSMA = input(9, title="Signal SMA")

// RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(65, title="RSI Overbought")
rsiOversold = input(35, title="RSI Oversold")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSMA)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Convert input values to timestamps
london_session_start_timestamp = timestamp(year, month, dayofmonth, london_session_start_hour, london_session_start_minute)
london_session_end_timestamp = timestamp(year, month, dayofmonth, london_session_end_hour, london_session_end_minute)

// Filter for London session
in_london_session = time >= london_session_start_timestamp and time <= london_session_end_timestamp

// Long and Short Conditions
longCondition = ta.crossover(macdLine, signalLine) and rsi < rsiOversold and in_london_session
shortCondition = ta.crossunder(macdLine, signalLine) and rsi > rsiOverbought and in_london_session

// Strategy entries and exits
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)