Strategi TTM Terobosan Momentum

Penulis:ChaoZhang, Tarikh: 2023-11-21 15:07:38
Tag:

img

Ringkasan

Ini adalah strategi perdagangan terobosan pilihan binari yang menggunakan penunjuk momentum RSI digabungkan dengan penunjuk Bollinger Bands BB. Dari segi ketepatan masa, penunjuk TTM digunakan untuk menentukan sama ada pasaran berada dalam keadaan penyatuan, dengan itu meningkatkan kebolehpercayaan kemasukan.

Prinsip

Logik asas strategi ini adalah untuk menentukan arah terobosan berdasarkan Bollinger Bands dan penunjuk RSI di bawah syarat bahawa set penunjuk TTM membentuk terobosan. Khususnya, strategi ini menggunakan 20 tempoh BB dan 30 tempoh RSI. Apabila pasaran menembusi pemampatan, ia menentukan arah pembukaan apabila RSI berada dalam julat fluktuasi tertentu (30-70) dan BB mempunyai terobosan yang besar (0.15 kali julat fluktuasi). Di samping itu, strategi ini juga memeriksa arah pembukaan K-line sebelumnya sebelum membuka kedudukan untuk mengelakkan pembukaan berulang yang tidak perlu.

Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan penunjuk TTM untuk menilai keadaan perdagangan pasaran dan mengelakkan perdagangan yang tidak bermakna di pasaran konsolidasi.

  2. Gabungan RSI dan BB boleh menjadikan kedudukan pembukaan lebih boleh dipercayai. Penunjuk RSI menilai sama ada harga terlalu banyak dibeli atau terlalu banyak dijual; sementara penunjuk BB menilai sama ada harga telah berlaku terobosan besar. Gabungan kedua-duanya menjadikan strategi keuntungan dari trend arah yang kuat.

  3. Logik strategi mempertimbangkan pengoptimuman tertentu seperti mengelakkan pembukaan berulang. Ini dapat mengurangkan pertukaran keuntungan dan kerugian yang tidak perlu hingga tahap tertentu.

Analisis Risiko

Risiko utama strategi ini ialah:

  1. Risiko kegagalan pemecahan. Apabila penunjuk TTM tidak menilai trend dengan tepat, RSI dan BB mungkin masih mempunyai pecah palsu. Pada masa ini, strategi membuka kedudukan berdasarkan penunjuk, dan akhirnya mungkin terperangkap. Untuk mengawal risiko ini, pertimbangkan untuk mengurangkan saiz kedudukan.

  2. Ia mudah untuk kehilangan apabila pasaran berayun. Apabila pasaran berada dalam keadaan berayun, prestasi penunjuk TTM tidak ideal. Penunjuk RSI dan BB juga boleh memberikan beberapa isyarat palsu. Pada masa ini sangat mudah untuk membentuk kerugian. Untuk mengawal risiko ini, elakkan menggunakan strategi ini dalam pasaran berayun yang jelas.

Pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter penunjuk TTM untuk menyesuaikan panjang dan faktor penunjuk.

  2. Mengoptimumkan parameter RSI dan BB. Memendekkan nombor kitaran dengan betul boleh mendapatkan isyarat terobosan yang lebih tepat dan tepat. Pada masa yang sama, lebar jalur saluran BB juga boleh menguji nilai yang berbeza.

  3. Meningkatkan logik stop loss. Oleh kerana strategi tidak menetapkan stop loss, untuk mengelakkan kerugian tunggal menjadi terlalu besar, pertimbangkan untuk menambah stop loss bergerak atau stop loss yang dijangkakan.

  4. Pelbagai jenis parameter boleh diuji. Strategi semasa berjalan pada carta 1 minit. Untuk jenis parameter lain (seperti 5 minit), parameter penunjuk boleh diuji semula dan dioptimumkan untuk mendapatkan kombinasi parameter yang lebih baik.

Kesimpulan

Strategi ini menggunakan TTM untuk menentukan ketepatan trend dan menggunakan RSI dan BB untuk menentukan arah terobosan. Berbanding dengan strategi terobosan mudah, masa kemasukan dan pengoptimuman parameter penunjuknya lebih menguntungkan, yang dapat meningkatkan keuntungan. Tetapi strategi ini juga menimbulkan risiko kegagalan dan masalah penyesuaian dalam pasaran berayun. Ini memerlukan kita untuk menyesuaikan saiz kedudukan semasa penggunaan dan mengelakkannya digunakan di pasaran berayun. Dengan parameter dan pengoptimuman stop loss yang lebih lanjut, strategi ini boleh menjadi strategi perdagangan pilihan yang boleh dipercayai.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy (title="EA_Binary Option Spfrat Strategy", shorttitle="Spyfrate_Binary Option 5min", overlay=false, pyramiding=1999, initial_capital=60000, currency=currency.USD)

// TTM Squeeze code
lengthttm = input(title="Length",  defval=20, minval=0) 
bband(lengthttm, mult) =>
	sma(close, lengthttm) + mult * stdev(close, lengthttm)
keltner(length, mult) =>
	ema(close, lengthttm) + mult * ema(tr, lengthttm)

e1 = (highest(high, lengthttm) + lowest(low, lengthttm)) / 2 + sma(close, lengthttm)
osc = linreg(close - e1 / 2, lengthttm, 0)
diff = bband(lengthttm, 2) - keltner(lengthttm, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? green : red
conso = diff >= 0?1:0

//plot(osc, color=osc_color, style=histogram, linewidth=2)
//plot(0, color=mid_color, style=circles, linewidth=3)

// BB Init
source = close
length = input(50, minval=1)
mult = input(0.2, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)

//RSI CODE
src = close, 
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.05
bbi = bbr - nz(bbr[1]) 
//Rule
long1 = rsi>50.5 and rsi<70 and  bbi>0.15  and osc>0.00100 and conso>0
short1 = rsi<49.5 and rsi>30 and  bbi<-0.15 and osc<-0.00100 and conso>0
//
long = long1[1] == 0 and long1 == 1
short = short1[1] == 0 and short1 == 1
longclose = long[5] == 1
shortclose = short[5] == 1

//Alert

strategy.entry("short", strategy.short, when=short)
strategy.entry("long", strategy.long, when=long)
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)
strategy.close("long",when=longclose)
strategy.close("short",when=shortclose)

//strategy.exit(id="long",qty = 100000,when=longclose)
//strategy.exit(id="short",qty = 100000,when=shortclose)
plot(longclose,"close",color=blue,linewidth=1)
plot(shortclose,"close",color=orange,linewidth=1)
//strategy.exit(id="Stop", profit = 20, loss = 100)

Lebih lanjut