EMA200 và Chiến lược RSI Stochastic

Tác giả:ChaoZhang, Ngày: 2023-09-06 11:28:53
Tags:

EMA200 và Chiến lược RSI Stochastic

Chiến lược này là sự kết hợp của Chỉ số Moving Average biểu tượng (EMA) và Chỉ số Sức mạnh tương đối Stochastic (RSI). Nó được thiết kế để xác định các cơ hội giao dịch dài và ngắn dựa trên sự chuyển động của giá trên hoặc dưới EMA200 và các giá trị Stochastic RSI.

Chiến lược hoạt động như thế nào

Chiến lược sử dụng các điều kiện sau đây để tạo ra tín hiệu nhập cảnh:

Bài viết dài: Giá trên EMA200. Chỉ số RSI Stochastic nằm dưới 20 và đã vượt qua trên chỉ số RSI. Nến hiện tại là nến cao hơn. Cơ thể nến hiện tại ít nhất 5% lớn hơn cơ thể nến trước đó. Bài viết ngắn: Giá nằm dưới đường EMA200. Chỉ số RSI Stochastic ở trên 80 và đã vượt qua dưới chỉ số RSI. Nến hiện tại là nến thấp hơn. Cơ thể nến hiện tại ít nhất 5% nhỏ hơn cơ thể nến trước. Lợi ích của chiến lược

Chiến lược có một số lợi ích tiềm năng, bao gồm:

Nó dựa trên hai chỉ số kỹ thuật được thiết lập tốt. EMA và Stochastic RSI đều được các nhà giao dịch sử dụng rộng rãi và có lịch sử thành công lâu dài. Nó tương đối dễ hiểu và thực hiện. Chiến lược có một số lượng giới hạn các thông số, làm cho nó dễ dàng cho các nhà giao dịch của tất cả các cấp độ kinh nghiệm để hiểu và sử dụng. Nó linh hoạt và có thể được sử dụng trong nhiều điều kiện thị trường khác nhau. Chiến lược có thể được sử dụng để giao dịch cả hai vị trí dài và ngắn, và nó có thể được sử dụng trong cả thị trường xu hướng và dao động. Rủi ro của chiến lược

Như với bất kỳ chiến lược giao dịch nào, cũng có một số rủi ro tiềm ẩn liên quan đến việc sử dụng chiến lược EMA200 và Stochastic RSI, bao gồm:

Chiến lược dựa trên dữ liệu lịch sử. Không có gì đảm bảo rằng chiến lược sẽ có lợi nhuận trong tương lai. Chiến lược có thể dễ bị whipsaw. Đây là khi giá của một tài sản di chuyển nhanh chóng theo cả hai hướng, có thể dẫn đến tổn thất. Chiến lược có thể biến động. Điều này có nghĩa là có nguy cơ mất mát lớn. Kết luận

Chiến lược EMA200 và Stochastic RSI là một chiến lược giao dịch tương đối đơn giản và hiệu quả có thể được sử dụng bởi các nhà giao dịch ở mọi cấp độ kinh nghiệm. Tuy nhiên, điều quan trọng cần nhớ là không có chiến lược giao dịch nào được đảm bảo là có lợi nhuận và các nhà giao dịch nên luôn thận trọng khi sử dụng bất kỳ chiến lược giao dịch nào.


/*backtest
start: 2022-08-30 00:00:00
end: 2023-09-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © eaglezou1006

//@version=5
//strategy("70000%", overlay = true, initial_capital = 100, commission_value = 0.04, commission_type =strategy.commission.percent, pyramiding = 1, default_qty_value = 100, default_qty_type = strategy.cash, currency = currency.USDT)
//Stoch RSI
rsi1 = ta.rsi(close, 14)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, 14), 3)
d = ta.sma(k, 3)
//ema
ema200 = ta.ema(close, 200)
plot(ema200, color = color.white)
//atr
length = 14
smoothing = 'RMA'
m = input(2, 'ATR倍数', group = "用户自定义参数")
src1 = high
src2 = low
pline = true

collong = color.teal
colshort = color.red

a = ta.rma(ta.tr(true), length) * m
x = ta.rma(ta.tr(true), length) * m + src1
x2 = src2 - ta.rma(ta.tr(true), length) * m
p1 = plot(x, title='ATR Short Stop Loss', color=color.new(colshort, 20), trackprice=pline ? true : false)
p2 = plot(x2, title='ATR Long Stop Loss', color=color.new(collong, 20), trackprice=pline ? true : false)

rewardRiskRatio = input.float(defval = 1.5, title = "盈亏比", minval = 1, maxval = 15, step = 0.1, group = "用户自定义参数")
highLowShadowRatio = input.int(defval = 20, title = "上下影线点比(%)", minval = 1, maxval = 100, step = 1, group = "用户自定义参数")
keyCandlestickChange = input.float(defval = 0.5, title = "关键K线涨跌幅(%)", minval = 0.1, maxval = 100, step = 0.1, group = "用户自定义参数")

longCondition = close > ema200 and (k < 20 and d < 20 and ta.crossover(k, d)) and high > high[1] and close[1] > open[1] and (close > open and (high-close) / (high-low) <= highLowShadowRatio / 100 and (close / open) - 1 >= keyCandlestickChange / 100)
shortCondition = close < ema200 and (k > 80 and d > 80 and ta.crossunder(k, d)) and low < low[1] and close[1] < open[1] and (close < open and math.abs(high-open) / math.abs(high-close) <= highLowShadowRatio / 100 and 1 - (close / open) >= keyCandlestickChange / 100 )
plotshape(longCondition, 'Buy', shape.labelup, location.belowbar, color=collong, size=size.small, offset=0)
plotshape(shortCondition, 'Sell', shape.labeldown, location.abovebar, color=colshort, size=size.small, offset=0)

if longCondition
    strategy.entry("Enter Long", strategy.long)
else if shortCondition
    strategy.entry("Enter Short", strategy.short)

Thêm nữa