Strategi perdagangan terobosan kemungkinan tinggi berdasarkan keseimbangan tekanan

Penulis:ChaoZhang, Tanggal: 2023-11-13 11:40:53
Tag:

img

Gambaran umum

Strategi ini menggunakan kombinasi dari beberapa indikator untuk menentukan arah tren dan peluang perdagangan, mengadopsi pendekatan keseimbangan tekanan untuk meningkatkan tingkat kemenangan perdagangan.

Logika Strategi

  1. Gunakan EMA untuk menghitung moving average untuk menentukan arah tren keseluruhan. Nilai EMA yang lebih besar menunjukkan tren naik, sedangkan nilai EMA yang lebih kecil menunjukkan tren turun.

  2. Gunakan MACD untuk menghitung perbedaan antara rata-rata bergerak cepat dan lambat. Ketika perbedaannya lebih besar dari 0, itu menunjukkan tren naik, jika kurang dari 0, itu menunjukkan tren turun.

  3. Gunakan PSAR untuk menghitung titik variabel terus menerus. Ketika nilai PSAR besar, itu menunjukkan tren menurun, ketika nilai PSAR kecil, itu menunjukkan tren naik.

  4. Menggabungkan tiga indikator di atas untuk menentukan konsistensi tren. Ketika penilaian dari tiga indikator konsisten, itu mewakili tren yang jelas yang memungkinkan perdagangan masuk.

  5. Masukkan perdagangan berdasarkan kriteria beli dan jual, dan atur titik stop loss dan take profit. keluarkan perdagangan ketika kondisi stop loss atau take profit terpenuhi untuk mewujudkan keuntungan.

  6. Peraturan khusus adalah:

    • Kondisi beli: tidak naik, histogram MACD < 0, harga penutupan > EMA
    • Kondisi jual: dalam uptrend, histogram MACD > 0, harga penutupan < EMA
    • Kondisi stop loss: harga mencapai nilai PSAR berikutnya
    • Kondisi mengambil keuntungan: mencapai rasio mengambil keuntungan yang telah ditetapkan sebelumnya

Keuntungan dari Strategi

  1. Menggunakan beberapa indikator untuk menentukan tren meningkatkan akurasi.

  2. Pembukaan perdagangan berdasarkan tren pasti yang diidentifikasi melalui neraca tekanan meningkatkan tingkat kemenangan.

  3. Menetapkan stop loss dan mengambil keuntungan dapat membatasi kerugian dan mengunci keuntungan.

  4. Aturan perdagangan yang jelas dan sistematis membuatnya cocok untuk perdagangan algoritma.

  5. Parameter dapat dioptimalkan untuk menyesuaikan dengan produk dan kerangka waktu yang berbeda.

Risiko dari Strategi

  1. Penghakiman tren mungkin salah, menghasilkan arah perdagangan yang salah.

  2. Gerakan pasar yang ekstrim dapat menghasilkan sinyal palsu dari indikator.

  3. Stop loss diatur terlalu luas, tidak bisa keluar tepat waktu.

  4. Penyesuaian parameter yang tidak tepat menyebabkan over-trading atau trading yang hilang.

  5. Produk tidak likuid tidak dapat memenuhi rencana stop loss dan take profit.

  6. Risiko dapat dikurangi dengan mengoptimalkan parameter, menyesuaikan stop, dan memilih produk cair.

Arahan Optimasi

  1. Sesuaikan periode EMA untuk mengoptimalkan akurasi tren.

  2. Siapkan periode MACD cepat dan lambat untuk meningkatkan sensitivitas.

  3. Optimalkan stop loss dan mengambil rasio keuntungan untuk menemukan keseimbangan yang ideal.

  4. Tambahkan indikator tambahan lainnya untuk meningkatkan waktu masuk.

  5. Pilih produk dengan likuiditas yang baik dan perubahan besar.

  6. Sesuaikan kerangka waktu agar sesuai dengan karakteristik produk yang berbeda.

Ringkasan

Strategi ini mengintegrasikan beberapa indikator untuk analisis tren dan memasuki perdagangan berdasarkan tren yang pasti, dengan stop loss dan take profit yang telah ditetapkan sebelumnya, yang dapat secara efektif menangkap pergerakan pasar dan mencapai pengembalian yang baik sambil memastikan profitabilitas tertentu. Perbaikan lebih lanjut pada stabilitas dan profitabilitas dapat dicapai melalui penyesuaian parameter dan indikator tambahan. Aturan perdagangan yang jelas membuat strategi ini sangat cocok untuk perdagangan algoritmik.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy(title = "Crypto Scalper", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
len = input(60, minval=1, title="Length EMA")
src = input(close, title="Source")
out = ema(src, len)
//
fast_length = input(title="Fast Length MACD", type=input.integer, defval=12)
slow_length = input(title="Slow Length MACD", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])

// Calculating
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)

tplong=input(0.245, step=0.005)
sllong=input(1.0, step=0.005)
tpshort=input(0.055, step=0.005)
slshort=input(0.03, step=0.005)

if (uptrend and hist >0 and close < out)
	strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
	strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
if (not uptrend and hist <0 and close > out)
	strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
	strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closelong')

	

Lebih banyak