Fractal quebrado: o sonho quebrado de alguém é o seu lucro!

Autora:ChaoZhang, Data: 2022-05-25 17:21:02
Tags:crescentede baixa

Ideia. A ideia é simples: quando o mercado se vira, apanha um grupo de traders desprevenidos.

Método Deixamos o mercado primeiro criar um fractal Então deixamos o mercado criar um fráctil oposto Depois deixamos o mercado quebrar o primeiro fractal que criou, assim, prendendo muitos negócios no processo Então esperamos pacientemente até que o mercado dê a estes comerciantes presos uma chance de sair - e nós negociamos na mesma direcção

Como usar? Caixas verdes são para entrada longa, caixas vermelhas são para curto. Sempre que aparece uma caixa, são os critérios de risco - configure ordens de limite e negocie! Funciona em todos os prazos

Se você gosta deste script, por favor deixe uma nota sobre como você está usando. Pessoalmente, uso-o com um viés de Superior Tempo.

PS1: alguns comerciantes chamam esta quebra da estrutura do mercado, alguns chamam de quebra, eu apenas chamo de Broken Fractal PS2: quebra de um fractal quebrado também é muito potente.

backtest

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)

Relacionados

Mais.