Chiến lược này thực hiện giao dịch theo dõi giá cổ phiếu bằng cách nhận ra tín hiệu K-line, kết hợp với chỉ số MACD để xác định hướng xu hướng. Trong thị trường bò, khi có hình dạng K-line đa đầu và trong bối cảnh MACD đa đầu, hãy nhập nhiều; Sau khi MACD chuyển sang đầu không, hãy rời khỏi vị trí.
Tính toán tỷ lệ kích thước đoạn thực tế, xác định đường nón đa đầu. Tính toán chỉ số MACD để xác định hướng xu hướng. Khi MACD là đa đầu, nếu có tín hiệu nón đa đầu, hãy tham gia nhiều lần.
Điều kiện nhận dạng hình dạng có thể được nới lỏng thích hợp, rút gọn các tham số MACD, hỗ trợ các chỉ số khác để kiểm soát rủi ro.
Chiến lược này tích hợp hình dạng và chỉ số để đánh giá xu hướng, có thể đạt được lợi nhuận ổn định. Bằng cách điều chỉnh tham số, nó có thể được hoàn thiện hơn nữa và trở thành một chiến lược giao dịch định lượng thực tế.
/*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()