Strategi ini termasuk dalam jenis strategi scalping, yang bertujuan untuk membuka dan menutup kedudukan dengan kerap untuk mendapat keuntungan daripada keuntungan kecil sambil mengehadkan risiko penurunan.
Strategi ini menggunakan 4 purata bergerak - 9, 50, 100, dan 200 tempoh.
Peraturan perdagangan khusus ialah:
Gabungan ini mengenal pasti situasi apabila harga berada dalam trend penurunan jangka pendek tetapi pembalikan mungkin berlaku.
Peraturan keluar adalah apabila 9 MA melintasi di atas 200 MA. Sasaran keuntungan yang hampir digunakan untuk mengunci keuntungan kecil yang kerap untuk keuntungan yang stabil.
Risiko boleh dikurangkan dengan:
Strategi ini boleh ditingkatkan dengan:
Mengoptimumkan gabungan MA
Uji lebih banyak tempoh MA untuk pengesanan pembalikan yang lebih baik.
Peningkatan tahap keuntungan
Membolehkan jarak TP yang lebih luas untuk lebih banyak keuntungan trend.
Menambah penunjuk lain
Seperti KDJ, MACD untuk pengesahan untuk mengurangkan perdagangan yang tidak sah.
Pengoptimuman saiz kedudukan
Posisi saiz dinamik berdasarkan TP dan SL tertentu.
Menambah peraturan kemasukan semula
Pertimbangkan untuk masuk semula selepas TP jika trend berterusan.
Strategi scalping ini mengenal pasti potensi pembalikan jangka pendek dengan kombinasi MA untuk keuntungan kecil yang kerap. Ini berkesan mengawal kerugian dan risiko tunggal, menjadikannya sesuai untuk pertumbuhan akaun kecil. Walau bagaimanapun, terdapat batasan seperti julat keuntungan kecil dan perdagangan yang berlebihan. Penambahbaikan boleh dibuat melalui penyesuaian parameter, penyesuaian TP, penambahan penapis dll, untuk memperluas keuntungan sambil mengekalkan kekuatannya, menjadikan strategi lebih mantap dan cekap. Juga belajar terus strategi lain yang lebih maju adalah 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)