Strategi Berhenti Mengekor Purata Bergerak


Tarikh penciptaan: 2023-09-19 21:33:48 Akhirnya diubah suai: 2023-09-19 21:33:48
Salin: 2 Bilangan klik: 691
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menghasilkan isyarat beli melalui persilangan EMA cepat untuk membeli rata-rata dan SMA perlahan untuk menjual rata-rata, dan menggunakan ATR untuk mengawal risiko, bertujuan untuk melampaui strategi beli dan pegang dengan jumlah perdagangan yang sedikit.

Prinsip Strategi

  1. Hitung EMA cepat untuk membeli rata-rata dan EMA lambat untuk membeli rata-rata, menghasilkan isyarat beli apabila garis cepat melintasi garis perlahan dan mencapai kekuatan pembelian tertentu.

  2. Hitung EMA pantas untuk menjual garis rata-rata dan SMA perlahan untuk menjual garis rata-rata, menghasilkan isyarat jual apabila garis pantas melintasi garis perlahan.

  3. N nilai purata harian yang digunakan dalam indikator ATR dikalikan dengan kelipatan sebagai stop loss yang dinamik untuk mengawal risiko.

  4. Memulakan strategi, membeli dan menjual semasa pengkajian semula.

  5. Setiap saham mengoptimumkan kombinasi parameter yang berbeza untuk mencari parameter terbaik.

Strategi ini menggabungkan kelebihan trend penghakiman indikator purata bergerak dan stop loss pemantauan dinamik ATR dan isyarat silang, dengan parameter yang dioptimumkan untuk menyesuaikan diri dengan ciri-ciri setiap jenis, dengan tujuan untuk mendapatkan keuntungan tambahan yang melebihi pembelian dan pegangan dengan sedikit perdagangan tepat.

Analisis kelebihan

  1. EMA pantas dan SMA perlahan yang bersilang menghasilkan isyarat perdagangan yang dapat mengenal pasti trend.

  2. Hentikan ATR menyesuaikan kedudukan hentikan mengikut turun naik pasaran, mengawal risiko dengan berkesan.

  3. Dengan optimasi parameter untuk setiap saham, anda boleh meningkatkan kadar keuntungan.

  4. Logik dan peraturan perdagangan yang mudah, mudah dilaksanakan dan disahkan.

  5. Fungsi pengesanan lengkap untuk mengesahkan keberkesanan strategi.

  6. Mencari kestabilan melebihi keuntungan tambahan yang dimiliki.

Analisis risiko

  1. Parameter yang dioptimumkan tidak semestinya sesuai untuk masa depan dan mungkin perlu dioptimumkan semula secara berkala.

  2. EMA dan SMA yang bersilang boleh menghasilkan isyarat yang salah atau isyarat yang terlewat.

  3. Penangguhan ATR mungkin terlalu radikal, dan ia boleh dilonggarkan dengan baik.

  4. Terlalu jarang berdagang, anda mungkin terlepas peluang yang lebih baik.

  5. Kesan kos transaksi perlu dipertimbangkan.

Arah pengoptimuman

  1. Teruskan menguji kombinasi parameter yang berbeza untuk mencari parameter yang optimum.

  2. Cuba masukkan penapis isyarat untuk penunjuk lain.

  3. Optimumkan parameter kitaran ATR, keseimbangan sensitiviti stop loss.

  4. Menilai kesan pelepasan markah kerugian yang sesuai.

  5. Pertimbangkan kaedah yang menggabungkan pembelajaran mesin untuk mencari parameter keunggulan secara automatik.

  6. Kajian mengenai kesan peningkatan frekuensi pembukaan.

ringkaskan

Strategi pergerakan purata yang mengesan hentian, menggabungkan kelebihan sinyal penjanaan silang linear dan risiko kawalan hentian ATR, menyesuaikan diri dengan ciri-ciri setiap saham melalui pengoptimuman parameter, adalah strategi strategi overbought yang mudah dan praktikal. Walaupun parameter yang dioptimumkan tidak menjamin keberkesanan masa depan, strategi ini secara keseluruhan logik perdagangan jelas, operasi yang boleh dilaksanakan, layak untuk diperbaiki dan diuji lebih lanjut, dan mempunyai inspirasi yang baik.

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

//@version=2
//created by XPloRR 04-03-2018

strategy("XPloRR MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100)

testStartYear = input(2005, "Start Year")
testStartMonth = input(1, "Start Month")
testStartDay = input(1, "Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2050, "Stop Year")
testStopMonth = input(12, "Stop Month")
testStopDay = input(31, "Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriodBackground = input(title="Background", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

ema1Period = input(12, "Fast EMA Buy")
sma1Period = input(54, "Slow SMA Buy")
strength1 = input(52, "Minimum Buy Strength")

ema2Period = input(18, "Fast EMA Sell")
sma2Period = input(55, "Slow SMA Sell")
strength2 = input(100, "Minimum Sell Strength")

delta = input(8, "Trailing Stop (#ATR)")

testPeriod() => true

ema1val=ema(close,ema1Period)
sma1val=sma(close,sma1Period)
ema1strength=10000*(ema1val-ema1val[1])/ema1val[1]

ema2val=ema(close,ema2Period)
sma2val=sma(close,sma2Period)
ema2strength=10000*(ema2val-ema2val[1])/ema2val[1]

plot(ema1val,color=blue,linewidth=1)
plot(sma1val,color=orange,linewidth=1)
plot(ema2val,color=navy,linewidth=1)
plot(sma2val,color=red,linewidth=1)

long=crossover(ema1val,sma1val) and (ema1strength > strength1) 
short=crossunder(ema2val,sma2val) and (ema2strength < -strength2)

stopval=ema(close,6)
atr=sma((high-low),15)

inlong=0
buy=0
stop=0
if testPeriod()
    if (inlong[1])
        inlong:=inlong[1]
        buy:=close
        stop:=iff((stopval>(stop[1]+delta*atr)),stopval-delta*atr,stop[1])
    if (long) and (not inlong[1])
        strategy.entry("buy",strategy.long)
        inlong:=close
        buy:=close
        stop:=stopval-delta*atr
plot(buy,color=iff(close<inlong,red,lime),style=columns,transp=90,linewidth=1)
plot(stop,color=iff((short or (stopval<stop)) and (close<inlong),red,lime),style=columns,transp=60,linewidth=1)
if testPeriod()
    if (short or (stopval<stop)) and (inlong[1])
        strategy.close("buy")
        inlong:=0
        stop:=0
        buy:=0