Fibonacci-Progression mit Pausen

Schriftsteller:ChaoZhang, Datum: 2022-05-17 10:24:46
Tags:ATR

Dieser Indikator markiert Punkte, an denen der Preis signifikant von einem zentralen Niveau abweicht.

Einstellungen

Methode: Entfernungsmethode, Optionen sind Handwerk oder Atr Größe: Entfernung in Punkten, wenn die gewählte Methode Manual oder Atr-Multiplikator, wenn die gewählte Methode Atr ist Sequenzlänge: Bestimmt die maximale Anzahl der zulässigen signifikanten Abweichungen.

Verwendung

Der Indikator ermöglicht es, potenzielle Umkehrpunkte aufzuzeigen, kann aber auch Trends anhand des zentralen Niveaus ermitteln, wobei bei einem Abwärtstrend ein Aufwärtstrend erkannt wird, wenn das zentrale Niveau über seinem vorherigen Wert liegt und umgekehrt.

Wenn ein Aufwärtstrend erkannt wird und der Preis deutlich nach oben abweicht, wird neben der Fibonacci-Sequenz, die als Multiplikator verwendet wird, ein erstes Kontrollzeichen hervorgehoben. Wenn der Preis nach unten abweicht, wird stattdessen ein Kreuz angezeigt, dann wird die Entfernungsschwelle mit dem nächsten Wert in der Fibonacci-Sequenz multipliziert.

Wenn der Preis von der zentralen Ebene abweicht, so dass die Sequenzlänge größer ist als die vom Benutzer eingestellte Sequenzlänge, wird neben einer neuen zentralen Ebene ein Bruchetikett mit einem Wert angezeigt, der durch den aktuellen Schlusskurs bestimmt wird, während der Fibonacci-Multiplikator auf 1 zurückgesetzt wird.

Die oberen und unteren Extremitäten, die aus der zentralen Ebene und dem Schwellenstand hergestellt werden, sind hervorgehoben und können als Stütze und Widerstände verwendet werden.

Zurückprüfung

img


/*backtest
start: 2022-04-10 00:00:00
end: 2022-05-07 23:59:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © LuxAlgo

//@version=5
indicator("Fibonacci Progression With Breaks [LUX]",overlay=1,max_labels_count=500,max_lines_count=500)
method = input.string('Atr',options=['Atr','Manual'],inline='inline1')
size   = input(1.,'',inline='inline1')
max    = input(3,'Sequence Length')
//----
var fib = array.from(1,1)
var dist = 0.,var avg = 0.,var fib_n = 1,var os = 0

src = close
n = bar_index

if barstate.isfirst
    for i = 1 to max
        array.push(fib,array.get(fib,i-1) + array.get(fib,i))
//----
if method == 'Atr'
    dist := ta.atr(200)*size*array.get(fib,fib_n)
else
    dist := size*array.get(fib,fib_n)

fib_n := math.abs(src-avg) > dist ? fib_n+1 : fib_n
avg := nz(fib_n > max+1 ? src : avg[1],src)
fib_n := fib_n > max+1 ? 1 : fib_n

buy = avg > avg[1]
sell = avg < avg[1]
os := buy ? 1 : sell ? 0 : os

tp = avg != avg[1] ? na : os == 1 ? avg + dist : avg - dist
sl = avg != avg[1] ? na : os == 0 ? avg + dist : avg - dist
//----
css = os == 1 ? #0cb51a : #ff1100
plot0 = plot(src,color=na)
plot1 = plot(avg,color=na)
fill(plot0,plot1,color.new(css,80))
//----
plotshape(buy ? low : na,"Buy Label",shape.labelup,location.absolute,#0cb51a,0,text="B",textcolor=color.white,size=size.tiny)
plotshape(sell ? high : na,"Sell Label",shape.labeldown,location.absolute,#ff1100,0,text="S",textcolor=color.white,size=size.tiny)

plot(tp,'Target',#0cb51a,1,plot.style_linebr)
plot(sl,'Stop',#ff1100,1,plot.style_linebr)


if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)

Verwandt

Mehr