
Strategi ini adalah berdasarkan pada pergerakan purata garpu emas dan garpu mati untuk mencapai jangka masa yang lebih lama dan lebih lama, dan berdasarkan kepada statistik keuntungan yang diperoleh oleh peneraju, hanya berhenti dan berhenti pada waktu petang, untuk mengelakkan daripada terjejas oleh kadar turun naik yang tinggi pada waktu pagi.
Strategi ini menggunakan 3 parameter bergerak yang berbeza: 14 hari, 28 hari, dan 56 hari. Berbuat lebih banyak apabila 14 hari melintasi 56 hari; kosong apabila 14 hari melintasi 56 hari. Ini adalah kaedah asas untuk mengesan trend garis panjang.
Inovasi utama dalam strategi ini ialah ia hanya berhenti berhenti antara jam empat dan lima petang. Berdasarkan statistik, terdapat kemungkinan 70% bahawa harga tertinggi dan terendah dalam satu hari akan berlaku dalam jam pertama pembukaan. Untuk mengelakkan kejutan kepada strategi oleh turun naik yang tinggi pada waktu pembukaan, hanya berhenti berhenti pada waktu perdagangan petang.
Strategi ini mempunyai beberapa kelebihan:
Strategi ini juga mempunyai risiko:
Strategi ini boleh dioptimumkan dengan cara berikut:
Strategi ini secara keseluruhan jelas dan mudah difahami, menggunakan logik stop loss yang direka bentuk dengan ciri-ciri bukaan yang berkesan, dan dapat mengelakkan pergerakan tinggi pada awal perdagangan. Ia layak untuk diuji dan dioptimumkan lebih lanjut. Tetapi ada risiko tersandung dan kehilangan peluang, perlu menyesuaikan parameter untuk setiap saham.
/*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)