이 전략은 상위 및 하위 대역을 형성하기 위해 특정 기간 동안 최대 및 최소 가격 포인트를 계산합니다. 현재 가격이 상위 또는 하위 대역을 넘을 때, 긴 또는 짧은 포지션을 취합니다. 전략은 주로 트렌드가 강화 될 때 가격의 추세와 거래를 판단합니다.
이 전략의 핵심 지표는 기간 동안 최대 및 최소 가격 포인트를 계산하는 것입니다. 구체적인 계산 방법은 다음과 같습니다.
상단: 좌에서 오른쪽으로 지점의 K선을 스캔하여 최대 높은 지점을 찾고, 왼쪽에서 가장 왼쪽에 있는 1 K선과 오른쪽에서 가장 오른쪽에 있는 1 K선이 모두 이 최대 높은 지점보다 낮는지 결정합니다. 만약 그렇다면, 이 지점은 범위의 상단으로 확인됩니다.
하부 대역: 왼쪽에서 오른쪽으로 지점의 K선을 스캔하여 최소 낮은 점을 찾아내어 왼쪽에서 가장 왼쪽으로 1 K-선과 오른쪽에서 가장 오른쪽으로 1 K-선이 이 최소 낮은 점보다 높는지 결정합니다. 그렇다면 이 지점은 범위의 하단으로 확인됩니다.
이 계산을 반복함으로써 일정 기간 동안 가격의 상위 및 하위 대역을 얻을 수 있습니다. 가격이 상위 대역을 넘어서면 긴 포지션을 취하고 가격이 하위 대역을 넘어서면 짧은 포지션을 취합니다. 이것은 가격 극단 포인트에 의해 트렌드를 결정하는 데 기반한 트렌드 거래 전략을 형성합니다.
이 전략은 동향을 판단하는 방법은 가격 극단점을 통해 동향의 강화 부분을 결정함으로써 매우 간단하며 이는 통합 시나리오를 효과적으로 필터링하고 통합에서 거래를 피할 수 있습니다. 전략의 신호 생성 위치에는 장점이 있으며 트렌드 추적을 쉽게 형성 할 수 있습니다. 또한 전략은 비교적 엄격한 방식으로 신호를 받아 오류 신호를 줄일 수 있습니다.
이 전략은 신호를 상당히 엄격하게 받아들이고, 더 많은 거래 기회를 놓칠 수 있습니다. 또한, 극단 지점은 축적되고 형성하는 데 약간의 시간이 필요하며, 이는 상대적으로 뒤쳐질 것입니다. 매개 변수는 적절한 최적화가 필요합니다. 매개 변수가 부적절하면 잘못된 신호가 발생할 가능성이 높습니다.
극단 점의 판단의 엄격성은 잘못된 판단의 위험을 줄이기 위해 약간의 변동을 허용하기 위해 적당하게 줄일 수 있습니다. 또한 잘못된 신호를 피하기 위해 다른 지표로 확인 할 수 있습니다.
상부 및 하부 대역을 결정하는 주기는 추세를 더 잘 파악하기 위해 적절하게 최적화 할 수 있습니다. 또한 극단 지점을 판단하기위한 스캔 범위도 조정 할 수 있습니다.
거래 기회를 놓칠 가능성을 줄이기 위해, 극한점을 결정하는 조건은 약간의 변동을 허용하기 위해 적당히 완화될 수 있습니다.
단일 지표 판단으로 인한 잘못된 신호의 위험을 피하기 위해 부피 지표, 이동 평균 등과 같은 다른 지표로 확인을 시도 할 수 있습니다.
이 전략은 가격 극단 포인트에 의해 트렌드 특성을 판단하는 방법은 매우 간단하고 효과적입니다. 그것은 효과적으로 통합을 필터링하고 트렌드 거래를위한 트렌드의 강화 시간을 결정할 수 있습니다. 전략의 장점은 트렌드를 쫓기위한 좋은 신호 생성 위치에 있습니다. 단점은 신호가 약간의 지연을 가질 수 있으며 회전을 캡처하는 것이 어렵다는 것입니다. 매개 변수 및 조건을 최적화함으로써이 전략은 비교적 신뢰할 수있는 트렌드 판단 도구가 될 수 있습니다.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/02/2018 // Stock market moves in a highly chaotic way, but at a larger scale, the movements // follow a certain pattern that can be applied to shorter or longer periods of time // and we can use Fractal Chaos Bands Indicator to identify those patterns. Basically, // the Fractal Chaos Bands Indicator helps us to identify whether the stock market is // trending or not. When a market is trending, the bands will have a slope and if market // is not trending the bands will flatten out. As the slope of the bands decreases, it // signifies that the market is choppy, insecure and variable. As the graph becomes more // and more abrupt, be it going up or down, the significance is that the market becomes // trendy, or stable. Fractal Chaos Bands Indicator is used similarly to other bands-indicator // (Bollinger bands for instance), offering trading opportunities when price moves above or // under the fractal lines. // // The FCB indicator looks back in time depending on the number of time periods trader selected // to plot the indicator. The upper fractal line is made by plotting stock price highs and the // lower fractal line is made by plotting stock price lows. Essentially, the Fractal Chaos Bands // show an overall panorama of the price movement, as they filter out the insignificant fluctuations // of the stock price. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// fractalUp(pattern) => p = high[pattern+1] okl = 1 okr = 1 for i = pattern to 1 okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(high[i] < high[i-1] and okr == 1, 1, 0) res = iff(okl == 1 and okr == 1, p, res[1]) res fractalDn(pattern) => p = low[pattern+1] okl = 1 okr = 1 for i = pattern to 1 okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(low[i] > low[i-1] and okr == 1, 1, 0) res = iff(okl == 1 and okr == 1, p, res[1]) res strategy(title="Fractal Chaos Bands", overlay = true) Pattern = input(1, minval=1) reverse = input(false, title="Trade reverse") xUpper = fractalUp(Pattern) xLower = fractalDn(Pattern) pos = iff(close > xUpper, 1, iff(close < xLower, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xUpper, color=red, title="FCBUp") plot(xLower, color=green, title="FCBDn")