Strategi Belian dan Jualan Golden Cross


Tarikh penciptaan: 2023-11-01 17:02:14 Akhirnya diubah suai: 2023-11-01 17:02:14
Salin: 0 Bilangan klik: 656
1
fokus pada
1617
Pengikut

Strategi Belian dan Jualan Golden Cross

Gambaran keseluruhan

Strategi ini digunakan untuk menentukan masa masuk dengan mengira purata bergerak jangka pendek dan purata bergerak jangka panjang dan menetapkan titik berhenti untuk keluar dari kedudukan. Strategi ini adalah strategi trend-following yang tipikal.

Prinsip Strategi

Strategi ini digunakan untuk menilai trend pasaran dengan mengira purata bergerak jangka pendek dan purata bergerak jangka panjang, dan melihat persimpangan mereka. Logiknya adalah seperti berikut:

  1. Hitung purata bergerak mudah 3 hari short_ma sebagai purata bergerak jangka pendek

  2. Hitung purata bergerak mudah 19 hari long_ma sebagai purata bergerak jangka panjang

  3. Apabila pergerakan rata-rata jangka pendek diletakkan di atas rata-rata bergerak jangka panjang, ia memberi isyarat untuk melakukan lebih banyak dan memasuki kedudukan panjang.

  4. Apabila harga naik melebihi harga masuk*Apabila anda mendapat 1 + Stop Loss %, anda perlu menebus semua kedudukan anda.

  5. Apabila pergerakan jangka pendek di bawah purata bergerak jangka panjang, isyarat kosong dikeluarkan dan masuk ke dalam kedudukan kosong

  6. Hadkan jangka masa operasi strategi dengan melakukan pengesanan balik pada tarikh tertentu

  7. Dengan menggunakan purata bergerak mudah 100 hari sebagai penunjuk trend utama, perdagangan hanya dilakukan apabila trend utama meningkat

Strategi ini memanfaatkan sepenuhnya prinsip persilangan emas rata-rata bergerak, memasuki posisi berganda ketika memasuki rata-rata bergerak jangka pendek di atas rata-rata bergerak jangka panjang dalam indeks yang terus meningkat, dan dapat menangkap peluang dalam trend dengan berkesan; keluar dari posisi berganda dan masuk ke posisi kosong ketika memasuki rata-rata bergerak jangka panjang di bawah rata-rata bergerak jangka pendek, dan dapat mengawal risiko dengan berkesan.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Strategi yang jelas dan mudah difahami, mudah difahami dan difahami dengan mudah untuk menilai arah trend melalui penyambungan purata bergerak.

  2. Peraturan penilaian kemasukan adalah mudah dan berkesan, dapat dilakukan secara beransur-ansur, dan mengawal risiko dengan berkesan.

  3. Tetapkan titik berhenti untuk mengunci keuntungan, dan anda boleh menghentikan kerugian tepat pada masanya apabila keadaan berubah.

  4. Hanya berdagang semasa trend besar ke atas boleh menyaring kebanyakan isyarat palsu semasa kejatuhan.

  5. Parameter purata bergerak yang boleh disesuaikan untuk menyesuaikan diri dengan ciri-ciri pasaran yang berbeza.

  6. Tempoh pengesanan boleh ditetapkan untuk tempoh masa tertentu.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Strategi purata bergerak adalah sensitif kepada parameter, dan parameter yang berbeza akan mempengaruhi prestasi strategi.

  2. Ia hanya berdasarkan data sejarah dan tidak dapat menangani keadaan yang tidak biasa.

  3. Kegagalan untuk menangani harga yang melonjak secara berkesan boleh menyebabkan harga melebihi titik penangguhan

  4. Dalam keadaan gegaran mudah terjebak, anda perlu menetapkan titik henti yang wajar.

  5. Hanya sesuai untuk keadaan pasaran yang jelas trend, tidak sesuai untuk pasaran yang bergoyang di atas.

  6. Pilihan jangka masa pengembalian akan mempengaruhi keputusan pengesahan strategi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Cuba kombinasi parameter yang berbeza untuk mencari parameter terbaik, seperti purata bergerak.

  2. Menambah petunjuk teknikal lain untuk membuat penilaian komprehensif, seperti MACD, Bollinger Bands dan lain-lain, untuk meningkatkan keberkesanan keputusan.

  3. Tetapkan Tracking Stop Loss Dinamik untuk mengawal risiko.

  4. Mengoptimumkan kemasukan, logik henti rugi, seperti mempertimbangkan untuk menembusi titik tertinggi awal kemasukan.

  5. Uji data persekitaran pasaran yang berbeza untuk menilai kestabilan strategi.

  6. Pertimbangkan untuk menggunakan model pembelajaran mesin untuk optimasi parameter atau penilaian isyarat.

  7. Menambah rawatan untuk keadaan yang tidak biasa di mana harga melambung tinggi, dan ia boleh menyebabkan kerosakan pada seting.

ringkaskan

Strategi ini dapat menangkap tren naik, menetapkan titik berhenti untuk mengawal risiko, dan memperoleh keuntungan yang lebih baik di pasaran yang jelas. Tetapi strategi ini mempunyai beberapa batasan, perlu terus melakukan ujian pengoptimuman untuk menjadikan strategi lebih stabil dan berkesan. Secara keseluruhan, strategi ini jelas, mudah difahami dan dilaksanakan, sesuai untuk pelajar pemula.

Kod sumber strategi
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ta3MooChi
//@version=5
strategy("전략", overlay=true,process_orders_on_close = true, pyramiding = 100)

short_ma = ta.sma(close,input.int(3, "단기 이평", minval = 1))
long_ma = ta.sma(close, input.int(19,"장기 이평", minval = 1))

trend_ma = ta.sma(close, input.int(100," 추세 이평", minval = 20, group = "추세 이평"))
up_trend = (trend_ma > trend_ma[1])
use_trend_ma = input.bool(true, title = "추세용 이평 사용", group = "추세 이평" )
inTrendMa = not use_trend_ma or up_trend

useDateFilter = input.bool(true, title = "특정 기간 백테스트", group = "기간 백테스트")
backtestStartDate = input(timestamp("1 Jan 2021"), title = "시작날짜", group = "기간 백테스트")
backtestEndDate = input(timestamp("1 Jan 2022"), title = "종료날짜", group = "기간 백테스트")
inTradeWindow = true

longStopPerc = 1 + input.float(3, "최소수익률%", minval = 1)*0.01

longcondition = ta.crossover(short_ma, long_ma)
shortcondition = ta.crossunder(short_ma, long_ma)

if (longcondition) and inTradeWindow and inTrendMa
    strategy.entry("long", strategy.long)

if (shortcondition) and (close > strategy.position_avg_price*longStopPerc) and inTradeWindow
    strategy.close_all()

if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment = "매매 종료")

plot(short_ma,color = color.yellow)
plot(long_ma,color = color.blue)
plot(trend_ma,color = color.gray)