Indikator ini menggunakan rata-rata titik tertinggi dan terendah selama periode waktu tertentu untuk menentukan apakah aset saat ini berada dalam tren naik atau turun.
Ini membantu memvisualisasikan tren saat ini.
Parameter: 1/ panjang: panjang periode waktu di mana tertinggi dan terendah akan dipertimbangkan 2/ sumber harga: sumber yang akan digunakan untuk perhitungan 3/ mode agresif: jika benar, arah tren akan lebih responsif terhadap perubahan harga dan akan bergerak lebih cepat dari tren naik ke tren turun dan sebaliknya.
Gunakan pada jangka waktu yang lebih lama untuk menghindari kebisingan (4h, 12h, 1d dll.)
DISCLAIMER:
Ini bukan saran untuk berdagang. Gunakan dengan risiko Anda sendiri. Penulis skrip ini tidak dapat bertanggung jawab atas kerugian yang terjadi secara langsung atau tidak langsung akibat penggunaan indikator ini.
backtest
/*backtest start: 2022-05-09 00:00:00 end: 2022-05-15 23:59:00 period: 30m 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/ // © levieux //@version=5 indicator("Trendelicious", overlay=true) length=input(defval=30) price=input(defval=hl2, title="Price Source") aggressiveMode=input(defval=false,title="Aggressive Mode") isUptrend(price,length,aggressiveMode) => uptrend= false PP= (ta.highest(price,length)+ta.lowest(price,length))/2 ppChange= ta.change(PP,1) ppFlat= ppChange==0 priceOverPP=ta.crossover(price,PP) priceUnderPP=ta.crossunder(price,PP) risingPrice= ta.rising(price,5) risingPP= ta.rising(PP,5) fallingPrice= ta.falling(price,5) fallingPP= ta.falling(PP,5) uptrendCondition1= price>PP and (ppChange>0 or (ppChange==0 and aggressiveMode)) and (ppChange[1]>0 or (ppChange[1]==0 and aggressiveMode)) and ppChange[2]>=0 and ppChange[3]>=0 uptrendCondition2= (priceOverPP or risingPrice) and ppFlat and aggressiveMode uptrendCondition3= risingPrice and fallingPP and aggressiveMode downtrendCondition1= price < PP and (ppChange<0 or (ppChange==0 and aggressiveMode)) and (ppChange[1]<0 or (ppChange[1]==0 and aggressiveMode)) and ppChange[2]<=0 and ppChange[3]<=0 downtrendCondition2= (priceUnderPP or fallingPrice) and ppFlat and aggressiveMode downtrendCondition3= fallingPrice and risingPP and aggressiveMode if uptrendCondition1 or uptrendCondition2 or uptrendCondition3 uptrend:= true else if downtrendCondition1 or downtrendCondition2 or downtrendCondition3 uptrend:= false else uptrend:= uptrend[1] [PP,uptrend] [trendline,uptrend]= isUptrend(price,length,aggressiveMode) baseLinePlot = plot((open + close) / 2, display=display.none) upTrendPlot = plot(uptrend ? trendline : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrendPlot = plot(not uptrend ? trendline : na, "Down Trend", color = color.red, style=plot.style_linebr) fill(baseLinePlot, upTrendPlot, color.new(color.green, 90), fillgaps=false) fill(baseLinePlot, downTrendPlot, color.new(color.red, 90), fillgaps=false) if uptrend strategy.entry("Enter Long", strategy.long) else if not uptrend strategy.entry("Enter Short", strategy.short)