HODL LINE

Schriftsteller:ChaoZhang, Datum: 2022-05-20 16:58:28
Tags:HMA

Dieser Indikator bestimmt Perioden des Bullenmarktes, in denen ein Buy-and-Hold-Investor den Vermögenswert halten kann, und Bärenmarktperioden, in denen er ihn vermeiden sollte. Technisch gesehen ist der Indikator ein asymmetrischer Trendfilter, der darauf abzielt, die Tatsache zu berücksichtigen, dass Marktverkäufe tendenziell schärfer sind als Aufwärtstrends.

Wie zu verwenden Die schrittförmige Linie ist der Haupttrendfilter. Sie ist in einem Aufwärtstrend grün und in einem Abwärtstrend rot gefärbt. Wenn die Glättung eingeschaltet ist, zeichnet der Indikator zusätzlich zum Trendfilter eine lila Linie. Es ist ein Hull Moving Average (HMA) des Preises. In diesem Fall verwendet der Indikator diese Linie anstelle des Preises, um Kreuzungen mit dem Trendfilter zu finden. Wenn der Preis oder die glatte Linie den Trendfilter oben überquert, ist es ein Aufwärtstrendsignal. Der Indikator markiert solche Kreuzungen mit grünen Kreisen. Er färbt auch den Charthintergrund in einem Aufwärtstrend grün. Der Preis oder die lila Linie, die den Trendfilter unten überquert, bedeutet ein Abwärtstrendsignal. Abwärtstrendsignale werden als rote Kreise angezeigt. Der Charthintergrund in einem Abwärtstrend wird rot.

Einstellungen Sensitivität eine Dropdownliste, mit der der Benutzer einen Durchschnittszeitraum des Indikators auswählen kann. Mit der Glättung aktiviert, reagiert der Indikator langsamer auf Preisänderungen, produziert aber gleichzeitig weniger falsche Signale.

Zurückprüfung

img


/*backtest
start: 2022-05-12 00:00:00
end: 2022-05-18 23:59:00
period: 5m
basePeriod: 1m
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/
// © AstrideUnicorn

// Asymmetrical Trend Filter aka HODL Line

//@version=5
indicator("HODL LINE", overlay=true)

// initialize indicator period parameter and the asymmetry paramter
length = 300
asymmetry =  0.05 //input.float(defval=0.05,step=0.01, minval=0.01, maxval=0.3)

// script inputs
sensitivity = input.string(defval="Hold Short Term", title="Sensitivity", options=['Super Sensitive','Hold Short Term', 'Hold Medium Term', 'Hold Long Term'])
use_smoothing = input.bool(defval=true, title="Use Smoothing")


// Set the indicator period based on the choosen sensitivity 
if sensitivity == 'Super Sensitive'
    length:=50

if sensitivity == 'Hold Short Term'
    length:=100

if sensitivity == 'Hold Medium Term'
    length:=300
    
if sensitivity == 'Hold Long Term'
    length:=500    

// Calculate HODL Line - an assymetric trend filter
HODL_line = (ta.highest(close,length) + ta.lowest(close,length))/(2.0 + asymmetry)

// Calculate smoothed price time series
smoothed_price = ta.hma(close,50)

// Use closing price or smoothed price based on the choosen option for smoothing
price_model = use_smoothing ? smoothed_price : close

// Define conditional color for the HODL Line
hodl_line_color = price_model >= HODL_line ? color.green : color.red

// define the HODL Line crossing conditions
crossing_condition_bull = ta.crossover(price_model, HODL_line)
crossing_condition_bear = ta.crossunder(price_model, HODL_line)

// plotting
plot(HODL_line, color = hodl_line_color, linewidth = 2)

plot(crossing_condition_bull?HODL_line:na, color = color.new(color.green,40), style= plot.style_circles, linewidth = 20)
plot(crossing_condition_bear?HODL_line:na, color = color.new(color.red,40), style= plot.style_circles, linewidth = 20)

bgcolor(color.new(hodl_line_color,80))

plot(use_smoothing?price_model:na, color=color.purple, linewidth=2)

if crossing_condition_bull
    strategy.entry("Enter Long", strategy.long)
else if crossing_condition_bear
    strategy.entry("Enter Short", strategy.short)

Verwandt

Mehr