Strategi ini adalah sistem dagangan trend-mengikuti berdasarkan rangka kerja purata bergerak eksponensial (EMA) berganda, melaksanakan pesanan beli had pada tahap EMA20. Ia menggunakan pendekatan pengurusan wang konservatif, menggunakan hanya 10% ekuiti akaun setiap perdagangan dan menggabungkan tahap mengambil keuntungan dan hentian kerugian untuk pengurusan risiko. Strategi ini menggunakan dua tempoh EMA (30 dan 300 hari) untuk menentukan trend pasaran dan hanya mencari peluang kemasukan semasa pasaran trend menaik.
Logik teras strategi ini berdasarkan beberapa elemen utama: 1. Menggunakan EMA300 sebagai penapis trend, hanya mempertimbangkan kedudukan panjang apabila harga di atas EMA300, memastikan arah perdagangan sejajar dengan trend utama. 2. Tempat-tempat membatasi pesanan beli pada tahap EMA20 apabila keadaan trend dipenuhi, membolehkan kemasukan pada harga yang agak rendah semasa penurunan ke sokongan purata bergerak. 3. Melaksanakan tahap mengambil keuntungan dan menghentikan kerugian berasaskan peratusan tetap, gagal membayar kepada 10% untuk sasaran keuntungan dan 5% untuk menghentikan kerugian, mengekalkan nisbah risiko-balasan yang lebih besar daripada 2: 1. 4. Menggunakan saiz kedudukan pada 10% daripada ekuiti akaun, secara berkesan mengurangkan pendedahan risiko setiap perdagangan melalui pengurusan wang konservatif.
Strategi ini menggabungkan sistem purata bergerak dengan peraturan kawalan risiko yang ketat untuk mewujudkan sistem dagangan yang agak kukuh. Kekuatannya terletak pada ciri-ciri mengikuti trend dan mekanisme pengurusan risiko yang komprehensif, mengoptimumkan harga kemasukan melalui pesanan had sambil mengekalkan pengurusan wang konservatif. Walaupun strategi mungkin kurang berprestasi di pasaran yang berbeza, arah pengoptimuman yang dicadangkan dapat meningkatkan kestabilan dan keuntungan. Bagi pelabur yang mencari pulangan yang stabil, strategi dagangan kuantitatif ini merupakan pertimbangan yang layak.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true) // Inputs for EMAs ema20Length = input.int(30, title="EMA 20 Length") ema300Length = input.int(300, title="EMA 300 Length") tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100 slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15% // Calculate EMAs ema20 = ta.ema(close, ema20Length) ema300 = ta.ema(close, ema300Length) // Plot EMAs plot(ema20, color=color.blue, title="EMA 20") plot(ema300, color=color.red, title="EMA 300") // Limit backtesting to the last 30 days startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0) if (time < startTime) strategy.close_all() strategy.cancel_all() // Entry Condition: Price above EMA300 longCondition = close > ema300 and time >= startTime // Calculate position size (10% of equity) positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price // Place a limit buy order at EMA20 if (longCondition) strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20) // Calculate TP and SL levels tpPrice = ema20 * (1 + tpPercentage) slPrice = ema20 * (1 - slPercentage) // Set take profit and stop loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)