この戦略は"ターナロウンド火曜日の戦略 (週末フィルター) "と呼ばれる. 主なアイデアは,火曜日のターナロウンドを把握するために,月曜日のオープンで購入し,移動平均値および他のフィルターに基づく特定の条件が満たされたときに水曜日のオープンで販売することです. RSI,ATRとフィルタリングを行い,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)