Strategi Pembalikan Momentum Berdasarkan Pelbagai Tempoh

Penulis:ChaoZhang, Tarikh: 2024-02-27 14:27:49
Tag:

img

Ringkasan

Strategi ini mengenal pasti peluang dagangan dengan mengira nisbah badan candlestick/wick dan menggabungkan penunjuk RSI untuk mengesan keadaan pasaran overbought/oversold.

Logika Strategi

Logik teras strategi ini adalah berdasarkan perkara berikut:

  1. Mengira peratusan badan / lilin lilin: Dengan mengira harga terbuka, dekat, tinggi dan rendah, dapatkan peratusan yang diduduki oleh badan lilin dan lilin. Peratusan lilin di bawah 20% menunjukkan lilin yang kuat.

  2. Mengira peratusan perubahan kekuatan lilin: Mengira besar pergerakan harga dalaman setiap lilin untuk menentukan kekuatan lilin.

  3. Gabungkan dengan RSI untuk mengenal pasti keadaan overbought / oversold: Tetapkan garis ambang overbought dan oversold untuk RSI. RSI di atas garis overbought menandakan keadaan overbought dan sebaliknya untuk oversold. Lilin yang kuat dalam keadaan sedemikian mempunyai kebarangkalian pembalikan yang tinggi.

  4. Menentukan isyarat pembalikan: Apabila peratusan wic < 20% dan kekuatan lilin > 2 x kekuatan purata, bersama dengan penutupan lilin sebelumnya lebih tinggi daripada penutupan lilin semasa, ia menandakan keadaan pendek.

  5. Menentukan stop loss dan mengambil keuntungan: Tetapkan stop loss berasaskan peratusan tetap dan mengambil tahap keuntungan secara berasingan untuk perdagangan panjang dan pendek.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Pengesanan trend dan pembalikan yang berkesan menggunakan perkadaran badan lilin/wick. Mengesan momentum harga dan titik perubahan dengan baik.

  2. Ketepatan isyarat pembalikan yang lebih tinggi dengan menggabungkan perubahan kekuatan lilin dan RSI. RSI boleh disesuaikan memberikan keupayaan pengoptimuman yang lebih besar.

  3. Konfigurasi stop loss/take profit yang munasabah untuk memanfaatkan peluang jangka pendek sambil mengurangkan pendedahan kepada risiko perdagangan.

  4. Kemudahan yang fleksibel untuk parameter untuk mengoptimumkan produk dan jangka masa yang berbeza.

Analisis Risiko

Beberapa risiko yang wujud dalam strategi:

  1. Potensi isyarat palsu semasa gangguan trend yang kuat. Dapat dikurangkan melalui pengoptimuman tempoh perbandingan lilin dan parameter RSI.

  2. Kemungkinan pembalikan yang gagal tidak dapat dihapuskan sepenuhnya. Menjadi panjang dalam trend menurun dan sebaliknya menyebabkan kerugian. Stop loss harus diselaraskan dengan sewajarnya untuk meminimumkan kerosakan.

  3. Prestasi bergantung kepada produk dan jangka masa.

Peluang Peningkatan

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Tempoh penyesuaian halus yang dipertimbangkan dalam mengenal pasti overbought / oversold untuk menentukan kombinasi parameter yang optimum.

  2. Mengoptimumkan ambang RSI overbought / oversold berdasarkan spesifikasi produk.

  3. Uji nisbah stop loss/take profit untuk mendapatkan pelan pengurusan risiko yang ideal.

  4. Mengkategorikan produk mengikut volatiliti untuk penyesuaian parameter yang lebih disasarkan.

  5. Penapis tambahan berdasarkan penunjuk lain boleh meningkatkan ketahanan.

Kesimpulan

Strategi ini sangat praktikal secara keseluruhan untuk mengesan pembalikan dengan memahami maklumat candlestick. Sebagai sistem perdagangan jangka pendek biasa, ia mempunyai keupayaan pengoptimuman yang cukup di seluruh produk dan persekitaran untuk mengesan trend jangka sederhana. Walau bagaimanapun kawalan risiko yang mencukupi melalui kerugian berhenti adalah penting.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("mecha larga study",overlay = true,  max_bars_back = 600)
//Porcentaje Mecha cuerpo
bodyPercent = math.abs(open - close) / (high - low) * 100
wickPercent = 100 - bodyPercent

plot(bodyPercent, "Porcentaje del cuerpo", color.rgb(163, 76, 175))
plot(wickPercent, "Porcentaje de la mecha", color.red)

VelaDeFuerza =  math.abs(((high[0] - low[0])*100)/high)//PORCENTAJE DE VARIACION DE UNA VELA
plot(VelaDeFuerza, color = color.purple)

Promedio = ((VelaDeFuerza[0] + VelaDeFuerza[1] + VelaDeFuerza[2] + VelaDeFuerza[3] + VelaDeFuerza[4]  + VelaDeFuerza[5] + VelaDeFuerza[6] + VelaDeFuerza[7] + VelaDeFuerza[8] + VelaDeFuerza[9] + VelaDeFuerza[10] + VelaDeFuerza[11] + VelaDeFuerza[12] + VelaDeFuerza[13]  + VelaDeFuerza[14] ) / 15)
plot(Promedio, color = color.yellow)


// rsi 
per_Rsi = input.int(14, "Periodo RSI",minval= 11, maxval=20) //inicializo el rsi en 14 periodos pero doy la posibilidad al usuario de cambiarlo
rsi_Sc = input.int(75,"Sobre Compra",minval=68,maxval=80) //ENTRADA DE SOBRE COMPRA DE RSI
rsi_Sv = input.int(25,"Sobre Venta",minval=20,maxval=33) //ENTRADA DE SOBRE VENTA DE RSI
rsi= ta.rsi(close,per_Rsi)//guardo el rsi con los paramentros anteriores en una variable

//logica
MayorPromedio =   Promedio + 0.800
plot(MayorPromedio, color = color.green)

Venta =   bodyPercent > 80   and VelaDeFuerza > Promedio * 2  and close < close[1]
Compra =   bodyPercent > 80  and VelaDeFuerza > Promedio * 2 and close > close[1]


precioVenta = Venta? close : na
precioCompra = Compra? close : na

tp1 = 0.00
sl  = 0.00
tp1 := 0.003
sl := 0.010

TP1short = precioVenta - (precioVenta * tp1)
Slshort = precioVenta + (precioVenta * sl)

TP1long = precioCompra + (precioCompra * tp1)
SLlong = precioCompra - (precioCompra * sl)


name1 = "tp1"
name2 = "tp2"
name3= "SL"




if ( precioVenta ) 
    strategy.entry("short", strategy.short , comment = "Sell  SL: " + str.tostring(Slshort, "0.000")  + " TP1: " + str.tostring(TP1short,"0.000") ) 
    strategy.exit("exit" , "short", stop = Slshort , limit = TP1short ,qty_percent = 100 )  
if ( precioCompra ) 
    strategy.entry("long", strategy.long , comment = "Buy   SL: " + str.tostring(SLlong, "0.000")  + " TP1: " + str.tostring(TP1long,"0.000") )
    strategy.exit("exit" , "long", stop = SLlong  , limit = TP1long ,qty_percent = 100 )

Lebih lanjut