Chiến lược chuyển đổi tiền điện tử RSI dài ngắn dao động

Tác giả:ChaoZhang, Ngày: 2023-12-25 13:49:48
Tags:

img

Tổng quan

Chiến lược chuyển đổi tiền điện tử RSI dài ngắn dao động là một chiến lược giao dịch định lượng được thiết kế cho tiền điện tử. Nó kết hợp chỉ số kỹ thuật RSI với chỉ số ICHIMOKU để xác định các tín hiệu dài và ngắn trong thời gian dao động giá và đạt được mức mua thấp và bán cao. Nó phù hợp với khung thời gian trung và dài như 3-4 giờ hoặc lâu hơn.

Chiến lược logic

Chiến lược chủ yếu dựa trên các chỉ số và quy tắc sau:

Chỉ số ICHIMOKU

  • Đường Tenkan: Điểm trung bình của giá cao nhất và thấp nhất trong 20 thanh cuối cùng
  • Kijun Line: Trung điểm của giá cao nhất và thấp nhất trong 50 thanh cuối cùng
  • Đường Senkou A: Điểm trung tâm của Đường Tenkan và Kijun
  • Đường Senkou B: Điểm trung bình của giá cao nhất và thấp nhất trong 120 thanh cuối cùng
  • Đường Chikou: giá đóng cửa 30 thanh trước

Chỉ số RSI

  • Phạm vi từ 0 đến 100
  • Trên 50 chỉ ra tín hiệu tăng, dưới 50 chỉ ra tín hiệu giảm

Quy tắc nhập cảnh
Mở đầu dài: Tenkan vượt qua Kijun (cross vàng) và giá phá vỡ thông qua Senkou A & B Lines, với RSI trên 50 cùng một lúc
Nhập ngắn: Đường thập tự Tenkan dưới Kijun (đường thập tự tử) và giá phá vỡ Senkou A & B Lines, với chỉ số RSI dưới 50 cùng một lúc

Các quy tắc xuất cảnh
Đi ra với tín hiệu ngược lại

Chiến lược này tính đến xu hướng trung bình đến dài hạn, dòng vốn ngắn hạn và điều kiện mua quá mức / bán quá mức để nắm bắt các cơ hội đảo ngược trong khi dao động.

Phân tích lợi thế

1. Phán quyết dựa trên nhiều chỉ số đảm bảo sự chắc chắn cao

Chiến lược này xem xét xu hướng và phán quyết hỗ trợ / kháng cự của ICHIMOKU, điều kiện mua quá nhiều / bán quá nhiều RSI, cũng như dòng vốn dựa trên hướng của thân nến. Điều này đảm bảo các tín hiệu đáng tin cậy.

2. Thích hợp cho dao động, thường xuyên lấy lợi nhuận

Thị trường tiền điện tử có biến động lớn. Chiến lược này có thể nắm bắt đầy đủ các cơ hội đảo ngược trong các dao động và đạt được mức mua thấp và bán cao thường xuyên.

3. Ngăn chặn đuổi theo tăng và đánh bại rút lui, rủi ro có thể kiểm soát được

Chiến lược xem xét toàn diện các xu hướng trung và dài hạn và các tình huống ngắn hạn để tránh rủi ro theo đuổi tăng và đánh bại giảm.

Phân tích rủi ro

1. Có thể bỏ lỡ một số cơ hội xu hướng

Chiến lược này chủ yếu tập trung vào sự đảo ngược, có thể dẫn đến sự sụp đổ thường xuyên trong các giai đoạn xu hướng kéo dài.

2. Biểu tượng duy nhất, không thể đa dạng hóa rủi ro

Chiến lược chỉ giao dịch một biểu tượng duy nhất và không thể đa dạng hóa với rủi ro thị trường có hệ thống.

3. Stop loss được kích hoạt trong các động thái cực đoan

Trong các điều kiện thị trường cực đoan như lỗ hổng hoặc tăng cao, dừng lỗ có thể được kích hoạt buộc phải thoát ra.

Hướng dẫn tối ưu hóa

1. Thêm stop loss cho lỗ đơn thấp hơn

Động stop loss hoặc stop loss phần trăm có thể được sử dụng để khóa lợi nhuận và ngăn chặn hoàn toàn khôi phục.

2. tương quan với chỉ số để đa dạng hóa rủi ro thị trường

Tìm kiếm các cơ hội giao dịch giữa các biểu tượng tương quan cao để đa dạng hóa rủi ro thị trường có hệ thống.

3. Các bộ lọc bổ sung để giảm các giao dịch không hợp lệ

Các bộ lọc như biến động giá hoặc thay đổi khối lượng có thể được thêm vào để tránh các tín hiệu đảo ngược không hợp lệ và cải thiện tỷ lệ lợi nhuận.

Kết luận

Chiến lược chuyển đổi tiền điện tử RSI dài ngắn dao động kết hợp các chỉ số ICHIMOKU và RSI để xác định các điểm đảo ngược cho tiền điện tử, phù hợp để mua thấp và bán có lợi nhuận cao trong các dao động. Nó cũng thiết lập các quy tắc dừng lỗ để kiểm soát rủi ro. Chiến lược có thể được tăng cường hơn nữa bằng cách tối ưu hóa cơ chế dừng lỗ, đa dạng hóa rủi ro thông qua mối tương quan và thêm các bộ lọc có điều kiện, đáng để thử nghiệm trực tiếp.


/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4

strategy(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1  )

UseHAcandles    = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low


//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)




Thêm nữa