Trend Purata Pergerakan Mengikuti Strategi Dagangan


Tarikh penciptaan: 2023-12-11 15:05:31 Akhirnya diubah suai: 2023-12-11 15:05:31
Salin: 0 Bilangan klik: 576
1
fokus pada
1621
Pengikut

Trend Purata Pergerakan Mengikuti Strategi Dagangan

Gambaran keseluruhan

Strategi ini menggunakan pengiraan purata bergerak dan kadar perubahan harga, digabungkan dengan garis K dalam tempoh tertentu, untuk menentukan sama ada ia sedang dalam trend menaik atau turun, dan melakukan kenaikan atau penurunan yang sesuai.

Prinsip Strategi

Strategi ini pertama-tama mengira purata bergerak sederhana a dengan panjang l dan kadar perubahan harga dengan panjang l r. Kemudian mengira perbezaan harga K-baris semasa dengan purata bergerak k. Akhirnya, k dikira jumlah keseluruhan K-baris s-root masa lalu.

Apabila sum>0 menunjukkan bahawa ia sedang dalam trend naik, strategi ini akan melakukan lebih banyak. Apabila sum menunjukkan bahawa ia sedang dalam trend menurun, strategi ini akan kosong.

Selepas melakukan shorting, ia akan terus memegang kedudukan sehingga trend berbalik (sum berubah dari positif ke negatif atau dari negatif ke positif), dan ia akan dihapuskan.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah keupayaan untuk menangkap trend dan sesuai untuk perdagangan trend. Secara khusus, terdapat beberapa kelebihan berikut:

  1. Menggunakan purata bergerak untuk menentukan arah trend keseluruhan, ia boleh menapis bunyi pasaran dengan berkesan dan mengunci trend utama.

  2. Menggunakan indikator kadar perubahan harga untuk mengukur intensiti momentum, mengelakkan kehilangan pergerakan yang kuat.

  3. Dengan mempertimbangkan beberapa garis K dalam tempoh tertentu, anda dapat menilai trend dengan lebih tepat dan mengelakkan diri anda daripada dibawa oleh einzelne Ausreißer in die Irre.

  4. Jika trend tidak berubah, anda boleh terus memegang kedudukan dan menikmati keuntungan maksimum dari trend.

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Tidak dapat menentukan dengan tepat kapan trend akan berakhir, mungkin menghentikan kerugian lebih awal atau kehilangan sebahagian keuntungan.

  2. Tidak dapat mengawal jumlah kerugian secara berkesan, dan dalam keadaan yang melampau, kerugian mungkin lebih besar.

  3. Parameter strategi yang tidak betul boleh menyebabkan terlalu banyak perdagangan atau kehilangan beberapa peluang perdagangan.

  4. Ia boleh menyebabkan risiko faedah semalam dan jaminan.

Untuk mengawal risiko, anda boleh menetapkan titik berhenti kerugian, hanya berdagang dengan barangan yang sangat cair, parameter pengoptimuman, dan penggunaan leverage yang bijak.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Uji rata-rata bergerak dan kadar perubahan harga pada pelbagai panjang untuk mencari kombinasi parameter terbaik.

  2. Mencuba trend penilaian dengan penunjuk lain, seperti MACD, untuk meningkatkan lagi ketepatan.

  3. Menambah mekanisme pengurusan kedudukan, seperti penutupan sebahagian selepas keuntungan, dan mengawal kerugian tunggal.

  4. Ia juga boleh digunakan untuk menjimatkan risiko yang mungkin berlaku dalam keadaan yang teruk.

  5. Mengoptimumkan logik pembukaan dan penembusan dan penyaringan penipuan untuk meningkatkan kecekapan dagangan.

ringkaskan

Strategi ini jelas dan mudah untuk dilaksanakan, dengan mengikuti trend untuk melakukan perdagangan jangka panjang, kawalan penarikan balik agak munasabah, sesuai untuk pelabur yang mencari pendapatan yang stabil. Jika mekanisme seperti menghentikan kerugian dan pengurusan kedudukan dapat dioptimumkan lebih lanjut, maka diharapkan untuk mendapatkan pulangan yang lebih baik dalam jangka panjang.

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

//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false)

l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=18)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
    sum := sum + k[i]
//plot(a,color=yellow,linewidth=2,transp=0)
//bc =  iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

////buyEntry = crossover(source, lower)
////sellEntry = crossunder(source, upper)
if sum>0
    strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")
if sum<0
    strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

strategy.initial_capital = 50000
plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2)
hline(0)
//longCondition = sum>0
//exitlong = sum<0

//shortCondition = sum<0
//exitshort = sum>0

//strategy.entry(id = "Long", long=true, when = longCondition)
//strategy.close(id = "Long", when = exitlong)
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

//strategy.entry(id = "Short", long=false, when = shortCondition)
//strategy.close(id = "Short", when = exitshort)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)