火曜日の反転戦略(週末フィルター)

RSI ATR MA
作成日: 2024-04-30 16:07:45 最終変更日: 2024-04-30 16:07:45
コピー: 8 クリック数: 677
1
フォロー
1617
フォロワー

火曜日の反転戦略(週末フィルター)

概要

この戦略は”火曜日の反転戦略 ((週末のフィルター) “と呼ばれ,主な考え方は平均線および他のフィルター条件に基づいて,条件を満たした月曜日の開盤買い,水曜日の開盤売り,火曜日の反転の動きを捕捉する.この戦略は,RSI,ATRなどの指標をフィルターし,5月などの特定の時間を除外して,戦略の勝率と利益リスク比率を向上させる.

戦略原則

  1. 30日平均線をトレンドの判断基準として使用し,現在の取引日の閉盘価格が30日平均線より低ければ,トレンドが下方であると判断し,購入条件の1つを満たす.
  2. 3日RSIと10日ATRをフィルター条件として使用し,3日RSIが51未満で,相対的な10日ATRが95%未満の閉盘価格であるとき,市場情勢が悲観的であるが,極端な動きがないと判断し,買い条件を満たす.
  3. 5月を除いては,株価は通常は”Sell in May and go away”の効果で弱くなっています.
  4. 上記の条件をまとめると,月曜日にはすべての条件を満たしたときに購入し,水曜日には開場時に販売する.

戦略的優位性

  1. 平均線と感情指標の組み合わせによって,火曜日の逆転を捉えることができます.
  2. RSIとATRのダブルフィルタリングにより,極端な状況での取引を除外し,戦略の勝率と収益リスク比率を向上させました.
  3. 5月を除き,通常は不良な時期を回避し,戦略的パフォーマンスを向上させました.
  4. 取引の頻度が低く,手数料も安く,月曜日だけ買い,水曜日だけ売れる.

戦略リスク

  1. 戦略は,トレンドが強い状況で,反転が目立たない場合,うまくいかない.
  2. 固定された買い物・売買時間は,よりよい買い物・売買時間を逃し,戦略の柔軟性と利益の余地を制限する.
  3. 市場が急激に変化したときに,指標の判断によって,指標が失敗するリスク.
  4. 月間判断は,過去の経験に基づいており,将来も同じ状況であるとは限りません.時効性のリスクがあります.

戦略最適化の方向性

  1. 戦略の安定性と適応性を高めるために,より効果的なフィルタリング指標,例えば取引量,波動率などの導入を検討することができます.
  2. 取引のタイミングを最適化して,取引の条件を突破し,戦略の柔軟性や収益の余地を増やす.
  3. ポジションの周期を最適化するには,より充分にトレンドを捉えるために,より長いポジションの時間を考慮することができます.
  4. 異なる市場状況に合わせて,異なるパラメータを設定し,戦略の適応性を向上させる.
  5. ポジション管理とリスク管理のモジュールに追加し,市場の極端な状況に対応する.

要約する

火曜日の逆転戦略 ((週末のフィルター) は,平均線,RSI,ATRなどの指標の組み合わせを判断し,特定の時間に買い物指数,火曜日の逆転の動きを捕捉する.戦略の取引頻度は低く,手数料コストは低く,時間帯のフィルターと指標のフィルターにより,戦略の勝率とリスク収益比率が向上する.しかし,戦略には一定の制限とリスクがあります.

ストラテジーソースコード
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
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/
// © muikol  

//@version=5
strategy("Turnaround Tuesday", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.035)

// Inputs for MA period, filter_1, filter_2, month filter, and testing period
ma_period = input(30, title="Moving Average Period")
use_filter_1 = input(true, title="Use RSI Filter")
use_filter_2 = input(true, title="Use ATR Filter")
use_month_filter = input(true, title="Exclude May")
start_date = input(defval=timestamp("2009-01-01 00:00:00"), title="Start Backtest")
end_date = input(defval=timestamp("2025-01-01 00:00:00"), title="End Backtest")

// Data calculations
MA_tt = ta.sma(close, ma_period)
atr10 = ta.atr(10)
rsi3 = ta.rsi(close, 3)
c_1 = close[1]

// Entry conditions
isMonday = dayofweek == dayofweek.monday
bear = close[1] < MA_tt[1]
filter_1 = use_filter_1 ? rsi3[1] < 51 : true
filter_2 = use_filter_2 ? c_1/atr10[1] < 95 : true
notMay = use_month_filter ? month != 5 : true
entryCondition = isMonday and bear and notMay and filter_1 and filter_2

// Date check
inTestPeriod = true
// Exit conditions
isWednesdayOpen = dayofweek == dayofweek.wednesday 

// Entry and exit triggers
if entryCondition and inTestPeriod
    strategy.entry("Buy", strategy.long)

if isWednesdayOpen and strategy.position_size > 0 and inTestPeriod
    strategy.close("Buy")

// Plot the moving average
plot(MA_tt, title="Moving Average", color=color.blue)