Strategi scalping jangka pendek purata bergerak


Tarikh penciptaan: 2023-09-21 20:41:15 Akhirnya diubah suai: 2023-09-21 20:41:15
Salin: 0 Bilangan klik: 935
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

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.

Prinsip Strategi

Strategi ini menggunakan 4 garis purata bergerak, iaitu 9 kitaran, 50 kitaran, 100 kitaran dan 200 kitaran.

Peraturan perdagangan khusus ialah:

  • 9 Periode rata-rata pada garis 50 Periode rata-rata lebih masuk
  • 50 purata kitaran lebih rendah daripada 100 purata kitaran
  • 100 purata kitaran rendah daripada 200 purata kitaran

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.

Kelebihan Strategik

  • Terlalu kerap membuka kedudukan kosong untuk mengawal kerugian tunggal
  • Menggunakan garis rata-rata untuk menentukan titik balik dan mencari titik pembelian yang berpotensi
  • Tetapkan titik berhenti yang lebih dekat, kunci kecil untuk menentukan keuntungan
  • Menurunkan masa memegang jawatan, mengurangkan kesan trend besar
  • Kadar penggunaan yang tinggi untuk pertumbuhan modal kecil

Risiko Strategik

  • Penghakiman rata-rata terlewat, mungkin terlepas titik kemasukan terbaik
  • Ruang keuntungan kecil, mudah terjejas oleh kos urus niaga
  • Lebih banyak transaksi yang tidak berkesan, transaksi yang kerap menyebabkan kos masa dan tenaga
  • Stop-Point terlalu konservatif dan gagal mengikuti trend
  • Kesukaran untuk mendapat keuntungan dalam pasaran yang disusun semula

Anda boleh mengurangkan risiko dengan:

  • Optimumkan parameter garis rata-rata untuk meningkatkan ketepatan penilaian titik beli
  • Pelancaran EXIT yang sesuai untuk mengejar keuntungan yang lebih trend
  • Penambahan penunjuk teknikal lain untuk pengesahan, mengurangkan transaksi tidak sah
  • Pengoptimuman penggunaan dana dan pengurusan kedudukan
  • Usahakan

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan kombinasi parameter rata-rata

Uji lebih banyak parameter kitaran rata-rata untuk mencari kombinasi yang lebih tepat untuk menentukan pembalikan.

  1. Melepaskan titik penamat

“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.

  1. Menambah Indeks Teknikal

Contohnya KDJ, MACD, dan lain-lain, untuk mengesahkan dan mengurangkan transaksi yang tidak sah.

  1. Optimumkan pengurusan kedudukan

Tetapkan saiz kedudukan untuk menyesuaikan secara dinamik mengikut titik berhenti dan titik berhenti.

  1. Bergabung dengan mekanisme kemasukan semula

Selepas penangguhan penarikan diri, jika trend berterusan, boleh dipertimbangkan untuk masuk semula melalui syarat.

ringkaskan

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.

Kod sumber strategi
/*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)