Chiến lược này xác định các mô hình nến búa tăng và sử dụng chỉ số MACD để xác định hướng xu hướng cho xu hướng sau các giao dịch. Trong một thị trường bò, đi dài khi một búa tăng xuất hiện trong khi MACD tăng. Đóng vị trí khi MACD chuyển hướng giảm.
Xác định thép tăng bằng cách tính tỷ lệ body-to-range. Sử dụng MACD để xác định hướng xu hướng. Khi MACD tăng, mua dài khi tín hiệu thép tăng xuất hiện. Đặt dừng lỗ và kích thước vị trí. Ra khi MACD giảm.
Các rủi ro có thể được giảm thiểu bằng cách nới lỏng các tiêu chí mô hình, rút ngắn các tham số MACD, thêm các chỉ số thứ cấp v.v.
Chiến lược này tích hợp phân tích mô hình và chỉ số để xác định xu hướng, cho phép lợi nhuận ổn định.
/*backtest start: 2023-08-18 00:00:00 end: 2023-09-17 00:00:00 period: 3h 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/ // © FenixCapital //@version=4 strategy("Starbux", overlay=true) //VARIABLES //Candlestick Variables body=close-open range=high-low middle=(open+close)/2 abody=abs(body) arange=abs(range) ratio=abody/range longcandle= (ratio>0.6) bodytop=max(open, close) bodybottom=min(open, close) shadowtop=high-bodytop shadowbottom=bodybottom-low //Closing Variables macd=macd(close,12,26,9) [macdLine, signalLine, histLine] = macd(close, 12, 26, 9) //plot(macdLine, color=color.blue) //plot(signalLine, color=color.orange) //plot(histLine, color=color.red, style=plot.style_histogram) rsi=rsi(close,14) sma50= sma(close,50) sma200= sma(close,200) exitrsi=rsi > 76 exitmacd=macdLine >0 and signalLine>0 //exitmacd=crossunder(macdLine,signalLine) stopprice= crossunder(sma50,sma200) //Candlestick Plotting blh = (arange*0.33>=abody and close>open and shadowbottom>=abody*2 and shadowtop<=arange*0.1) plotshape(blh, title= "Bullish Hammer", location=location.belowbar, color=color.lime, style=shape.arrowup, text="Bull\nHammer") //beh = (arange*0.25>=abody and close<open and shadowtop>=abody*2 and shadowbottom<=arange*0.05) //plotshape(beh, title= "Bearish Hammer", color=color.orange, style=shape.arrowdown, text="Bear\nHammer") //bpu = (open>close and close>low and shadowbottom>2*abody) //plotshape(bpu, title= "Black Paper Umbrella", color=color.red, style=shape.arrowdown, text="Black\nPaper\nUmbrella") //Trend Signal bull5= sma50 > sma200 bullmacd=macdLine>=0 and signalLine>=0 bearmacd=macdLine<= 0 and signalLine<=0 //Trading Algorithm longCondition = blh and bearmacd and volume>volume[1] if (longCondition) strategy.order("Buy", true, 1, when=longCondition) strategy.risk.max_position_size(10) //strategy.risk.max_drawdown(25,strategy.percent_of_equity) exitlong = exitmacd if (exitlong) strategy.close_all()