Strategi ini menerapkan panjang dan pendek berdasarkan crossover rata-rata bergerak, dan keluar hanya di sore hari berdasarkan statistik awal mengambil keuntungan untuk menghindari terjebak oleh volatilitas pembukaan yang tinggi.
Strategi ini menggunakan 3 rata-rata bergerak dengan parameter yang berbeda: garis 14 hari, 28 hari dan 56 hari. Ini panjang ketika garis 14 hari melintasi di atas garis 56 hari, dan pendek ketika melintasi di bawah. Pendekatan dasar ini melacak tren jangka panjang. Untuk menyaring beberapa kebisingan, garis 28 hari ditambahkan sebagai referensi, sehingga sinyal hanya dipicu ketika garis 14 hari juga di atas atau di bawah garis 28 hari.
Inovasi utama adalah bahwa ia menghentikan kerugian dan mengambil keuntungan hanya antara jam 4 sore dan 5 sore. Statistik menunjukkan 70% kemungkinan tinggi / rendah harian terjadi dalam jam pertama setelah pembukaan.
Keuntungan dari strategi ini meliputi:
Ada juga beberapa risiko:
Beberapa cara untuk lebih mengoptimalkan strategi:
Strategi ini memiliki logika yang jelas dan sederhana, secara efektif menggunakan fitur pembukaan untuk stop loss untuk menghindari perangkap volatilitas.
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-30 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MAC 1st Trading Hour Walkover", overlay=true) // Setting up timeperiod for testing startPeriodYear = input(2014, "Backtest Start Year") startPeriodMonth = input(1, "Backtest Start Month") startPeriodDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0) stopPeriodYear = input(2025, "Backtest Stop Year") stopPeriodMonth = input(12, "Backtest Stop Month") stopPeriodDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0) // Moving Averages ema14 = ema(close, 14) ema28 = ema(close, 28) sma56 = sma(close, 56) // Plot plot(ema14, title="ema14", linewidth=2, color=green) plot(ema28, title="ema28", linewidth=2, color=red) plot(sma56, title="sma56", linewidth=3, color=blue) // Strategy goLong = cross(ema14, sma56) and ema14 > ema28 goShort = cross(ema14, sma56) and ema14 < ema28 // Strategy.When to enter if time >= testPeriodStart if time <= testPeriodStop strategy.entry("Go Long", strategy.long, 1.0, when=goLong) strategy.entry("Go Short", strategy.short, 1.0, when=goShort) // Strategy.When to take profit if time >= testPeriodStart if time <= testPeriodStop strategy.exit("Close Long", "Go Long", profit=2000) strategy.exit("Close Short", "Go Short", profit=2000) // Strategy.When to stop out // Some studies show that 70% of the days high low happen in the first hour // of trading. To avoid having that volatility fire our loss stop we // ignore price action in the morning, but allow stops to fire in the afternoon. if time("60", "1000-1600") strategy.exit("Close Long", "Go Long", loss=500) strategy.exit("Close Short", "Go Short", loss=500)