Strategi Trading Spaced Out adalah strategi yang mengikuti tren berdasarkan moving average. Strategi ini menggunakan rata-rata bergerak eksponensial (EMA) 30 hari untuk mengidentifikasi tren harga dan memasuki perdagangan ketika harga pecah di atas / di bawah EMA. Strategi ini bekerja dengan baik dengan jangka waktu 30 menit hingga harian.
Logika inti bergantung pada hubungan antara harga dan EMA 30 hari untuk menghasilkan sinyal masuk dan keluar.
Dengan menangkap trend breakout, itu bertujuan untuk memanfaatkan momentum bergerak dan tren-mengikuti peluang.
Keuntungan utama dari strategi ini meliputi:
Beberapa risiko utama adalah:
Beberapa cara strategi dapat ditingkatkan:
Strategi Perdagangan Spaced Out bertujuan untuk menangkap tren dengan melakukan perdagangan price breakout dari level EMA. Ini adalah strategi kuantitatif yang sederhana dan praktis. Dengan batas kerugian yang dapat disesuaikan dan optimasi yang bijaksana, ini dapat menjadi strategi yang stabil yang memberikan pengembalian berkelanjutan di periode kepemilikan jangka menengah hingga panjang.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Spaced Out Trading Strategy", overlay=true) // Define strategy parameters emaPeriod = input(30, title="EMA Period") // Longer EMA period for more spaced-out trades stopLossPct = input(2.0, title="Stop Loss Percentage") // Stop loss percentage takeProfitPct = input(3.0, title="Take Profit Percentage") // Take profit percentage // Calculate EMA emaValue = ta.ema(close, emaPeriod) // Define entry and exit conditions enterLong = ta.crossover(close, emaValue) exitLong = ta.crossunder(close, emaValue) // Place orders contractsQty = 5 // Number of contracts to buy var float lastTradePrice = na // Track the last trade price if enterLong and strategy.position_size == 0 strategy.entry("Buy Call", strategy.long, qty = contractsQty) lastTradePrice := close else if exitLong and strategy.position_size > 0 strategy.close("Buy Call") lastTradePrice := na // Calculate stop loss and take profit stopLossPrice = lastTradePrice * (1 - stopLossPct / 100) takeProfitPrice = lastTradePrice * (1 + takeProfitPct / 100) strategy.exit("Sell Call", "Buy Call", stop = stopLossPrice, limit = takeProfitPrice)