Strategi ini termasuk dalam jenis strategi scalping, yang bertujuan untuk membuka dan menutup posisi sering untuk mendapatkan keuntungan dari keuntungan kecil sambil membatasi risiko penurunan.
Strategi ini menggunakan 4 rata-rata bergerak - 9, 50, 100, dan 200 periode.
Aturan perdagangan khusus adalah:
Kombinasi ini mengidentifikasi situasi ketika harga berada dalam tren penurunan jangka pendek tetapi pembalikan dapat terjadi.
Aturan keluar adalah ketika 9 MA melintasi di atas 200 MA. Target keuntungan dekat digunakan untuk mengunci keuntungan kecil yang sering untuk keuntungan yang stabil.
Risiko dapat dikurangi dengan:
Strategi dapat ditingkatkan dengan:
Mengoptimalkan kombinasi MA
Mencoba lebih banyak periode MA untuk deteksi pembalikan yang lebih baik.
Meningkatkan tingkat keuntungan
Izinkan jarak TP yang lebih luas untuk keuntungan tren yang lebih besar.
Menambahkan indikator lain
Seperti KDJ, MACD untuk konfirmasi untuk mengurangi perdagangan yang tidak valid.
Optimasi ukuran posisi
Posisi ukuran dinamis berdasarkan TP dan SL tertentu.
Menambahkan aturan masuk kembali
Pertimbangkan untuk masuk kembali setelah TP jika tren berlanjut.
Strategi scalping ini mengidentifikasi potensi pembalikan jangka pendek dengan kombinasi MA untuk keuntungan kecil yang sering. Ini secara efektif mengendalikan kerugian dan risiko tunggal, membuatnya cocok untuk pertumbuhan akun kecil. Namun, ada batasan seperti kisaran keuntungan kecil dan perdagangan yang berlebihan. Perbaikan dapat dilakukan melalui penyesuaian parameter, penyesuaian TP, penambahan filter dll, untuk memperluas keuntungan sambil mempertahankan kekuatannya, membuat strategi lebih kuat dan efisien. Juga belajar terus-menerus strategi lain yang lebih maju penting.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //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() => true // create function "within window of time" //MA inputs and calculations movingaverage_signal = sma(close, input(9)) movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_mid= sma(close, input(100)) //Entry bullish = crossover(movingaverage_signal, movingaverage_fast) strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window()) //Exit bearish = crossover(movingaverage_signal, movingaverage_slow) Stop_loss= ((input (2))/100) Take_profit= ((input (8))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = bearish) // close < longStopPrice or close > longTakeProfit and window()) //PLOT plot(movingaverage_signal, color=color.black, linewidth=2 ) plot(movingaverage_fast, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2) plot(movingaverage_mid, color=color.blue, linewidth=2)