Chiến lược TTM phá vỡ động lượng


Ngày tạo: 2023-11-21 15:07:38 sửa đổi lần cuối: 2023-11-21 15:07:38
sao chép: 0 Số nhấp chuột: 690
1
tập trung vào
1617
Người theo dõi

Chiến lược TTM phá vỡ động lượng

Tổng quan

Chiến lược này là một chiến lược giao dịch đột phá quyền chọn nhị phân sử dụng chỉ số động lực RSI kết hợp với chỉ số BB của Bollinger Bands. Theo thời gian, sử dụng chỉ số TTM để đánh giá thị trường có đang trong trạng thái thu hẹp hay không, do đó tăng độ tin cậy vào.

Nguyên tắc chiến lược

Lập luận cơ bản của chiến lược là dựa trên sự phá vỡ của tập hợp các chỉ số TTM, kết hợp với các chỉ số Brin và RSI để xác định hướng phá vỡ giá. Cụ thể, chiến lược sử dụng BB 20 chu kỳ và RSI 30 chu kỳ.

Phân tích lợi thế

Chiến lược này có một số ưu điểm:

  1. Sử dụng chỉ số TTM để đánh giá tình trạng giao dịch của thị trường, tránh giao dịch không có ý nghĩa trong việc tổng hợp thị trường. TTMS chỉ số tập hợp nén, bùng nổ có thể đánh giá tốt hơn về hướng xu hướng chính, cung cấp tài liệu tham khảo để mở vị trí.

  2. RSI và BB được sử dụng kết hợp với nhau để đảm bảo khả năng mở vị trí. RSI xác định giá có quá mua hay quá bán; và BB xác định giá có đột phá lớn hay không.

  3. Lập luận chiến lược xem xét một số tối ưu hóa, chẳng hạn như tránh mở vị trí lặp đi lặp lại. Điều này có thể làm giảm phần nào sự chuyển đổi thua lỗ không cần thiết.

Phân tích rủi ro

Chiến lược này có những rủi ro:

  1. Rủi ro phá vỡ thất bại. RSI và BB vẫn có thể bị phá vỡ sai khi chỉ số TTM không xác định được xu hướng chính xác. Chiến lược mở vị trí theo danh sách chỉ số tại thời điểm này có thể được đặt. Để kiểm soát rủi ro này, bạn có thể xem xét giảm quy mô vị trí.

  2. Khi thị trường bị chấn động, dễ bị tổn thất. Khi thị trường bị chấn động, chỉ số TTM không hoạt động tốt. Chỉ số RSI và BB cũng có thể có nhiều tín hiệu sai.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa tham số chỉ số TTM, điều chỉnh chiều dài và yếu tố của chỉ số. Điều này có thể cải thiện phán đoán của chỉ số TTM về tính cân bằng và phá vỡ.

  2. Tối ưu hóa các tham số của RSI và BB. Giảm đúng số chu kỳ, có thể có được tín hiệu đột phá chính xác hơn và kịp thời hơn. Đồng thời, băng thông kênh của BB cũng có thể thử nghiệm các giá trị khác nhau.

  3. Tăng logic dừng lỗ. Chiến lược này không có mức dừng lỗ, để ngăn chặn tổn thất đơn lẻ quá lớn, bạn có thể xem xét thêm dừng di chuyển hoặc dừng mong đợi.

  4. Các tham số khác nhau của giống có thể được thử nghiệm. Chiến lược hiện tại được chạy trên đường 1 phút, đối với các tham số khác của giống ((ví dụ 5 phút), tham số chỉ số có thể được thử nghiệm lại và tối ưu hóa để có được các tham số kết hợp tốt hơn.

Tóm tắt

Chiến lược này là một chiến lược quyền chọn nhị phân sử dụng TTM để xác định sự chính xác của xu hướng, kết hợp với RSI và BB để xác định hướng đột phá. So với chiến lược đột phá đơn giản, thời gian nhập cảnh và tối ưu hóa các tham số chỉ số đều có lợi thế hơn, có thể nâng cao xác suất lợi nhuận. Tuy nhiên, chiến lược này cũng có một số rủi ro thất bại và vấn đề thích nghi với thị trường chấn động.

Mã nguồn chiến lược
/*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)