Strategi ini mengesan isyarat K-Line Multiheaded Anvil Line, digabungkan dengan MACD untuk menentukan arah trend, untuk mencapai perdagangan pelacakan harga saham. Dalam pasaran lembu, masuk lebih banyak apabila terdapat bentuk K-Line Multiheaded Anvil Line, dan di latar belakang MACD; keluar dari kedudukan kosong selepas MACD beralih ke kepala kosong.
Hitung nisbah saiz segmen entiti, tentukan garis kerucut berbilang kepala. Hitung penunjuk MACD untuk menentukan arah trend. Apabila MACD berbilang kepala, masukkan lebih banyak, seperti isyarat garis kerucut berbilang kepala. Tetapkan stop loss dan saiz kedudukan.
Syarat pengenalan bentuk boleh dilonggarkan dengan sewajarnya, parameter MACD dikurangkan, penyokong penunjuk lain dan sebagainya untuk mengawal risiko.
Strategi ini mengintegrasikan bentuk dan indikator untuk menilai trend, dapat mencapai keuntungan yang stabil. Dengan penyesuaian parameter dan lain-lain, ia boleh menjadi strategi perdagangan kuantitatif yang praktikal.
/*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()