
Strategi perdagangan selang adalah strategi pelacakan tren berdasarkan moving average. Strategi ini menggunakan moving average indeks selama 30 hari untuk mengidentifikasi tren harga, masuk ke lapangan ketika harga melampaui rata-rata, dan keluar dari posisi yang sepi ketika harga kembali ke bawah rata-rata. Strategi ini berlaku untuk perdagangan dalam kerangka waktu 30 menit ke garis waktu matahari.
Strategi ini didasarkan pada hubungan antara harga dan rata-rata pergerakan indeks 30 hari untuk menentukan sinyal masuk dan keluar.
Dengan cara ini, peluang perdagangan tren dapat dikunci melalui penembusan pada tren harga CAPTURE.
Strategi ini memiliki beberapa keuntungan:
Strategi ini juga memiliki beberapa risiko:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi perdagangan selang waktu untuk melacak tren dengan menangkap cara harga menembus EMA adalah strategi kuantitatif yang sederhana dan praktis. Strategi ini dapat disesuaikan dan dioptimalkan secara fleksibel, cocok untuk memegang posisi panjang dan menengah, juga untuk perdagangan garis pendek. Secara keseluruhan, risiko strategi ini dapat dikontrol, dan jika parameternya diatur dengan benar, dapat memperoleh keuntungan yang stabil.
/*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)