
Chiến lược này được sử dụng để xác định hướng xu hướng bằng cách kết hợp hai đường ngang và chỉ số RSI để xác định hướng xu hướng và mua quá mức khi mua đủ điều kiện mua và bán khi bán đủ điều kiện. Chiến lược này nhằm sử dụng đường ngang để xác định hướng xu hướng, đồng thời sử dụng chỉ số RSI để tránh mua quá mức ở trên cùng của thị trường và làm trống ở dưới cùng của thị trường, để có được lợi nhuận tốt hơn.
Khi đường trung bình 9 chu kỳ nhanh vượt qua đường trung bình 50 chu kỳ chậm, biểu thị xu hướng tăng ngắn hạn chồng lên xu hướng tăng dài hạn, thuộc loại tín hiệu đa đầu điển hình. Trong khi đó, nếu chỉ số RSI lớn hơn 5 điểm của chu kỳ trước và nhỏ hơn 70, nó cho thấy ở khu vực trước khi mua quá mức, thì đây là thời điểm thích hợp hơn.
Khi đường trung bình 9 chu kỳ nhanh vượt qua đường trung bình 50 chu kỳ chậm, nó cho thấy bạn đang ở thị trường trống và cần đặt cược bằng phẳng.
Chiến lược này có thể sử dụng hiệu quả các xu hướng đường dài và trung bình để thu được lợi nhuận ổn định bằng cách xác định định hướng và tránh theo dõi RSI bằng cách đánh giá hai đường trung bình. Tuy nhiên, cũng cần phải cảnh giác về sự chậm trễ của tín hiệu đường trung bình và điều chỉnh các tham số RSI, đồng thời chú ý đến mối quan hệ giữa giá và khối lượng giao dịch.
/*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"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © joshuajcoop01
//@version=5
strategy("Bitpanda Coinrule Template",
overlay=true,
initial_capital=1000,
process_orders_on_close=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
commission_type=strategy.commission.percent,
commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// RSI
length = input(14)
vrsi = ta.rsi(close, length)
// Moving Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)
increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
strategy.entry("Long", strategy.long)
// Moving Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)
condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)
strategy.close('Long', when = condition and timePeriod)