Idea Ideanya mudah: apabila pasaran berbalik, ia menjebak sekumpulan peniaga tanpa perisai.
Kaedah Kita biarkan pasaran pertama mencipta fraktal Kami kemudian membiarkan pasaran mencipta fraktal bertentangan Kami kemudian membiarkan pasaran memecahkan fraktal pertama yang dicipta, dengan itu menjebak banyak perdagangan dalam proses Kami kemudian dengan sabar menunggu sehingga pasaran memberikan pedagang terperangkap ini peluang untuk keluar - dan kami berdagang ke arah yang sama
Bagaimana untuk digunakan? Kotak hijau untuk entri panjang, kotak merah untuk pendek. Setiap kali kotak muncul, itu adalah kriteria risiko - menetapkan pesanan had dan perdagangan bersama! Bekerja pada semua jangka masa
Jika anda suka skrip ini, sila tinggalkan nota tentang bagaimana anda menggunakannya. Saya secara peribadi menggunakannya dengan bias Tempoh Tinggi.
PS1: sesetengah peniaga memanggil ini Break struktur pasaran, beberapa memanggilnya Breaker, saya hanya memanggilnya
Ujian belakang
/*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)