Strategi ini adalah sejenis strategi scalping garis pendek, yang bertujuan untuk membuka kedudukan rendah dengan kerap, untuk mendapatkan keuntungan yang stabil dengan keuntungan kecil dan mengawal risiko ke bawah. Strategi ini melakukan lebih banyak masuk ke dalam titik-titik kemungkinan yang mungkin dengan menilai indikator garis rata, dan menetapkan sasaran hentian cepat untuk mengunci keuntungan kecil.
Strategi ini menggunakan 4 garis purata bergerak, iaitu 9 kitaran, 50 kitaran, 100 kitaran dan 200 kitaran.
Peraturan perdagangan khusus ialah:
Penghakiman gabungan seperti ini dapat menjumpai titik-titik masa di mana harga berada di bawah dalam jangka pendek tetapi mungkin berbalik.
Peraturan kedudukan rata adalah 9 purata kitaran pada garis purata kitaran 200. Di sini menetapkan sasaran berhenti yang lebih dekat, yang bertujuan untuk mencapai keuntungan yang stabil melalui keuntungan kecil yang kerap.
Anda boleh mengurangkan risiko dengan:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Uji lebih banyak parameter kitaran rata-rata untuk mencari kombinasi yang lebih tepat untuk menentukan pembalikan.
“Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia, tetapi saya tahu bahawa ia adalah satu-satunya negara di dunia yang tidak mempunyai masalah ekonomi”, katanya.
Contohnya KDJ, MACD, dan lain-lain, untuk mengesahkan dan mengurangkan transaksi yang tidak sah.
Tetapkan saiz kedudukan untuk menyesuaikan secara dinamik mengikut titik berhenti dan titik berhenti.
Selepas penangguhan penarikan diri, jika trend berterusan, boleh dipertimbangkan untuk masuk semula melalui syarat.
Strategi ini termasuk dalam jenis strategi scalping garis pendek, membentuk isyarat perdagangan dengan menilai kombinasi garis rata yang berbalik dalam jangka pendek, dan menetapkan stop loss yang lebih dekat untuk mendapatkan keuntungan yang kerap. Ini dapat mengawal kerugian dan risiko tunggal dengan berkesan, sesuai untuk pertumbuhan jumlah modal yang kecil.
/*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)