Artikel ini memaparkan strategi dagangan kuantitatif yang dikenali sebagai strategi pegangan pegangan dinamik yang menjejaki keuntungan dagangan. Strategi ini mencapai pegangan berhenti dengan cepat di dalam garis 1-2K selepas pasaran yang menguntungkan tiba-tiba muncul dengan menetapkan garis berhenti keluar dinamik berdasarkan petunjuk ATR untuk mengelakkan harga dari memindahkan semula dan menyebabkan kerugian.
Logik perdagangan strategi ini sangat mudah dan jelas. Secara khusus, ia merangkumi langkah-langkah berikut:
Menggunakan persimpangan garis purata dalam bentuk 14th SMA dan 28th SMA sebagai isyarat untuk melakukan banyak dan kosong. Beli banyak apabila garis purata 14th melintasi garis purata 28th; jual kosong apabila garis purata 14th melintasi garis purata 28th.
Mengira penunjuk ATR dan mengaplikasikannya dengan satu kali ganda untuk mendapatkan kedudukan penghentian keluar dinamik. Sebagai contoh, menetapkan panjang ATR kepada 7 kali 1.5 dan mendapatkan lebar saluran penghentian dinamik kepada 1.5 kali daripada fasa 7 ATR.
Apabila arah pegangan berbilang hujung, titik tinggi ditambah lebar saluran penghentian dinamik, mendapat garis penghentian yang lebih banyak. Apabila arah pegangan kosong, titik rendah dikurangkan lebar saluran penghentian dinamik, mendapat garis penghentian kosong.
Sebaik sahaja harga melebihi garisan berhenti dinamik ini, ia akan berhenti keluar dengan serta-merta. Ini dapat menangkap keuntungan dalam 1-2 garisan K selepas pasaran super kuat tiba-tiba muncul.
Melalui langkah-langkah di atas, strategi ini mencapai kesan pengesanan keuntungan pegangan yang mudah tetapi berkesan dan penangguhan yang cepat. Saluran ATR memberikan keupayaan untuk menyesuaikan silinder secara dinamik, sementara keadaan baru 1BAR memastikan bahawa silinder hanya akan dimulakan dalam keadaan pasaran yang menguntungkan secara tiba-tiba. Ini dapat mengurangkan keadaan penangguhan yang terlalu awal.
Strategi trading yang mempunyai beberapa kelebihan ialah:
Idea mudah, jelas, mudah difahami dan sesuai untuk pelajar pemula.
Dengan penangguhan ATR dinamik, anda boleh menjejaki keuntungan pegangan secara automatik dan mengelakkan keuntungan NodeList.
Penambahan 1BAR untuk syarat-syarat tinggi dan rendah, yang membolehkan penangguhan hanya dimulakan selepas pasaran super kuat berlaku, mengurangkan tindakan palsu.
Panjang dan perkalian ATR yang berlainan boleh ditetapkan, dan intensiti pendinginan disesuaikan.
Di samping itu, ia juga boleh menghalang pemain dari keluar dengan cepat dan menangkap pergerakan dengan baik.
Scalable dan mudah digunakan untuk strategi pencegahan lain berdasarkan kerangka kerja ini.
Strategi ini juga mempunyai beberapa risiko, termasuk:
ATR meningkat secara tiba-tiba, yang boleh menyebabkan penghentian awal.
Mereka tidak dapat menapis bunyi pasaran dengan berkesan dan mudah tertipu oleh terobosan palsu.
Dalam kes yang sama, mereka juga tidak dapat membuat penilaian yang berkesan terhadap sektor yang rumit.
Tidak ada mekanisme untuk menghentikan kerugian dan tidak dapat mengawal kerugian dengan berkesan.
Tetapan parameter risiko lalai mungkin tidak sesuai untuk semua jenis dan perlu dioptimumkan.
Untuk mengurangkan risiko di atas, optimalisasi boleh dilakukan dari beberapa aspek berikut:
Menambah mekanisme penapisan, digabungkan dengan penapisan isyarat palsu dengan penunjuk lain.
Menambah strategi menghentikan kerugian, mengawal kerugian tunggal dengan ketat.
Mengoptimumkan parameter menggunakan kaedah Walk Forward Analysis.
Di samping itu, anda juga boleh mengoptimumkan perpaduan parameter untuk pelbagai jenis.
Menambah algoritma pembelajaran mesin untuk membuat keputusan yang lebih bijak.
Mengikut analisis risiko, arah pengoptimuman untuk strategi ini adalah sebagai berikut:
Menambah penapisan isyarat: Boleh menambah penapisan penunjuk lain selepas masuk isyarat, seperti penunjuk yang digabungkan dengan MACD, tali pinggang, dan lain-lain, untuk mengelakkan gangguan kebisingan.
Tambah barisan stop loss: Menambah tetapan barisan stop loss berdasarkan ATR atau stop loss bergerak untuk mengawal kerugian tunggal.
Pengoptimuman parameter: Mengoptimumkan tetapan parameter seperti panjang ATR, perkalian ATR, dan lain-lain melalui kaedah seperti pembelajaran mesin.
Penyesuaian Risiko: Mengatur pengurusan kedudukan dan parameter risiko mengikut ciri-ciri pelbagai jenis dagangan.
Penggabungan model: Menggabungkan strategi ini dengan model lain seperti pembelajaran mesin, rangkaian saraf, dan lain-lain untuk meningkatkan ketepatan keputusan.
campur tangan luarTambahan titik campur tangan buatan, untuk menentukan secara manual lokasi penghalang pada saat-saat penting.
Dengan mengoptimumkan beberapa arah di atas, strategi ini dapat meningkatkan kestabilan pendapatan dengan ketara.
Strategi trading yang digunakan untuk menjejaki keuntungan adalah secara keseluruhan merupakan strategi trading yang sangat praktikal. Ia mempunyai idea yang jelas dan mudah difahami, dengan penyekatan dinamik, anda boleh menjejaki keuntungan secara automatik dan berhenti dengan cepat dalam pasaran yang sangat kuat. Strategi ini juga mempunyai beberapa risiko, yang boleh diperbaiki dari segi penapisan isyarat, penambahan stop loss, pengoptimuman parameter, dan lain-lain. Secara keseluruhan, strategi ini memberikan kami rangka kerja strategi yang sangat baik yang layak untuk kajian dan penerapan lanjut.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Peter_O //@version=5 strategy("TrailingTakeProfit example", overlay=true, margin_long=100, margin_short=100, default_qty_value = 1, initial_capital = 100) longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) if longCondition strategy.entry("Long", strategy.long, comment="long", alert_message="long") if shortCondition strategy.entry("Short", strategy.short, comment="short", alert_message="short") atr_length=input.int(7, title="ATR Length") atr_multiplier = input.float(1.5, title="ATR Multiplier") atr_multiplied = atr_multiplier * ta.atr(atr_length) ttp_top_bracket = strategy.position_size>0 ? high[1]+atr_multiplied : na ttp_bottom_bracket = strategy.position_size<0 ? low[1]-atr_multiplied : na plot(ttp_top_bracket, title="ttp_top_bracket", color=color.lime, style=plot.style_linebr, offset=1) plot(ttp_bottom_bracket, title="ttp_bottom_bracket", color=color.red, style=plot.style_linebr, offset=1) strategy.exit("closelong", from_entry="Long", limit=ttp_top_bracket, alert_message = "closelong") strategy.exit("closeshort", from_entry="Short", limit=ttp_bottom_bracket, alert_message = "closeshort") // var table alertsDisplayTable = table.new(position.top_right, 1, 5, color.black) // if barstate.islastconfirmedhistory // table.cell(alertsDisplayTable, 0, 0, "TradingConnector-compatible alerts sent", text_color=color.white) // table.cell(alertsDisplayTable, 0, 1, "at Long Entry: long", text_color=color.white) // table.cell(alertsDisplayTable, 0, 2, "at Short Entry: short", text_color=color.white) // table.cell(alertsDisplayTable, 0, 3, "at Long Exit: closelong", text_color=color.white) // table.cell(alertsDisplayTable, 0, 4, "at Short Exit: closeshort", text_color=color.white)