Strategi Perdagangan Terpencil adalah strategi yang mengikuti trend berdasarkan purata bergerak. Ia menggunakan purata bergerak eksponen 30 hari (EMA) untuk mengenal pasti trend harga dan memasuki perdagangan apabila harga pecah di atas / di bawah EMA. Ia keluar dari perdagangan apabila harga jatuh kembali di bawah / di atas garis EMA. Strategi ini berfungsi dengan baik dengan jangka masa 30 minit hingga harian.
Logik teras bergantung pada hubungan antara harga dan EMA 30 hari untuk menjana isyarat masuk dan keluar.
Dengan menangkap trend breakouts, ia bertujuan untuk memanfaatkan pergerakan momentum dan peluang trend-mengikuti.
Kelebihan utama strategi ini termasuk:
Beberapa risiko utama ialah:
Beberapa cara strategi boleh dinaik taraf:
Strategi Perdagangan Terpencil bertujuan untuk menangkap trend dengan perdagangan harga pecah dari tahap EMA. Ia adalah strategi kuantitatif yang mudah dan praktikal. Dengan had kerugian yang boleh disesuaikan dan pengoptimuman yang bijak, ia boleh menjadi strategi yang stabil yang memberikan pulangan yang mampan sepanjang tempoh pegangan jangka sederhana 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)