Die Ressourcen sind geladen. Beförderung...

Broken Fractal: Jemandes zerbrochener Traum ist dein Gewinn!

Schriftsteller:ChaoZhang, Datum: 2022-05-25 17:21:02
Tags:aufwärtsAbwärts

Eine Idee. Die Idee ist einfach: Wenn sich der Markt umdreht, fängt er ein paar Händler überrascht ein.

Methode Wir lassen den Markt zuerst ein Fraktal Wir lassen den Markt dann ein entgegengesetztes Fraktal erstellen Wir lassen den Markt dann das erste Fraktal durchbrechen, das er geschaffen hat, und fangen dadurch viele Trades in den Prozess ein. Wir warten dann geduldig, bis der Markt diesen eingeschlossenen Händlern die Chance gibt, auszusteigen - und wir handeln in dieselbe Richtung.

Wie benutzt man sie? Grüne Kästchen sind für den langen Einstieg, rote Kästchen sind für den kurzen. Immer wenn eine Box erscheint, sind das die Risikokriterien - Setzen Sie Limit-Orders ein und handeln Sie mit! Arbeitet auf allen Zeiträumen

Wenn Ihnen dieses Skript gefällt, hinterlassen Sie bitte eine Notiz, wie Sie es verwenden. Ich benutze es persönlich mit höherem Zeitrahmen.

PS1: einige Handler nennen dies einen Bruch der Marktstruktur, andere nennen es Breaker, ich nenne es einfach Broken Fractal PS2: Ein Bruch eines gebrochenen Fraktals ist ebenfalls sehr potent.

Zurückprüfung

img


/*backtest
start: 2022-02-24 00:00:00
end: 2022-05-24 00:00:00
period: 1h
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/
// © makuchaku

//@version=4
study("Broken Fractal", overlay=true)
n = input(title="n==1 or 2", defval=2, type=input.integer)
bgColor = input(title="bgColor", type=input.bool, defval=false)
drawBoxes = input(title="drawBoxes", type=input.bool, defval=true)
showBullishSignal = input(title="showBullishSignal", type=input.bool, defval=true)
showBearishSignal = input(title="showBearishSignal", type=input.bool, defval=true)

var fractalCounter = 0
var highAtDownFractal = 0.0
var lowAtUpFractal = 0.0

downFractal = (n == 2 ? (high[n-2] < high[n]) and (high[n-1] < high[n]) and (high[n+1] < high[n]) and (high[n+2] < high[n]) : (high[1] > high[0]) and (high[1] > high[2]))
// plotchar(downFractal, char='⮝', location=location.abovebar, offset=-1*n, color=color.red, transp=0, title="Down Fractal") 
if downFractal
    //line.new(x1=bar_index-1, y1=high[n], x2=bar_index, y2=high[n], extend=extend.none, color=color.silver, style=line.style_solid, width=1)
    if fractalCounter > 0
        fractalCounter := 0
    highAtDownFractal := high[n]
    fractalCounter := fractalCounter - 1

upFractal = (n == 2 ? (low[n-2] > low[n]) and (low[n-1] > low[n]) and (low[n+1] > low[n]) and (low[n+2] > low[n]) : (low[1] < low[0]) and (low[1] < low[2]))
// plotchar(upFractal, char='⮟', location=location.belowbar, offset=-1*n, color=color.green, transp=0, title="Up Fractal")
if upFractal
    //line.new(x1=bar_index-1, y1=low[n], x2=bar_index, y2=low[n], extend=extend.none, color=color.silver, style=line.style_solid, width=1)
    if fractalCounter < 0
        fractalCounter := 0
    lowAtUpFractal := low[n]
    fractalCounter := fractalCounter + 1

sellSignal = (fractalCounter < 0) and (open > lowAtUpFractal) and (close < lowAtUpFractal)
//bgcolor(color=(sellSignal and bgColor and showBearishSignal ? color.red : na), transp=80)
//                      if sellSignal and drawBoxes and showBearishSignal
    //box.new(left=bar_index, top=lowAtUpFractal, right=bar_index+10, bottom=highAtDownFractal, bgcolor=color.new(color.red, 90), border_color=color.new(color.red, 10))


buySignal = (fractalCounter >= 1) and crossover(close, highAtDownFractal)
//bgcolor(color=(buySignal and bgColor and showBullishSignal ? color.green : na), transp=80)
//if buySignal and drawBoxes and showBullishSignal
    //box.new(left=bar_index, top=highAtDownFractal, right=bar_index+10, bottom=lowAtUpFractal, bgcolor=color.new(color.green, 90), border_color=color.new(color.green, 10))





if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)

Verwandt

Mehr