Chiến lược chuyển động tương đối thực sự

Tác giả:ChaoZhang, Ngày: 2024-01-30 16:04:19
Tags:

img

Tổng quan

Chiến lược TRMMA là một chiến lược theo xu hướng kết hợp Chỉ số sức mạnh tương đối (RSI) và Chỉ số sức mạnh thực (TSI). Nó sử dụng các chỉ số của RSI và TSI để tạo ra tín hiệu mua và bán, với trung bình động để tối ưu hóa chiến lược.

Nguyên tắc

Chiến lược bao gồm các phần chính sau:

  1. Tính toán TSI Tính toán giá trị trơn giản theo hàm số của tỷ lệ thay đổi giá bằng cách trơn giản theo hàm số hai, sau đó chia nó cho giá trị trơn giản theo hàm số của tỷ lệ thay đổi giá tuyệt đối để có được chỉ số TSI.

  2. Tính toán chỉ số RSI Chỉ số RSI với giá đóng như đầu vào và thời gian 5 ngày.

  3. Sự phán xét tín hiệu Một tín hiệu mua được tạo ra khi TSI vượt qua trên đường tín hiệu của nó và RSI vượt qua trên 50.

  4. Màu sợi nến Màu các cây nến dựa trên các tín hiệu để hỗ trợ phán đoán.

  5. Các thông số chiến lược Đặt các thông số như tỷ lệ vị trí và vốn.

Phân tích lợi thế

Chiến lược này kết hợp các chỉ số TSI và RSI để đánh giá hiệu quả xu hướng thị trường và tình huống mua quá mức / bán quá mức, do đó tạo ra các tín hiệu giao dịch. So với việc sử dụng TSI hoặc RSI một mình, nó có thể lọc ra nhiều tín hiệu sai hơn. Ngoài ra, so với các tham số mặc định, chiến lược này áp dụng cài đặt tham số TSI và RSI mạnh mẽ hơn để có được các tín hiệu giao dịch sớm và chất lượng cao hơn.

Phân tích rủi ro

Những rủi ro chính của chiến lược này bao gồm:

  1. Rủi ro tối ưu hóa tham số. Các tham số tối ưu của TSI và RSI có thể khác nhau giữa các thị trường, sản phẩm và khung thời gian. Các tham số cần được tối ưu hóa cho các tình huống cụ thể.

  2. Rủi ro đảo ngược xu hướng. Chính chiến lược tập trung vào xu hướng. Các sự kiện đột ngột gây ra điều chỉnh ngắn hạn hoặc đảo ngược xu hướng trung bình đến dài hạn sẽ dẫn đến tổn thất lớn hơn cho chiến lược.

  3. Rủi ro tín hiệu thường xuyên: So với các thông số mặc định, chiến lược này sử dụng cài đặt thông số hung hăng hơn, có thể tạo ra các tín hiệu giao dịch thường xuyên hơn, mang lại chi phí giao dịch cao hơn và khó khăn thực hiện.

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

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

  1. Ngoài ra lọc tín hiệu bằng cách kết hợp với đường trung bình động và các chỉ số khác để giảm giao dịch thường xuyên.

  2. Kiểm tra sự kết hợp tối ưu của các thông số TSI và RSI trên các thị trường và sản phẩm khác nhau để tìm ra các cài đặt thông số tốt nhất.

  3. Tăng các chiến lược dừng lỗ để kiểm soát rủi ro mất một lần.

  4. Tối ưu hóa quản lý vị trí, tăng vị trí khi xu hướng mạnh hơn và giảm vị trí khi xu hướng trở nên yếu.

Kết luận

Chiến lược TRMMA kết hợp các chỉ số TSI và RSI để xác định thời gian vào và ra, với khả năng nắm bắt xu hướng mạnh mẽ. So với việc sử dụng TSI hoặc RSI một mình, nó có thể lọc hiệu quả các tín hiệu sai. Tính ổn định của chiến lược có thể được tăng thêm thông qua tối ưu hóa tham số, chiến lược dừng lỗ, quản lý vị trí, v.v. Chiến lược này phù hợp với các nhà đầu tư có một số cơ sở định lượng theo đuổi lợi nhuận cao.


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

// "True relative Movement" or "TRM" for short is a system that combines my two favorite indicators: RSI and TSI. I strived to put together an indicator that combined the best of both 
// in order to help discretionary traders predict market direction, weakness and strength. As with most technical indicators there are "Buy and sell" signals. Similiar to Elder Impulse system, 
///TRM paints bars 3 different colors to display 3 different conditions: Blue for "Buy", Pink for "Sell", and gray for "Take profit/Hold". When the bars turn blue, that means all conditions
/// have been met. When they turn pink, no conditions have been met. When they are gray, only one condition has been met. The system is simple, yet effective. A buy signal is prodcued when 
/// TSI is above the signal line, and RSI is above 50, and vice versa for sell signals. I have modified the default parameters for TSI and RSI for more "aggressive" entries and exits. I may later on
/// name this condition "Fast-TRM" and "Slow-TRM" for when default settings for TSI and RSI are applies, as this is a very robust system as well. 

///******ES 1HR, 15MIN/5MIN SYSTEM***** Go long, when all time frame on a buy signal and vice versa. Take profit when the 5 min chart flips to buy or sell depending on what side of the trade you are on. Close or flip
//// long/short when time all time frames flip to Buy/Hold if short and Sell/Hold if long. Use 20EMA for additional confirmation. 

//@version=4
strategy("TKP-TRM Strategy", overlay=true)
Note = input( 0, title = "TSI standard values are 25, 13, 13, and RSI is 14. Can change the default values to these for 'Slow TRM'")
long = input(title="TSI-Long Length", type=input.integer, defval=25)
short = input(title="TSI-Short Length", type=input.integer, defval=5)
signal = input(title="TSI-Signal Length", type=input.integer, defval=14)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
TSI_Signal_Line = (ema(tsi_value, signal))


/////////////////////////////RSI////////////////////////////////////////////////

src = close, len = input(5, minval=1, title="RSILength")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiBuyfilterlevel = input(50, minval = 1, title = "RSI cross above Buy Level")
rsiSellfilterlevel = input(50, minval = 1, title = "RSI cross below Sell Level")

////////////////////////////Bar Coloring//////////////////////////////////////////////////////////

TRM_Buy = ((tsi_value > TSI_Signal_Line) and (rsi > rsiBuyfilterlevel))
TRM_Sell = ( (tsi_value < TSI_Signal_Line) and (rsi <rsiSellfilterlevel))
TRM_Color = TRM_Buy? #3BB3E4 : TRM_Sell? #FF006E : #b2b5be
barcolor(TRM_Color)


///////////////////////////Strategy Paramters////////////////////////////////////////

if (TRM_Buy)
    strategy.entry("Long", strategy.long, comment="Long")

if (TRM_Sell)
    strategy.close("Long", comment="Sell")





Thêm nữa