この指標は,資産が現在上昇傾向か下落傾向にあるかどうかを判断するために,一定期間における最高点と最低点のローリングミドルを使用します.
現在の傾向を視覚化するのに役立ちます
パラメーター: 1/長さ:最高値と最低値が考慮される期間長さ 2/ 価格源: 計算に使用される源 3/ アグレシブモード:もし真実なら,トレンド方向は価格変化により反応し,上昇傾向から下落傾向へ,そして逆の方向により速く移動します.
騒音を避けるためにより長い時間枠で使用 (4h, 12h, 1dなど)
免責事項
これは取引のアドバイスではありません.自分のリスクで使用してください. このスクリプトの作成者は,この指標の使用によって直接的または間接的に発生する損失に対して責任を負いません.
バックテスト
/*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)