Strategi ini disebut
Strategi ini menggunakan 3 rata-rata bergerak dengan periode yang berbeda: 50 periode, 100 periode dan 200 periode. Logika beli adalah: ketika MA 50 periode melintasi MA 100 periode dan MA 100 periode melintasi MA 200 periode, pergi panjang.
Ini menandakan terobosan dari rentang volatilitas rendah dan awal tren. kenaikan cepat MA
Setelah masuk, strategi menggunakan profit taking dan stop loss untuk mengunci keuntungan. Take profit ditetapkan pada 8% dari harga masuk. Stop loss ditetapkan pada 4% dari harga masuk. Dengan take profit lebih tinggi daripada stop loss, itu memastikan strategi tetap menguntungkan secara keseluruhan.
Keuntungan dari strategi ini:
Ada juga beberapa risiko:
Solusi:
Optimasi dapat dilakukan di bidang berikut:
Singkatnya, strategi ini memiliki logika yang jelas secara keseluruhan, memperoleh keuntungan berisiko rendah melalui konfigurasi periode rata-rata bergerak dan persentase profit taking/stop loss.
/*backtest start: 2023-12-10 00:00:00 end: 2023-12-17 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Low volatility Buy w/ TP & SL (by Coinrule)',title='Low volatility Buy w/ TP & SL', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" //MA inputs and calculations movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_normal= sma(close, input(100)) //Entry strategy.entry(id="long", long = true, when = movingaverage_slow > movingaverage_normal and movingaverage_fast > movingaverage_normal) //Exit longStopPrice = strategy.position_avg_price * (1 - 0.04) longTakeProfit = strategy.position_avg_price * (1 + 0.08) strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window()) //PLOT plot(movingaverage_fast, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=3) plot(movingaverage_normal, color=color.blue, linewidth=2)