Strategi ini menggunakan Bollinger Bands, EMA dan corak candlestick untuk perdagangan perjudian dua baris, yang tergolong dalam strategi perdagangan jangka pendek.
Strategi ini terdiri daripada bahagian-bahagian berikut:
Bollinger Bands Menghasilkan rel atas dan bawah berdasarkan harga penutupan dan penyimpangan standard.
EMA Mengira purata bergerak eksponensial 21 hari dan menjana isyarat perdagangan apabila harga melintasi EMA.
Corak Lilin Mengenal pasti titik pembalikan harga seperti penutup awan gelap bawah dan corak menembusi atas untuk mencetuskan perdagangan.
Perjudian Dua Garis Pergi panjang dan pendek pada masa yang sama berdasarkan isyarat dari Bollinger, EMA crossover dan corak candlestick.
Logikanya ialah:
Menggunakan Bollinger Bands untuk mengenal pasti titik pembalikan yang berpotensi, pergi pendek di rel atas dan panjang di rel bawah. Mengira EMA 21 hari dan pergi lama pada salib emas, pergi pendek pada salib kematian. Juga menggunakan corak lilin untuk mengenal pasti pembalikan, pergi lama pada awan gelap bawah dan pendek pada tindikan atas. Gabungkan ketiga-tiga isyarat untuk membuat keputusan perdagangan dua arah akhir.
Strategi ini mengintegrasikan pelbagai isyarat pengesahan untuk meningkatkan kecekapan keputusan perdagangan.
Kelebihan utama strategi ini ialah:
Menggunakan Bollinger, EMA dan lilin bersama-sama meningkatkan ketepatan dengan mengesahkan isyarat. Ini membantu mengelakkan isyarat palsu dan perdagangan yang salah.
Isyarat gabungan dengan cepat mengenal pasti titik pembalikan yang berpotensi untuk perdagangan tepat pada masanya sebelum pembalikan meluas.
Memegang kedua-dua kedudukan panjang dan pendek keuntungan dari pergerakan besar dalam kedua-dua arah. Ini mengurangkan risiko di pasaran satu arah.
Bollinger jangka pendek dan EMA membolehkan menangkap pergerakan jangka pendek, sesuai untuk perdagangan yang kerap dan bertindak balas terhadap turun naik frekuensi tinggi.
Kod strategi yang lengkap menjadikannya mudah digunakan untuk perdagangan langsung. Pilihan parameter yang munasabah juga menjadikannya sangat mudah digunakan untuk peniaga individu.
Risiko yang berpotensi ialah:
Whipsaw isyarat Bollinger, EMA dan candlestick boleh menyebabkan stop loss berturut-turut. Sesuaikan parameter untuk memastikan stop loss yang munasabah.
Memegang kedua-dua panjang dan pendek boleh memperkuat kerugian. Modal yang mencukupi diperlukan untuk menyokong risiko. saiz kedudukan yang lebih rendah disyorkan.
Perdagangan jangka pendek yang kerap memerlukan pemantauan pasaran. Tetapkan stop profit / loss untuk mengehadkan kerugian besar yang tidak dijangka.
Bollinger dan EMA mempunyai ruang pengoptimuman yang agak kecil.
Sebahagian daripada strategi ini bergantung pada isyarat candlestick yang kadang-kadang tidak jelas.
Strategi ini boleh ditingkatkan dalam aspek berikut:
Menambah penunjuk lain seperti KD, MACD mempelbagaikan sumber isyarat dan meningkatkan ketepatan keputusan.
Menggunakan algoritma ML untuk menganalisis data sejarah dan meningkatkan atau menggantikan beberapa isyarat penunjuk untuk mengurangkan campur tangan manual.
Memperkenalkan keuntungan berhenti adaptif berdasarkan prestasi, dan kehilangan berhenti untuk mengurangkan risiko.
Mengoptimumkan peruntukan modal, saiz kedudukan dan strategi kawalan risiko mengikut keadaan pasaran.
Menggunakan backtesting dan perdagangan kertas untuk mengoptimumkan parameter berulang kali dan membantu keputusan perdagangan langsung.
Parameter strategi berdasarkan hasil backtest dan menggabungkan ke dalam sistem perdagangan automatik untuk pelaksanaan bebas tangan.
Strategi ini mengintegrasikan isyarat Bollinger, EMA dan candlestick untuk pengesahan berbilang. Dagangan dua baris lebih meningkatkan keuntungan. Dengan tindak balas cepat, ia sesuai untuk perdagangan kerap jangka pendek. Henti keuntungan / kerugian yang berkesan dan pengoptimuman parameter dapat meningkatkan prestasi sambil mengurangkan risiko. Secara keseluruhan, strategi yang mudah dan praktikal ini mempunyai nilai praktikal 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")