TrumpBollingerEMAcandlestick Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-07 15:30:27
Tag:

Gambaran umum

Strategi ini menggunakan Bollinger Bands, EMA dan pola candlestick untuk perdagangan judi dual-line, yang termasuk dalam strategi perdagangan jangka pendek.

Prinsip-prinsip

Strategi ini terdiri dari bagian-bagian berikut:

  1. Bollinger Bands Menghasilkan rel atas dan bawah berdasarkan harga penutupan dan standar deviasi.

  2. EMA Menghitung rata-rata bergerak eksponensial 21 hari dan menghasilkan sinyal perdagangan ketika harga melintasi EMA.

  3. Pola Lilin Mengidentifikasi titik pembalikan harga seperti penutup awan gelap bawah dan pola tindikan atas untuk memicu perdagangan.

  4. Perjudian Dua Garis Pergi panjang dan pendek secara bersamaan berdasarkan sinyal dari Bollinger, EMA crossover dan pola candlestick.

Logikanya adalah:

Gunakan Bollinger Bands untuk mengidentifikasi titik pembalikan potensial, pergi pendek di rel atas dan panjang di rel bawah. Hitung EMA 21 hari dan pergi panjang di salib emas, pergi pendek di salib kematian. Juga gunakan pola lilin untuk mengidentifikasi pembalikan, pergi panjang di bawah awan gelap dan pendek di atas tindikan. Gabungkan ketiga sinyal untuk membuat keputusan perdagangan dua arah akhir.

Strategi ini mengintegrasikan beberapa sinyal konfirmasi untuk meningkatkan efisiensi keputusan perdagangan.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Keakuratan yang ditingkatkan dengan konfirmasi sinyal ganda

Menggunakan Bollinger, EMA dan candlestick bersama-sama meningkatkan akurasi dengan memvalidasi sinyal. Ini membantu menghindari sinyal palsu dan perdagangan yang salah.

  1. Tanggapan tepat waktu dan menangkap pembalikan

Sinyal gabungan dengan cepat mengidentifikasi titik pembalikan potensial untuk perdagangan tepat waktu sebelum pembalikan meluas.

  1. Profitabilitas yang lebih tinggi dengan perdagangan dual-line

Menyimpan posisi panjang dan pendek menguntungkan dari pergerakan besar ke kedua arah.

  1. Fleksibilitas untuk perdagangan jangka pendek

Bollinger dan EMA jangka pendek memungkinkan menangkap pergerakan jangka pendek, cocok untuk perdagangan yang sering dan menanggapi fluktuasi frekuensi tinggi.

  1. Mudah digunakan dan mudah dioperasikan

Kode strategi lengkap membuatnya dapat digunakan langsung untuk perdagangan langsung. Pilihan parameter yang wajar juga membuatnya sangat mudah digunakan untuk pedagang individu.

Analisis Risiko

Risiko potensial adalah:

  1. Kemungkinan stop loss berturut-turut

Whipsaw dari sinyal Bollinger, EMA dan candlestick dapat menyebabkan stop loss berturut-turut. Sesuaikan parameter untuk memastikan stop loss yang wajar.

  1. Risiko yang lebih tinggi dalam perdagangan dual-line

Memegang baik panjang maupun pendek dapat memperkuat kerugian. modal yang cukup diperlukan untuk mendukung risiko. ukuran posisi yang lebih rendah dianjurkan.

  1. Pemantauan ketat diperlukan untuk perdagangan jangka pendek

Mengatur stop profit/loss untuk membatasi kerugian besar yang tak terduga.

  1. Ruang pengoptimalan terbatas

Bollinger dan EMA memiliki ruang optimasi yang relatif kecil.

  1. Pola candlestick umum bisa tidak jelas

Bagian dari strategi ini bergantung pada sinyal candlestick yang kadang-kadang tidak jelas.

Arahan Optimasi

Strategi ini dapat ditingkatkan dalam hal berikut:

  1. Mengintegrasikan lebih banyak sinyal indikator

Menambahkan indikator lain seperti KD, MACD mendiversifikasi sumber sinyal dan meningkatkan akurasi keputusan.

  1. Mengintegrasikan pembelajaran mesin

Menggunakan algoritma ML untuk menganalisis data historis dan meningkatkan atau mengganti beberapa sinyal indikator untuk mengurangi intervensi manual.

  1. Mengoptimalkan stop profit/loss

Memperkenalkan adaptif stop profit berdasarkan kinerja, dan trailing stop loss untuk mengurangi risiko.

  1. Meningkatkan manajemen risiko

Mengoptimalkan alokasi modal, ukuran posisi dan strategi pengendalian risiko sesuai dengan kondisi pasar.

  1. Pengujian kembali kuantitatif dan optimalisasi

Menggunakan backtesting dan perdagangan kertas untuk berulang kali mengoptimalkan parameter dan membantu keputusan perdagangan langsung.

  1. Perdagangan otomatis

Parameterisasi strategi berdasarkan hasil backtest dan menggabungkan ke dalam sistem perdagangan otomatis untuk eksekusi hands-free.

Kesimpulan

Strategi ini mengintegrasikan sinyal Bollinger, EMA dan candlestick untuk validasi ganda. Perdagangan dua baris lebih meningkatkan profitabilitas. Dengan respons cepat, ini cocok untuk perdagangan sering jangka pendek. Stop profit / loss yang efektif dan optimasi parameter dapat lebih meningkatkan kinerja sambil mengurangi risiko. Secara keseluruhan, strategi sederhana dan praktis ini memiliki nilai praktis yang kuat.


/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Design by MrPhu in August,10,2018
strategy("TrumpShipper_Long_Short V26", overlay=true)
filterFractals = input(true, title=" Follow Code #Trump On/Off")
dt = 0.0001
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]

if (prediction)
    strategy.exit("Close", "Short ")
    strategy.entry("Long ", strategy.long)

if (not prediction)
    strategy.exit("Close", "Long ")
    strategy.entry("Short ", strategy.short)
///////////Bollinger Band///////////////
length = 20
crc = close, title="Source"
mult = 2.0
basis = sma(crc, length)
dev = mult * stdev(crc, length)
upper = basis + dev
lower = basis - dev
spanColor = prediction ? green : red, transp=90

p1 = plot(upper, title="Short", style=line, linewidth=1, color=spanColor)
p2 = plot(lower, title="Long", style=line, linewidth=1, color=spanColor)

fill(p1, p2, color=spanColor, transp=90, title="Fill")

/////////////
Optional_TimeFrame = 'D'

M_HIGH = request.security(syminfo.tickerid, Optional_TimeFrame, high)
M_OPEN = request.security(syminfo.tickerid, Optional_TimeFrame, open)
M_LOW = request.security(syminfo.tickerid, Optional_TimeFrame, low)

H_RANGE = M_HIGH-M_OPEN
L_RANGE = M_OPEN-M_LOW

H_236 = M_HIGH - H_RANGE * 0.236
H_382 = M_HIGH - H_RANGE * 0.382
H_500 = M_HIGH - H_RANGE * 0.500
H_618 = M_HIGH - H_RANGE * 0.618
H_764 = M_HIGH - H_RANGE * 0.764

L_236 = M_LOW + L_RANGE * 0.236
L_382 = M_LOW + L_RANGE * 0.382
L_500 = M_LOW + L_RANGE * 0.500
L_618 = M_LOW + L_RANGE * 0.618
L_764 = M_LOW + L_RANGE * 0.764

pl1=plot(M_HIGH, color=M_HIGH != M_HIGH[1] ?na:black, style=line, linewidth=1, transp=80)

pl2=plot(H_236, color=H_236 != H_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl3=plot(H_382, color=H_382 != H_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl4=plot(H_500, color=H_500 != H_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl5=plot(H_618, color=H_618 != H_618[1] ?na:gray, style=line, linewidth=1, transp=80)
pl6=plot(H_764, color=H_764 != H_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl7=plot(M_OPEN, color=M_OPEN != M_OPEN[1] ?na:blue, style=line, linewidth=2)

pl8=plot(L_236, color=L_236 != L_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl9=plot(L_382, color=L_382 != L_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl10=plot(L_500, color=L_500 != L_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl11=plot(L_618, color=L_618 != L_618[1] ?na:black, style=line, linewidth=1, transp=80)
pl12=plot(L_764, color=L_764 != L_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl13=plot(M_LOW, color=M_LOW != M_LOW[1] ?na:black, style=line, linewidth=1, transp=80)

SHOW_MA = false
MA_SRC = hlc3
MA_LENGTH = 21

_MA = ema(MA_SRC, MA_LENGTH)
pl14=plot(not SHOW_MA ? na : _MA, color=teal, linewidth=2)

SHOW_SIGNALS = true

BUYX(_F) => cross(_F, MA_SRC) and rising(_MA, 1)
SELX(_F) => cross(_F, MA_SRC) and falling(_MA, 1)

SEL_SIGNAL = SELX(H_236) or SELX(H_382) or SELX(H_500) or SELX(H_618) or SELX(H_764) or SELX(L_236) or SELX(L_382) or SELX(L_500) or SELX(L_618) or SELX(H_764)

BUY_SIGNAL = BUYX(H_236) or BUYX(H_382) or BUYX(H_500) or BUYX(H_618) or BUYX(H_764) or BUYX(L_236) or BUYX(L_382) or BUYX(L_500) or BUYX(L_618) or BUYX(H_764)

//================= Chart 30m =================/////
//Jurij
h_left = 10
h_right = 10
//barCount = nz(barCount[1]) + 1
//check history and realtime PTZ
h_left_low = lowest(h_left)
h_left_high = highest(h_left)
newlow = low <= h_left_low
newhigh = high >= h_left_high
central_bar_low = low[h_right + 1]
central_bar_high = high[h_right + 1]
full_zone_low = lowest(h_left + h_right + 1)
full_zone_high = highest(h_left + h_right + 1)
central_bar_is_highest = central_bar_high >= full_zone_high
central_bar_is_lowest = central_bar_low <= full_zone_low
plotchar(central_bar_is_highest ? -1 : 0, offset=-h_right-1 ,color=red, text="Top")
plotchar(central_bar_is_lowest ? 1 : 0, offset=-h_right-1 ,location=location.belowbar, color=green, text="Bottom")

Lebih banyak