Идея. Идея проста: когда рынок поворачивается, он ловит кучу трейдеров на произвол судьбы.
Метод Мы позволим рынку сначала создать фрактал Затем мы позволим рынку создать противоположный фрактал Затем мы позволим рынку сломать первый фрактал, который он создал, тем самым ловя в ловушку множество сделок в процессе Затем мы терпеливо ждем, пока рынок не даст этим торговым партнерам шанс выйти, и торгуем в том же направлении.
Как пользоваться? Зеленые ящики для длинного входа, красные - для короткого. Всякий раз, когда появляется коробка, это критерии риска - устанавливают лимитные ордера и торгуют вместе! Работает на всех временных отрезках
Если вам нравится этот сценарий, пожалуйста, оставьте записку о том, как вы его используете. Лично я использую его с предубеждением Высшего Временного Раздела.
PS1: некоторые трейдеры называют это "Разрыв структуры рынка", некоторые называют это "Разрыв", я просто называю это "Разбитый фрактал" PS2: разрыв сломанного фрактала также очень мощный.
обратная проверка
/*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)