
Chiến lược này dựa trên các chỉ số của đường trung bình Mark Dynamic và lọc tín hiệu giao dịch kết hợp với Brin và RSI để thực hiện một chiến lược theo dõi xu hướng chỉ cần làm nhiều hơn không làm rỗng. Chiến lược này đánh giá xu hướng bằng cách tính toán sự thay đổi của đường trung bình Mark Dynamic của giá đóng cửa Hicker và so sánh với Brin để phát ra tín hiệu giao dịch. Kết hợp với bộ lọc RSI, có thể xác định hiệu quả điểm bùng phát của xu hướng và thực hiện theo dõi xu hướng.
Trung tâm của chiến lược này là tính toán biến động của đường trung bình Mark của giá đóng cửa đường Heck. Cụ thể, tính toán chênh lệch đường trung bình Mark của đường K hiện tại so với hai đường K trước và nhân hệ số nhạy cảm để có được giá trị biến đổi đường trung bình Mark chính xác.
Sau đó, so sánh giá trị thay đổi này với chênh lệch giữa đường ray trên và dưới của dải Brin. Nếu sự thay đổi đường trung bình của Mark lớn hơn so với chênh lệch của dải Brin, thì xu hướng được coi là có một đợt bùng nổ. Khi đợt bùng nổ là tích cực, tức là đường trung bình của Mark thay đổi tích cực, sẽ tạo ra tín hiệu đa và đường cột màu xanh lá cây.
Ngoài ra, chiến lược này cũng thiết lập bộ lọc RSI, chỉ phát ra nhiều tín hiệu khi RSI cao hơn ngưỡng thấp, tránh nguy cơ đảo ngược xu hướng.
Các biện pháp giảm thiểu rủi ro bao gồm: điều chỉnh các tham số thích hợp để làm cho nó ổn định hơn, kết hợp với các chỉ số khác để đánh giá xu hướng đảo ngược, chỉ sử dụng trong xu hướng rõ ràng đường dài, v.v.
Chiến lược này có thể được tối ưu hóa:
Thử các nguồn giá khác nhau, chẳng hạn như giá đóng cửa, đường trung bình, để có hiệu quả làm mịn tốt hơn
Điều chỉnh các tham số chu kỳ của đường trung bình Mark và Brin để tối ưu hóa cho các giống khác nhau
Cố gắng thay thế hệ số nhạy cảm bằng tỷ lệ để kết quả chỉ số trực quan hơn
Thêm các bộ lọc khác, chẳng hạn như đường trung bình xu hướng, khối lượng giao dịch, để cải thiện chất lượng tín hiệu
Phát triển chiến lược không đầu, hoạt động ngược theo hình dạng chỉ số
Tham gia hệ thống ngăn chặn thiệt hại để kiểm soát rủi ro tốt hơn
Chiến lược này nói chung là một chiến lược theo dõi xu hướng ổn định hơn. Nó sử dụng đường trung bình động để xác định xu hướng, xác định điểm bùng nổ của Brin, RSI lọc tín hiệu giả, thực hiện một hệ thống xu hướng chỉ làm nhiều hơn. Nhưng cũng có một số rủi ro, cần tối ưu hóa tham số cho các giống và chu kỳ khác nhau và không thể kiếm lợi nhuận từ tình huống giảm.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\
strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')
////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
fastMA = ta.ema(source, fastLength)
slowMA = ta.ema(source, slowLength)
fastMA - slowMA
/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis + dev
calc_BBLower(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis - dev
//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
////////////////////T1 is change in MacD current candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity
////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))
//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0
///////plots difference in macD*Sensitivity, color change if increasing or decreasing.
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')
////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand.
/////////////{this could have been a ratio maybe i will work with that in a different script.}
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////
longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
strategy.entry('up', strategy.long)
strategy.close('up', trendDown > e1)