Strategi Stop-Loss-Take Profit Bidirectional Berdasarkan Perpindahan Stochastic

Penulis:ChaoZhang, Tarikh: 2024-03-08 15:12:42
Tag:

img

Ringkasan

Strategi ini menggunakan isyarat persilangan dari Osilator Stochastic untuk mencetuskan operasi beli dan jual. Apabila garis %K melintasi di atas garis %D dan nilai %K di bawah 20, ia membuka kedudukan panjang; apabila garis %K melintasi di bawah garis %D dan nilai %K di atas 80, ia membuka kedudukan pendek. Di samping itu, strategi ini menetapkan jarak keuntungan dan hentian kerugian untuk menguruskan kedudukan dan mencegah pengembangan kerugian. Di samping itu, strategi ini juga menetapkan syarat logik untuk menutup kedudukan. Apabila Osilator Stochastic menunjukkan isyarat persilangan bertentangan dengan isyarat pembukaan, ia akan menutup kedudukan panjang atau pendek yang sepadan walaupun harga mengambil keuntungan atau hentian kerugian belum dicapai.

Prinsip Strategi

  1. Mengira nilai %K dan %D dari Osilator Stochastic 14 tempoh dan meluruskannya menggunakan purata bergerak mudah.
  2. Menentukan sama ada baris %K dan baris %D telah bersilang:
    • Apabila garisan %K melintasi di atas garisan %D dan nilai %K di bawah 20, ia mencetuskan isyarat beli dan membuka kedudukan panjang.
    • Apabila garisan %K melintasi di bawah garisan %D dan nilai %K melebihi 80, ia mencetuskan isyarat jual dan membuka kedudukan pendek.
  3. Tetapkan jarak mengambil keuntungan dan berhenti kerugian (dalam Tik untuk menguruskan kedudukan terbuka:
    • Untuk kedudukan panjang, tetapkan harga mengambil keuntungan TP di atas harga masuk dan harga berhenti kerugian SL di bawah harga masuk.
    • Untuk kedudukan pendek, tetapkan harga mengambil keuntungan TP di bawah harga masuk dan harga stop loss SL di atas harga masuk.
    • Apabila harga mencapai harga mengambil keuntungan atau harga stop loss, tutup kedudukan yang sepadan.
  4. Tetapkan syarat logik untuk menutup kedudukan:
    • Apabila garis %K melintasi di bawah garis %D dan nilai %K adalah kurang daripada atau sama dengan 80, tutup semua kedudukan panjang.
    • Apabila garis %K melintasi di atas garis %D dan nilai %K adalah lebih besar daripada atau sama dengan 20, tutup semua kedudukan pendek.

Analisis Kelebihan

  1. Strategi ini menggunakan Stochastic Oscillator sebagai penunjuk isyarat perdagangan utama, yang digunakan secara meluas dalam perdagangan kuantitatif dan dapat menangkap keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual.
  2. Strategi menetapkan kedua-dua mengambil keuntungan / berhenti kerugian dan syarat logik untuk menutup kedudukan, yang boleh mengawal risiko hingga tahap tertentu dan mengelakkan pengembangan kerugian.
  3. Logik strategi adalah jelas, mudah difahami dan dilaksanakan, sesuai untuk pemula untuk belajar dan menggunakan.

Analisis Risiko

  1. Stochastic Oscillator boleh menghasilkan banyak isyarat palsu dalam pasaran yang bergolak, yang membawa kepada kekerapan perdagangan yang tinggi dan peningkatan kos transaksi.
  2. Strategi ini tidak menyesuaikan kedudukan secara dinamik, dan jarak mengambil keuntungan dan berhenti rugi tetap mungkin tidak berkesan mengawal risiko semasa turun naik pasaran yang teruk.
  3. Parameter dalam strategi (seperti tempoh Osilator Stochastic, mengambil keuntungan dan jarak stop loss, dll.) tetap dan tidak dioptimumkan untuk keadaan pasaran yang berbeza, yang mungkin mempengaruhi kesesuaian strategi.

Arah pengoptimuman

  1. Pertimbangkan untuk memperkenalkan penunjuk teknikal lain atau penunjuk sentimen pasaran yang akan digunakan bersama-sama dengan Osilator Stochastic untuk meningkatkan kebolehpercayaan isyarat perdagangan dan mengurangkan isyarat palsu.
  2. Mengoptimumkan pengurusan kedudukan dengan menyesuaikan jarak mengambil keuntungan dan menghentikan kerugian secara dinamik berdasarkan keadaan turun naik pasaran, atau mengamalkan kaedah pengurusan wang yang lebih maju seperti Kriteria Kelly.
  3. Menggunakan kaedah pengoptimuman seperti algoritma genetik dan carian grid untuk mengoptimumkan parameter strategi dan mencari kombinasi parameter optimum yang menyesuaikan diri dengan keadaan pasaran yang berbeza.
  4. Pertimbangkan untuk menambah syarat penapisan, seperti tempoh masa dagangan dan turun naik instrumen dagangan, untuk mengurangkan dagangan di bawah keadaan pasaran yang tidak menguntungkan.

Ringkasan

Strategi stop-loss take-profit bidirectional berdasarkan crossover Stochastic adalah strategi perdagangan kuantitatif yang mudah dan mudah difahami. Ia mencetuskan operasi membeli dan menjual melalui isyarat crossover dari Osilator Stochastic dan menetapkan mengambil keuntungan / berhenti kerugian dan syarat logik untuk menutup kedudukan untuk menguruskan risiko. Kelebihan strategi ini adalah bahawa logiknya jelas dan sesuai untuk pemula untuk belajar dan menggunakan; Walau bagaimanapun, ia juga mempunyai beberapa risiko, seperti Osilator Stochastic boleh menghasilkan banyak isyarat palsu di pasaran yang bergolak, dan kaedah pengurusan kedudukan tetap mungkin tidak menyesuaikan diri dengan keadaan pasaran yang berbeza. Untuk meningkatkan lagi prestasi strategi, kita boleh memperkenalkan penunjuk lain, mempertimbangkan pengurusan kedudukan, pengoptimuman parameter, dan menambahkan templat penapisan. Secara umum, strategi ini boleh berfungsi sebagai strategi perdagangan asas, dan melalui pengoptimuman dan peningkatan berterusan, ia dijangka mencapai hasil yang baik dalam perdagangan sebenar.


/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("How to force strategies fire exit alerts not reversals", initial_capital = 1000, slippage=1, commission_type = strategy.commission.cash_per_contract, commission_value = 0.0001, overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(600, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(1200, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")

Lebih lanjut