
Strategi ini adalah strategi perdagangan garis pendek yang direka khas untuk carta 15 minit, yang menggabungkan mekanisme pengesanan trend dan pengesahan momentum, sambil menggunakan stop loss dan stop loss yang dinamik berdasarkan turun naik pasaran. Idea utamanya adalah untuk mengenal pasti arah trend utama melalui EMA 50), MACD untuk mengesahkan arah momentum, RSI untuk menyaring keadaan overbought dan oversold, dan menggunakan indikator ATR untuk menetapkan posisi stop loss dan stop loss berdasarkan dinamika pasaran yang tidak menentu.
Strategi ini adalah berdasarkan kepada kerjasama antara beberapa petunjuk teknikal:
Pengenalan Trend: Menggunakan purata bergerak indeks 50 kitaran ((EMA) sebagai penunjuk trend utama. Apabila harga berada di atas EMA, ia dikenali sebagai trend naik; apabila harga berada di bawah EMA, ia dikenali sebagai trend menurun.
Pengesahan kuasaUntuk menentukan pergerakan harga melalui grafik lurus MACD (MACD Histogram). Nilai positif menunjukkan pergerakan naik, nilai negatif menunjukkan pergerakan turun. Penunjuk ini dikira oleh garis cepat (12 kitaran), garis perlahan (26 kitaran) dan garis isyarat (9 kitaran).
Penapis keadaan pasaranRSI antara 50-70 dianggap sebagai bullish tetapi tidak terlalu overbought, dan RSI antara 30-50 dianggap sebagai bearish tetapi tidak terlalu oversold.
Pengurusan RisikoBerasaskan pada purata julat sebenar (ATR) seting stop loss dan seting stop loss. Seting stop loss adalah 1xATR, dan seting stop loss adalah 2xATR, boleh disesuaikan mengikut keutamaan risiko peribadi.
Syarat kemasukan jelas:
Kombinasi syarat bertingkat ini memastikan kualiti isyarat dagangan dan berkesan mengurangkan isyarat yang salah.
Dengan menganalisis kod secara mendalam, strategi ini menunjukkan beberapa kelebihan yang ketara:
Mekanisme pengesahan bergandaIa menggabungkan trend, momentum, dan indikator tiga dimensi overbought dan oversold untuk membentuk mekanisme pengesahan berganda, mengurangkan isyarat palsu, dan meningkatkan ketepatan perdagangan.
Pengurusan risiko penyesuaianMenggunakan ATR untuk menyesuaikan tahap hentian dan hentian secara dinamik, membolehkan strategi menyesuaikan diri dengan keadaan pasaran yang berbeza, secara automatik memperluaskan jarak hentian di pasaran yang bergelombang tinggi, dan mempersempit jarak hentian di pasaran yang bergelombang rendah.
Logik transaksi yang jelasSyarat kemasukan dan keluar didefinisikan dengan jelas, tanpa faktor penilaian subjektif, mudah dilaksanakan dan dikaji semula.
Penyesuaian parameter yang fleksibelSemua parameter utama boleh disesuaikan, termasuk panjang EMA, parameter MACD, nilai RSI dan kelipatan ATR, membolehkan strategi menyesuaikan diri dengan pelbagai keadaan pasaran dan gaya perdagangan individu.
Isyarat perdagangan visual: Kod ini merangkumi fungsi visualisasi isyarat, yang secara intuitif memaparkan titik masuk ke dalam carta, yang membantu memahami dan mengoptimumkan strategi.
Risiko dan ganjaran berbanding tetapDengan menetapkan Stop Loss sebanyak 2 kali ganda, ia memastikan nisbah risiko-keuntungan yang menguntungkan dan membantu keuntungan jangka panjang.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Perkembangan pasaran yang burukDalam pasaran yang bergolak, strategi mungkin menghasilkan beberapa isyarat yang salah, yang menyebabkan kerugian berturut-turut. Penyelesaian adalah dengan menambah syarat penapis pasaran golak tambahan, atau menghentikan perdagangan semasa golak yang jelas.
Risiko penembusan palsu: Harga yang cepat kembali selepas pecah EMA yang singkat boleh mencetuskan isyarat yang salah. Anda boleh mempertimbangkan untuk menambah kitaran pengesahan atau menggabungkan penunjuk kuantiti pertukaran untuk menyaring pecah palsu.
Batasan untuk ATR tetapWalaupun ATR dapat menyesuaikan diri dengan perubahan turun naik, kelipatan tetap mungkin terlalu besar atau terlalu kecil dalam keadaan pasaran tertentu. Penyelesaian adalah dengan menyesuaikan kelipatan ATR secara dinamik berdasarkan turun naik kadar sejarah.
Parameter mengoptimumkan risiko overfitParameter penunjuk yang terlalu optimum boleh menyebabkan strategi berfungsi dengan baik pada data sejarah tetapi tidak berfungsi dalam keadaan sebenar. Untuk mengurangkan risiko ini, disarankan untuk menggunakan pengoptimuman beransur-ansur dan pengesahan ke hadapan.
Risiko pasaran ekstrem: Dalam keadaan pasaran yang bergelombang atau melompat, penutupan mungkin tidak dapat dilaksanakan seperti yang dijangkakan, menyebabkan kerugian melebihi jangkaan. Anda boleh mempertimbangkan untuk menetapkan jumlah penutupan maksimum sebagai perlindungan tambahan.
Setelah menganalisis kod, kami mendapati beberapa kemungkinan untuk mengoptimumkan:
Tambah syarat penapisan masaMengambil kira aktiviti pasaran, penapis masa boleh ditambah, hanya berdagang pada masa-masa tertentu, mengelakkan masa-masa turun naik atau turun naik yang rendah. Cara untuk mewujudkannya adalah dengan menambah kod penilaian syarat masa.
Pengesahan jumlah penghantaran bersepaduStrategi semasa hanya berdasarkan pada harga, dengan penambahan kuantiti transaksi sebagai pengesahan tambahan untuk meningkatkan kualiti isyarat. Secara khusus, anda boleh menambah logik perbandingan kuantiti transaksi dengan purata bergerak.
Dinamika penyesuaian ATR: Mengubah secara automatik stop loss dan stop loss ATR berdasarkan kadar turun naik pasaran sejarah, meningkatkan kadar turun naik pada masa turun naik tinggi, mengurangkan kadar turun naik pada masa turun naik rendah. Ini boleh dilakukan dengan mengira indikator kadar turun naik (seperti perbezaan piawai dalam julat sebenar setiap hari).
Menyenaraikan penapis kekuatan trend: Gunakan penunjuk kekuatan trend seperti ADX, hanya berdagang apabila trend jelas, mengelakkan isyarat salah pasaran yang bergoyang. Cara untuk mencapai ini adalah dengan meningkatkan penilaian syarat ADX.
Kemasukan penghentian ekor: Strategi semasa menggunakan hentian tetap, boleh mempertimbangkan untuk melaksanakan hentian bergerak berdasarkan ATR, mengunci sebahagian keuntungan. ❚ Ini memerlukan perubahan strategi. bahagian keluar, menambah logik hentian yang dijejaki. ❚
Mekanisme pembahagian keuntunganPertimbangkan keuntungan secara beransur-ansur, misalnya mencapai kedudukan kosong 50% pada 1 kali ganda ATR, kedudukan kosong baki pada 2 kali ganda ATR, meningkatkan keuntungan keseluruhan. Ini memerlukan perubahan pada bahagian pelaksanaan perdagangan, untuk mencapai fungsi kosong separa.
Strategi penjejakan trend pada carta 15 minit adalah sistem perdagangan garis pendek yang direka dengan baik yang menyediakan isyarat masuk berkualiti tinggi melalui gabungan EMA, MACD dan RSI, dan menggunakan ATR untuk pengurusan risiko dinamik. Strategi ini sangat sesuai untuk persekitaran pasaran yang jelas trend dan sesuai untuk jenis perdagangan yang berubah dengan cepat.
Kelebihan utama strategi ini terletak pada mekanisme pengesahan berganda dan pengurusan risiko penyesuaian diri, yang terhad kepada prestasi pasaran yang bergolak dan masalah pengoptimuman parameter. Dengan memperkenalkan langkah-langkah pengoptimuman seperti pengesahan jumlah pertukaran, penapisan kekuatan trend dan penyesuaian parameter dinamik, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
Bagi peniaga, ini adalah kerangka strategi yang jelas, mudah difahami dan dilaksanakan, yang boleh menjadi asas yang baik untuk membina sistem perdagangan individu. Walau bagaimanapun, strategi apa pun harus diuji dengan baik sebelum digunakan di lapangan, dan disesuaikan dengan toleransi risiko individu dan keadaan pasaran.
/*backtest
start: 2025-04-02 00:00:00
end: 2025-04-06 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping 15min: EMA + MACD + RSI + ATR-based SL/TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTURI ===
emaLength = input.int(50, title="EMA Length")
macdFast = input.int(12, title="MACD Fast Length")
macdSlow = input.int(26, title="MACD Slow Length")
macdSignal = input.int(9, title="MACD Signal Smoothing")
rsiLength = input.int(14, title="RSI Length")
rsiOB = input.int(70, title="RSI Overbought")
rsiOS = input.int(30, title="RSI Oversold")
atrLength = input.int(14, title="ATR Length")
slATRmult = input.float(1.0, title="SL Multiplier (ATR)")
tpATRmult = input.float(2.0, title="TP Multiplier (ATR)")
// === CALCULE ===
ema = ta.ema(close, emaLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// === CONDIȚII DE INTRARE ===
longCond = close > ema and macdHist > 0 and rsi > 50 and rsi < rsiOB
shortCond = close < ema and macdHist < 0 and rsi < 50 and rsi > rsiOS
// === EXECUTARE TRADE ===
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// === TP & SL DINAMIC PRIN ATR ===
float stopLevel = na
float takeLevel = na
if (strategy.position_size > 0)
stopLevel := close - slATRmult * atr
takeLevel := close + tpATRmult * atr
if (strategy.position_size < 0)
stopLevel := close + slATRmult * atr
takeLevel := close - tpATRmult * atr
strategy.exit("Exit", from_entry="", stop=stopLevel, limit=takeLevel)
// === DESENARE ===
plot(ema, color=color.orange, title="EMA 50")
plotshape(longCond, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Signal", size=size.small)
plotshape(shortCond, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Signal", size=size.small)