Ý tưởng Ý tưởng rất đơn giản: khi thị trường quay lại, nó bắt một nhóm các nhà giao dịch bất ngờ.
Phương pháp Chúng ta để thị trường tạo ra một fractal Sau đó chúng ta để cho thị trường tạo ra một fractal đối diện Sau đó, chúng tôi để thị trường phá vỡ fractal đầu tiên nó tạo ra, do đó, bẫy rất nhiều giao dịch trong quá trình Sau đó chúng ta kiên nhẫn chờ cho đến khi thị trường cho những nhà giao dịch bị mắc kẹt cơ hội để thoát ra - và chúng ta giao dịch theo cùng một hướng
Làm thế nào để sử dụng? Các hộp màu xanh lá cây là cho bước dài, các hộp màu đỏ là cho ngắn. Bất cứ khi nào một hộp xuất hiện, đó là các tiêu chí rủi ro - thiết lập lệnh giới hạn và giao dịch theo! Hoạt động trên tất cả các khung thời gian
Nếu bạn thích kịch bản này, vui lòng để lại một ghi chú về cách bạn đang sử dụng nó. Cá nhân tôi sử dụng nó với khuynh hướng khung thời gian cao hơn.
PS1: một số nhà giao dịch gọi đây là Break của cấu trúc thị trường, một số gọi nó là Breaker, tôi chỉ gọi nó là
backtest
/*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)