아이디어 이 아이디어는 간단합니다. 시장이 변할 때, 거래자들이 무감각하게 됩니다. 우리는 그들과 같은 방향으로 거래합니다.
방법 우리는 시장이 먼저 프랙탈을 만들도록 합니다. 우리는 시장이 반대 프랙탈을 만들 수 있도록 우리는 시장이 만든 첫 번째 프랙탈을 깨고, 그 과정에서 많은 거래를 함락시킵니다. 우리는 시장이 갇혀있는 거래자들에게 빠져나갈 기회를 줄 때까지 인내심을 가지고 기다립니다.
어떻게 쓰죠? 초록색 상자는 길고 빨간색 상자는 짧습니다. 상자가 표시될 때마다 위험 기준이 나타납니다. 제한 주문을 설정하고 거래하십시오. 모든 시간 프레임에서 작동합니다
이 스크립트를 좋아하신다면, 이 스크립트를 사용하는 방법에 대한 메모를 남겨주세요. 개인적으로는 더 높은 시간 프레임 편견으로 사용합니다.
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)