Chiến lược này được đánh giá vào thị trường bằng cách tự điều chỉnh các đường trung bình di chuyển và đường xu hướng, và sử dụng chỉ số RSI để quyết định ra khỏi thị trường. Mục tiêu của nó là vào thị trường khi phù hợp với điều kiện xu hướng, dừng lại và thoát ra khỏi khu vực quá mức, đồng thời kiểm soát chỉ giao dịch một lần mỗi tháng.
Xác định chiều hướng của xu hướng tổng thể bằng đường trung bình chuyển động thích ứng với độ dài 99
Đường áp suất trên đường ray được vẽ ở đỉnh địa phương có độ dài 14.
Thêm vào khi giá đóng cửa đã vượt qua và chưa có đơn đặt hàng trong tháng hiện tại
Tính toán RSI 14 chu kỳ khi RSI vượt quá 70
Theo dõi tháng đầu tư cuối cùng, đảm bảo giao dịch chỉ một lần mỗi tháng
Adaptive Moving Average có thể theo dõi động sự thay đổi xu hướng
Kết hợp với đường xu hướng phá vỡ có thể cải thiện độ chính xác nhập cảnh
Chỉ số RSI có thể đánh giá hiệu quả hiện tượng quá mua quá bán, kiểm soát rủi ro trong thời gian thực
Chỉ giao dịch một lần mỗi tháng có thể giảm tần suất giao dịch và phí xử lý
Các quy tắc đơn giản, rõ ràng, dễ hiểu và dễ thực hiện
Thiết lập tham số không đúng có thể dẫn đến nhầm điểm vào tốt nhất
Các chỉ số xuất phát cố định không thể theo kịp sự thay đổi của thị trường
Rủi ro rút lui
Không thể kiểm soát rủi ro của các vị thế dài hạn
Điều kiện lọc quá mức có thể dẫn đến việc không thể nhập cảnh
Kiểm tra các thiết lập tham số khác nhau để tìm tham số tối ưu
Thêm các chỉ số lọc khác để tăng sự ổn định của chiến lược
Phát triển chiến lược dừng lỗ động và theo dõi
Tối ưu hóa logic nhập cảnh, xác định đột phá mạnh mẽ hơn
Các tham số giống và chu kỳ áp dụng cho thử nghiệm
Kết hợp các chỉ số xu hướng để lọc các tín hiệu phá vỡ giả
Chiến lược này tích hợp phân tích xu hướng và chỉ số mua bán quá mức, đạt được hiệu quả theo dõi xu hướng tương đối ổn định. Bằng cách tối ưu hóa thêm các tham số thiết lập, cơ chế thoát ra động, v.v., nó có thể trở thành một hệ thống giao dịch định lượng đáng tin cậy. Nhìn chung, chiến lược này rất dễ sử dụng và đáng để cải thiện và xác minh hơn nữa.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Bannos Strategy', shorttitle='Bannos', overlay=true)
//The provided script is an indicator for TradingView written in Pine Script version 5. The indicator is used to determine entry and exit points for a trading strategy. Here's a detailed breakdown of what the script does:
// Strategy Definition:
// Bannos Strategy is the full name, with a short title Bannos.
// The overlay=true option indicates that the strategy will be overlayed on the price chart.
// Tracking Entry Month:
// A variable lastEntryMonth is set up to track the month of the last entry.
// currentMonth identifies the current month.
// Trend Regularity Adaptive Moving Average (TRAMA):
// It takes an input of length 99 as default.
// It uses adaptive calculations to track trend changes.
// Trendlines with Breaks:
// Identifies local peaks over a given period (in this case, 14) and calculates a slope based on these peaks.
// Relative Strength Index (RSI):
// Uses a length of 14 (default) to calculate the RSI.
// RSI is an oscillation indicator that indicates overbought or oversold conditions.
// Strategy Logic for Long Entry:
// A long position is opened if:
// The close price is above the TRAMA.
// There's a crossover of the close price and the upper trendline.
// The position is taken only once per month.
// Strategy Logic for Long Exit:
// The long position is closed if the RSI exceeds 70, indicating an overbought condition.
// Plotting:
// The TRAMA is plotted in red on the chart.
// A horizontal line is also drawn at 70 to indicate the RSI's overbought zone.
// In summary, this strategy aims to enter a long position when certain trend and crossover conditions are met, and close the position when the market is considered overbought as per the RSI. Additionally, it ensures entries only occur once a month.
//
// Variable pour suivre le mois de la dernière entrée
var float lastEntryMonth = na
currentMonth = month(time)
// Parameters for Trend Regularity Adaptive Moving Average (TRAMA)
length_trama = input(99)
src_trama = close
ama = 0.
hh = math.max(math.sign(ta.change(ta.highest(length_trama))), 0)
ll = math.max(math.sign(ta.change(ta.lowest(length_trama)) * -1), 0)
tc = math.pow(ta.sma(hh or ll ? 1 : 0, length_trama), 2)
ama := nz(ama[1] + tc * (src_trama - ama[1]), src_trama)
// Parameters for Trendlines with Breaks
length_trend = 14
mult = 1.0
ph = ta.pivothigh(length_trend, length_trend)
upper = 0.
slope_ph = 0.
slope_ph := ph ? mult : slope_ph
upper := ph ? ph : upper - slope_ph
// Parameters for RSI
rsiLength = 14
up = ta.rma(math.max(ta.change(close), 0), rsiLength)
down = ta.rma(-math.min(ta.change(close), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// Strategy Logic for Long Entry
longCondition = close > ama and ta.crossover(close, upper) and (na(lastEntryMonth) or lastEntryMonth != currentMonth)
if (longCondition)
lastEntryMonth := currentMonth
strategy.entry('Long', strategy.long)
// Strategy Logic for Long Exit
exitCondition = rsi > 70
if (exitCondition)
strategy.close('Long')
// Plotting
plot(ama, 'TRAMA', color=color.red)
hline(70, 'Overbought', color=color.red)