Strategi Pelancongan Trend yang Kuat

Penulis:ChaoZhang, Tarikh: 2024-01-29 16:57:01
Tag:

img

Ringkasan

Strategi ini berdasarkan purata bergerak. Ia berjalan lama selepas pembetulan jangka pendek dalam trend menaik. Ia tergolong dalam strategi trend berikut.

Prinsip Strategi

Strategi ini menggunakan 3 garis EMA dengan tempoh yang berbeza. Garis EMA1 dengan tempoh yang lebih pendek digunakan untuk menilai trend jangka pendek. Garis EMA2 dan EMA3 dengan tempoh yang lebih lama digunakan untuk menentukan trend jangka pertengahan dan panjang, di mana EMA3 mempunyai tempoh yang paling lama. Apabila garis EMA1 jangka pendek naik, ia menunjukkan bahawa ia berada dalam trend menaik jangka pendek. Jika EMA2 di atas EMA3, ia bermakna jangka pertengahan dan panjang juga dalam trend menaik, jadi ini adalah masa yang baik untuk kemasukan panjang. Khususnya, isyarat perdagangan dihasilkan apabila harga melintasi di atas garis EMA1. Untuk mengesahkan lebih lanjut kestabilan trend, ia memerlukan EMA2 dan EMA3 menunjuk ke atas dan bar terakhir juga meningkat dalam bar penapis isyarat, yang membantu mengeluarkan isyarat daripada pembetulan jangka pendek yang salah.

Garis stop loss dan garis mengambil keuntungan ditetapkan untuk mengunci keuntungan dan kerugian. Khususnya, garis stop loss bergerak mengikut nilai ATR, dan garis mengambil keuntungan juga bergerak berdasarkan nilai ATR.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah bahawa ia dapat menangkap trend menaik jangka menengah dan panjang dengan berkesan, sambil juga mengambil kira pembetulan jangka pendek, yang menjadikan masa penahannya dan ruang keuntungan yang besar.

Di samping itu, penetapan stop loss dan mengambil keuntungan juga menjadikan risikonya terkawal.

Analisis Risiko

Risiko terbesar strategi ini adalah bahawa ia tidak dapat menentukan titik pembalikan trend. Jika trend jangka menengah dan panjang berbalik sementara jangka pendek masih meningkat, ia akan menghasilkan isyarat panjang yang salah untuk memasuki pasaran, yang boleh menyebabkan kerugian yang lebih besar.

Di samping itu, kerugian dagangan yang tidak perlu juga boleh berlaku di pasaran terhad julat.

Arahan pengoptimuman

Pertimbangkan untuk menyesuaikan parameter kitaran EMA berdasarkan ciri-ciri jenis perdagangan tertentu untuk lebih sesuai dengan kitaran pertengahan panjang jenis.

Menggabungkan dengan penunjuk lain untuk menentukan akhir penyesuaian jangka pendek boleh mengelakkan kemasukan yang salah.

Pertimbangkan untuk menyesuaikan pekali stop loss berdasarkan nilai ATR, dengan melegakan jarak stop loss yang sesuai apabila ATR besar.

Kesimpulan

Secara amnya, strategi ini adalah trend jangka menengah dan panjang mengikut strategi yang berprestasi baik. Ia menentukan arah trend melalui purata bergerak, masa kemasukan melalui isyarat pulback, dan kunci keuntungan dan kerugian melalui tetapan stop loss dan mengambil keuntungan. Tetapi terdapat juga risiko tertentu mengikuti trend buta. Pedagang perlu membuat penilaian mereka sendiri di pasaran untuk memutuskan sama ada untuk memasuki.


/*backtest
start: 2024-01-21 00:00:00
end: 2024-01-28 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Trend Continuation', shorttitle='Trend_Continuation', overlay=true)

// Input
price = input(close)
MA1_Length = input.int(50, step=1, title='EMA 1 Length')
MA2_Length = input.int(80, step=1, title='EMA 2 Length')
MA3_Length = input.int(200, step=1, title='EMA 3 Length')
numberOfCandles = input(1)
slATRFactor = input(3.5)
tpATRFactor = input(3.5)
ATRLength = input(14)
// switch1=input(true, title="Show Bar Color?")
// switch2=input(true, title="Show Moving Averages?")

// Calculation
MA1 = ta.ema(price, MA1_Length)
MA2 = ta.ema(price, MA2_Length)
MA3 = ta.ema(price, MA3_Length)
prev_price = close[numberOfCandles]


// Strategy
allPositive = true
for i = 0 to numberOfCandles - 1 by 1
    if close[i] < close[i + 1] or close[i] < MA1
        allPositive := false
        break


long = MA2 > MA3 and price > MA1 and ta.crossunder(prev_price, MA1) and allPositive
// short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1)  and change(MA2)<0 ) 


if long
    strategy.entry('Long', strategy.long, comment='Long')

bought = strategy.position_size[0] > strategy.position_size[1]
atrAtLong = ta.valuewhen(bought, ta.atr(ATRLength), 0)


// Stop loss and take profit
slPrice = strategy.position_avg_price - slATRFactor * atrAtLong
tpPrice = strategy.position_avg_price + tpATRFactor * atrAtLong

SL = plot(slPrice, title='SL', style=plot.style_linebr, linewidth=1, color=color.new(color.red, 0))

if price >= tpPrice and price < MA1
    strategy.close('Long')

if price < strategy.position_avg_price
    strategy.exit('Stop Loss', 'Long', stop=slPrice)


// Strategy Alert
alertcondition(long, title='Long Alert', message='Go Long!')
// alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')

// MA trend bar color
// up =  change(MA2)>0 and change(MA3)>0
// dn =  change(MA2)<0 and change(MA3)<0
// bar_color = up?green:dn?red:blue
// barcolor(switch1?bar_color:na)

// MA trend output color
change_1 = ta.change(MA2)
MA2_color = ta.change(MA2) > 0 ? color.lime : change_1 < 0 ? color.red : color.blue
change_2 = ta.change(MA3)
MA3_color = ta.change(MA3) > 0 ? color.lime : change_2 < 0 ? color.red : color.blue

// MA output
// EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
// EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
// fill(EMA2, EMA3, color=silver, transp=50)

color_1 = MA2 > MA3 ? color.green : color.red

EMA1 = plot(MA1, title='EMA 1', style=plot.style_linebr, linewidth=1, color=color_1)
// EMA2 = plot(MA2, title="EMA 2", style=linebr, linewidth=2, color=blue)
// EMA3 = plot(MA3, title="EMA 3", style=linebr, linewidth=3, color=red)



//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)



Lebih lanjut