
Strategi perdagangan berbalik balik bi-linear adalah sistem pengesanan trend berdasarkan purata bergerak indeks ((EMA), dengan falsafah utamanya adalah “tidak mengejar setiap persilangan garis rata-rata, tetapi menunggu persilangan pasaran ke garis EMA cepat untuk disahkan dan kemudian masuk”. Strategi ini menggabungkan isyarat persilangan garis rata-rata dalam analisis teknikal dan mekanisme pengesahan perubahan harga untuk melakukan perdagangan dengan kebarangkalian tinggi pada titik perubahan selepas perubahan trend dengan menetapkan perbezaan kapasiti yang munasabah, nisbah pulangan risiko dan had jumlah perdagangan harian. Strategi ini menggunakan 200 dan 800 kitaran EMA sebagai asas, apabila EMA cepat (kira-kira 200 kitaran) membentuk isyarat multihead, dan menunggu harga kembali ke arah yang lebih cepat (kira-kira 0.2%) ketika membeli; sebaliknya, ia membentuk isyarat penghawa dingin dan menunggu untuk kembali ke udara.
Prinsip-prinsip utama strategi ini dibina di atas konsep-konsep analisis teknikal berikut:
Pengiktirafan isyarat silang linearStrategi menggunakan EMA 200 kitaran dan 800 kitaran untuk menentukan arah trend keseluruhan pasaran. Apabila EMA cepat di atas EMA 200 melintasi EMA perlahan di bawah EMA 800, sistem mengenal pasti sebagai trend multicap. Apabila EMA cepat di bawah EMA perlahan, sistem mengenal pasti sebagai trend kosong.
Pengesanan status trendStrategi: Menjejaki keadaan trend semasa secara berterusan melalui pembolehubah bullish ((in_bullish_trend dan in_bearish_trend) untuk memastikan perdagangan hanya dalam arah trend yang telah disahkan.
Mekanisme pengesahan panggilan balikBerbeza dengan strategi persimpangan linear rata tradisional, strategi ini tidak masuk langsung ke persimpangan, tetapi menunggu harga kembali ke sekitar EMA pantas. Khususnya, apabila peratusan penyimpangan antara harga dan EMA pantas adalah kurang daripada kapasiti balasan yang ditetapkan (default 0.2%), sistem menganggap bahawa penarikan balik telah disahkan, dan pada masa itu mencetuskan isyarat perdagangan.
Mekanisme kawalan risikoStrategi: Tetapkan stop loss yang tetap (default 0.5%) untuk setiap dagangan dan tahap stop loss berdasarkan nisbah pulangan risiko (default 4: 1). Pada masa yang sama, mengelakkan perdagangan berlebihan dengan mengehadkan jumlah dagangan maksimum setiap hari (default 2).
Tarikh ganti dan set semulaStrategi: Set semula penghitung dagangan pada permulaan perdagangan setiap hari untuk memastikan had frekuensi dagangan dikira mengikut hari.
Dengan analisis kod yang mendalam, strategi ini mempunyai kelebihan yang ketara:
Perdagangan selepas trend disahkanStrategi ini hanya mempertimbangkan kemasukan selepas pengesahan arah trend di tengah-tengah garis rata-rata, mengelakkan kerugian yang disebabkan oleh perdagangan yang kerap dalam pasaran yang disusun.
Kembali ke kejohanan untuk meningkatkan kadar kemenangan: Dengan menunggu harga kembali ke tahap sokongan / rintangan yang kritikal (EMA cepat), peluang kejayaan perdagangan meningkat dan risiko masuk yang tidak dapat dielakkan apabila harga terlalu lama.
Pengurusan risiko yang jelas: Setiap dagangan mempunyai tahap stop loss dan stop loss yang telah ditentukan, dan nisbah risiko / ganjaran ditetapkan pada 4: 1, memastikan kemungkinan keuntungan jangka panjang walaupun peluang menang tidak tinggi.
Perlindungan yang berlebihanMengelakkan perdagangan berlebihan dalam pasaran yang bergolak dengan menghadkan jumlah dagangan maksimum setiap hari, ini membantu mengurangkan kos dagangan dan meningkatkan kestabilan strategi keseluruhan.
Isyarat perdagangan visualStrategi: Penggunaan label dan perubahan warna latar belakang untuk menunjukkan secara intuitif isyarat perdagangan dan status pegangan, memudahkan analisis dan pemantauan masa nyata.
Parameter yang boleh disesuaikanSemua parameter utama seperti kitaran EMA, kelajuan pengembalian, nisbah pulangan risiko, nisbah hentian dan jumlah dagangan maksimum setiap hari boleh disesuaikan melalui kotak input, menjadikan strategi ini sangat mudah disesuaikan.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Pengiktirafan kebelakangOleh kerana menggunakan EMA dengan tempoh yang lebih lama, strategi mungkin ketinggalan dalam mengenal pasti trend berbalik, menyebabkan kehilangan sebahagian daripada keadaan di awal trend. Cara: Anda boleh mempertimbangkan penilaian tambahan indikator yang menggabungkan tempoh yang lebih pendek, atau menyesuaikan tempoh EMA mengikut ciri-ciri pasaran.
Risiko penembusan palsuDalam pasaran yang bergolak, persilangan EMA mungkin sering berlaku, menyebabkan isyarat yang salah. Penyelesaian: Anda boleh menambah mekanisme pengesahan persilangan, seperti meminta harga untuk mengekalkan arah trend untuk masa tertentu selepas persilangan, atau meningkatkan pengesahan jumlah transaksi.
Trigger kerap di bawah lonjakan sempitDalam persekitaran turun naik yang rendah, harga mungkin sering bergolak di sekitar EMA, dan keluar dengan cepat setelah memenuhi syarat pengembalian, membentuk isyarat tidak berkesan. Penyelesaian: Pertimbangkan untuk menambah penapis turun naik, atau menambah keperluan jarak pengembalian dalam persekitaran turun naik.
Risiko Hentian TetapStrategi: menggunakan peratusan berhenti tetap, tidak mengambil kira perbezaan turun naik pasaran, yang boleh menyebabkan penangguhan yang terlalu kecil dan sering dipicu dalam pasaran yang bergelombang tinggi. Cara penyelesaian: anda boleh mempertimbangkan untuk menggunakan ATR (rata-rata gelombang sebenar) untuk menyesuaikan tahap berhenti secara dinamik.
Kepercayaan kepada satu petunjuk teknikalKaedah penyelesaian: Pertimbangkan untuk menggabungkan jenis lain indikator (seperti indikator momentum, indikator kadar turun naik) untuk pengesahan isyarat.
Berdasarkan analisis di atas, strategi ini boleh dioptimumkan untuk:
Pengaturan parameter dinamik: menukarkan metrik yang tetap dan stop loss kepada penyesuaian dinamik berdasarkan kadar turun naik pasaran (seperti ATR) untuk menyesuaikan diri dengan keadaan pasaran yang berbeza. Ini dilakukan kerana sifat turun naik pasaran akan berubah dari masa ke masa dan parameter tetap mungkin tidak berlaku untuk semua keadaan pasaran.
Analisis pelbagai kerangka masaPeningkatan penghakiman trend pada jangka masa yang lebih tinggi, hanya berdagang di arah trend keseluruhan, mengelakkan perdagangan terbalik dalam trend keseluruhan. Pengoptimuman ini dapat meningkatkan kualiti isyarat dan mengurangkan risiko perdagangan berlawanan.
Pengesahan jumlah transaksi: Tambah syarat pengesahan jumlah dagangan semasa penciptaan isyarat masuk, seperti meminta penembusan sokongan / rintangan pelepasan pada titik penyesuaian. Jumlah dagangan adalah sumber pendorong perubahan harga, yang digabungkan dengan analisis jumlah dagangan dapat meningkatkan keberkesanan isyarat.
Pendapatan dan kerugian berbanding perubahan dinamikMengubah nisbah pulangan risiko mengikut ciri-ciri turun naik pasaran dan struktur harga sejarah secara dinamik, dan bukannya menggunakan nisbah 4:1 yang tetap. Ini membolehkan strategi lebih sesuai dengan pelbagai peringkat dan ciri-ciri pasaran.
Tambah syarat penapisan: Tambahkan penunjuk kekuatan trend pasaran (seperti ADX) sebagai penapis, hanya memulakan strategi di pasaran yang sedang berkembang pesat. Ini dapat mengelakkan terlalu banyak isyarat palsu di pasaran yang lemah atau bergolak.
Mekanisme penguncian keuntungan separaMenambah fungsi hentian sekumpulan, yang mengunci sebahagian keuntungan apabila harga mencapai tahap keuntungan tertentu, dan mengekalkan sisa untuk mengikuti trend. Mekanisme ini dapat mengimbangi keuntungan jangka pendek dan keperluan untuk mengikuti trend jangka panjang.
Pengoptimuman jangka masa pengesanan: Tambah penapis masa perdagangan, elakkan masa turun naik yang tinggi sebelum pembukaan dan penutupan pasaran, atau fokus pada masa perdagangan yang cekap. Efisiensi dan ciri pasaran pada masa yang berbeza sangat berbeza, memilih perdagangan pada masa yang paling sesuai dengan logik strategi dapat meningkatkan prestasi keseluruhan.
Strategi perdagangan berbalik-balik dengan strategi berbalik-balik dengan strategi berbalik-balik dengan kombinasi isyarat persilangan isyarat dan mekanisme pengesahan harga, mewujudkan sistem perdagangan yang mengikuti trend yang lengkap. Strategi ini tidak hanya mengandungi logik masuk dan keluar yang jelas, tetapi juga mempunyai pengurusan dana dan mekanisme kawalan risiko yang baik.
Walau bagaimanapun, strategi masih mempunyai keterbatasan seperti bergantung pada EMA jangka panjang, penilaian indikator teknikal tunggal, dan tetapan parameter tetap. Dengan memperkenalkan langkah-langkah pengoptimuman seperti penyesuaian parameter dinamik, analisis pelbagai jangka masa, pengesahan jumlah perdagangan dan penapisan kekuatan trend, langkah-langkah pengoptimuman ini dapat meningkatkan lagi daya serap dan ketahanan strategi.
Pada akhirnya, strategi ini mewakili pendekatan perdagangan yang seimbang dan stabil, sesuai untuk pedagang yang mempunyai toleransi risiko tertentu dan mencari pendapatan yang stabil dalam jangka masa sederhana dan panjang. Dengan parameter yang ditetapkan dengan bijak dan pengoptimuman strategi yang berterusan, ia dapat mengekalkan prestasi yang agak stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2025-04-13 00:00:00
end: 2025-04-15 10:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=6
strategy("200/500 EMA Retest Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// INPUTS
ema_fast_length = input.int(200, title="Fast EMA Length")
ema_slow_length = input.int(500, title="Slow EMA Length")
retest_tolerance = input.float(0.002, title="Retest Tolerance (%)") // 0.2% by default
risk_reward_ratio = input.float(4.0, title="Risk-Reward Ratio (TP:SL)")
stop_loss_perc = input.float(0.005, title="Stop Loss % (e.g., 0.5%)") // 0.5% default
max_trades_per_day = input.int(2, title="Max Trades Per Day")
// EMA CALCULATIONS
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
// PLOT EMAs
plot(ema_fast, color=color.blue)
plot(ema_slow, color=color.orange)
// CROSS DETECTION
bullish_cross = ta.crossover(ema_fast, ema_slow)
bearish_cross = ta.crossunder(ema_fast, ema_slow)
// STATE TRACKING
var bool in_bullish_trend = false
var bool in_bearish_trend = false
var int trades_today = 0
if ta.change(time("D")) != 0
trades_today := 0
if bullish_cross
in_bullish_trend := true
in_bearish_trend := false
if bearish_cross
in_bullish_trend := false
in_bearish_trend := true
// RETEST CONDITION
bullish_retest = in_bullish_trend and (math.abs(close - ema_fast) / ema_fast <= retest_tolerance)
bearish_retest = in_bearish_trend and (math.abs(close - ema_fast) / ema_fast <= retest_tolerance)
// ENTRIES WITH SL/TP AND TRADE LIMIT
if bullish_retest and trades_today < max_trades_per_day
strategy.entry("Long", strategy.long)
strategy.exit("Long TP/SL", from_entry="Long", stop=close * (1 - stop_loss_perc), limit=close * (1 + stop_loss_perc * risk_reward_ratio))
label.new(bar_index, low, "BUY", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)
trades_today += 1
if bearish_retest and trades_today < max_trades_per_day
strategy.entry("Short", strategy.short)
strategy.exit("Short TP/SL", from_entry="Short", stop=close * (1 + stop_loss_perc), limit=close * (1 - stop_loss_perc * risk_reward_ratio))
label.new(bar_index, high, "SELL", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)
trades_today += 1
// BACKGROUND COLOR WHEN IN POSITION
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : na)
bgcolor(strategy.position_size < 0 ? color.new(color.red, 90) : na)
// ALERTS
if bullish_retest
alert("BUY Retest Triggered!", alert.freq_once_per_bar)
if bearish_retest
alert("SELL Retest Triggered!", alert.freq_once_per_bar)