Strategi ini mengenal pasti corak lilin tukul bullish dan menggunakan penunjuk MACD untuk menentukan arah trend untuk trend yang mengikuti perdagangan. Semasa pasaran bull, pergi panjang apabila tukul bullish muncul sementara MACD bullish. Tutup kedudukan apabila MACD bertukar menurun.
Mengenali tukul bullish dengan mengira nisbah badan ke julat. Gunakan MACD untuk menentukan arah trend. Apabila MACD bullish, pergi lama apabila isyarat tukul bullish muncul. Tetapkan stop loss dan saiz kedudukan. Keluar apabila MACD bertukar menurun.
Risiko boleh dikurangkan dengan melonggarkan kriteria corak, memendekkan parameter MACD, menambah penunjuk sekunder dll.
Strategi ini mengintegrasikan analisis corak dan penunjuk untuk penentuan trend, membolehkan keuntungan yang stabil.
/*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()