Strategi ini berdasarkan penunjuk Supertrend, digabungkan dengan analisis trend pasaran pelbagai jangka masa, dan menggunakan kaedah saluran goyangan untuk mengenal pasti peluang kemasukan.
Strategi ini mengintegrasikan analisis pelbagai jangka masa dan penunjuk penjejakan trend untuk memahami trend utama sambil mencari peluang kemasukan khusus.
/*backtest start: 2022-12-18 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h 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/ // © ramki_simple // Thanks to LonesomeTheBlue for the original code //@version=4 strategy("Multi Supertrend with no-repaint HTF option strategy", overlay = true, shorttitle='Multi Supertrend') //auto higher time frame HTFAuto = timeframe.period == '1' ? '5' : timeframe.period == '3' ? '15' : timeframe.period == '5' ? '15' : timeframe.period == '15' ? '60' : timeframe.period == '30' ? '60' : timeframe.period == '45' ? '60' : timeframe.period == '60' ? '240' : timeframe.period == '120' ? '240' : timeframe.period == '180' ? '240' : timeframe.period == '240' ? 'D' : timeframe.period == 'D' ? 'W' : '5W' HTFSelection = input(title='Select HTF Automatically for Additional Supertrend', type=input.bool, defval=false) HTFUserSel = input(title='Select Higher Timeframe for Additional Supertrend',type=input.resolution, defval ='') HTF = HTFSelection ? HTFAuto : HTFUserSel Mult1 = input(title='Multiplier for Default Supertrend', defval=3.0, minval = 0, maxval = 10) Period1 = input(title='Period for Default Supertrend', defval=10, minval = 1, maxval = 100) Mult2 = input(title='Multiplier for Additional Supertrend', defval=2.0, minval = 0, maxval = 10) Period2 = input(title='Period for Additional Supertrend', defval=14, minval = 1, maxval = 100) chbarcol = input(true, title = "Change Bar Color") [Trailings, Trend] = supertrend(Mult1, Period1) linecolor = Trend == -1 and Trend[1] == -1 ? color.teal : Trend == 1 and Trend[1] == 1 ? color.red : color.new(color.white, 100) plot(Trailings, color = linecolor, linewidth = 2,title = "SuperTrend") f_Security(_symbol, _res, _src) => security(_symbol, _res, _src[1], lookahead = barmerge.lookahead_on) nonVectorSupertrend(Mult, Period) => [Trail_, Trend_] = supertrend(Mult, Period) Trail_*Trend_ [TrailingslHtf, TrendHtf] = supertrend(Mult2, Period2) if HTF != timeframe.period and HTF != '' CompositeTrailHtf = f_Security(syminfo.tickerid, HTF,nonVectorSupertrend(Mult2, Period2) ) TrailingslHtf := abs(CompositeTrailHtf) TrendHtf := CompositeTrailHtf > 0 ? 1 : -1 linecolorHtf = TrendHtf == -1 and TrendHtf[1] == -1 ? color.blue : TrendHtf == 1 and TrendHtf[1] == 1 ? color.maroon : color.new(color.white, 100) plot(TrailingslHtf, color = linecolorHtf, linewidth = 3, title = "Supertrend Higher Time Frame") barcolor_ = Trend == -1 and TrendHtf == -1 ? color.lime : Trend == 1 and TrendHtf == 1 ? color.red : color.white barcolor(color = chbarcol ? barcolor_ : na) vwapfilter = input(false) Long = Trend == -1 and TrendHtf == -1 Short = Trend == 1 and TrendHtf == 1 strategy.entry("enter long", true, 1, when = Long and not Long[1] and (vwapfilter and close > vwap or not vwapfilter)) strategy.entry("enter short", false, 1, when = Short and not Short[1] and (vwapfilter and close < vwap or not vwapfilter)) strategy.close("enter long", when = Long[1] and not Long) strategy.close("enter short", when = Short[1] and not Short)