이 전략은 이동 평균에 기반한 피보나치 팽창 통로를 계산하여 중요한 지지와 저항 가격 영역을 식별하고 거래자가 시장의 잠재적 인 역전을 예측하는 데 도움이됩니다.
이 전략의 핵심은 이동 평균에 기반한 세 개의 켈트너 채널을 계산하는 것으로, 이 채널들은 피포나치 채널의 상하한을 결정하는데 도움을 준다. 기본 피포나치 확장 수준은 1.618·2.618·4.236이다. 이 수준들은 트레이더들이 중요한 지지 및 저항 영역을 식별하는데 도움을 주는 기준점으로 사용된다.
가격 동작을 분석할 때, 거래자는 극한의 피보나치 채널, 즉 채널의 상하 경계에 주목할 수 있다. 가격이 몇 개의 K 라인에서 거래되고, 그 다음 채널 내에 돌아간다면, 이것은 잠재적인 반전을 나타낼 수 있다. 이 패턴은 가격이 일시적으로 그것의 정상적인 범주에서 벗어났음을 나타내고, 수정될 수 있다.
피보나치 채널 지표의 정확도를 높이기 위해, 거래자는 일반적으로 여러 시간 프레임을 사용합니다. 짧은 신호와 더 큰 시간 프레임의 상황을 서로 조화시켜 거래자는 전체 시장의 추세를 더 잘 이해할 수 있습니다. 일반적으로 성공 가능성을 높이기 위해 더 큰 시간 프레임의 방향으로 거래하는 것이 좋습니다.
잠재적 인 역점을 식별하는 것 외에도 거래자는 입구와 출구 지점을 결정하기 위해 피보나치 채널 지표를 사용할 수 있습니다. 단기 지원 및 저항 수준을 채널에서 도출하여 거래 의사 결정에 귀중한 정보를 제공 할 수 있습니다.
트렌드를 분석하는 또 다른 유용한 도구는 중간선의 기울기, 즉 피보나치 채널 지표의 중간선이다. 중간선의 기울기는 트렌드의 강도와 방향을 나타낼 수 있다. 거래자는 시장 동력에 대한 정보를 얻기 위해 기울기를 모니터링하고 현명한 거래 결정을 내릴 수 있다.
이 전략의 주요 장점은 다음과 같습니다.
중요한 지지 및 저항 영역을 식별하여 가격 반전 지점을 예측하는 데 도움이 됩니다.
다중 시간 프레임 분석과 함께 거래 신호의 정확도를 높일 수 있습니다.
출입구와 출입구 지점을 명확하게 식별할 수 있습니다.
중선 기울기를 분석하여 시장의 강도와 방향을 판단할 수 있다.
피보나치 이론에 기초하여, 자연 비율을 사용하여 중요한 가격 수준을 식별한다.
이 전략의 주요 위험은 다음과 같습니다.
모든 기술적 분석 지표와 마찬가지로, 이 전략은 가격 움직임과 반전을 100% 정확하게 예측할 수 없습니다. 지표는 가격의 가능한 영역만을 제공하며 가격 반전이 반드시 일어날 것을 보장할 수 없습니다.
잘못된 또는 주관적인 설정 피보나치 확장 수준과 켈트너 채널 매개 변수 모두 신호의 신뢰성에 영향을 줄 수 있다.
가격 상승으로 인해 피보나치 해운드가 계속 운영될 수 있으며, 이로 인해 손실이 발생할 수 있습니다.
다중 시간 프레임 분석 방법은 항상 적용되지 않습니다.
이 전략의 신호는 매우 불안정하거나 유동성이 낮은 시장에서 신뢰성이 떨어질 수 있습니다.
이러한 위험을 줄이기 위해, 거래 신호를 확인하기 위해 RSI와 같은 다른 지표와 결합할 수 있으며, 각 거래의 위험을 제어하기 위해 스톱로스를 사용하여 다른 시장 조건에 맞게 매개 변수를 조정할 수 있습니다.
이 전략은 다음과 같은 몇 가지 측면에서 최적화될 수 있습니다.
이동 평균과 켈트너 채널을 최적화하여 다른 시장의 통계적 특성에 더 적합하도록 다양한 유형의 및 길이의 파라미터를 테스트하십시오.
다른 피보나치 핵심 영역을 테스트합니다. 0.5 또는 0.786은 피보나치 통로의 확장 영역입니다.
거래 신호를 가격 형태, 거래량 또는 다른 지표와 결합하여 입시를 확인한다.
트렌드 반전 시 최대한 빨리 탈퇴하기 위해 스톱로스 전략을 최적화한다.
출전 및 출전 규칙에 대한 피드백 최적화.
전반적으로, 피보나치 채널의 주요 지지 저항 영역을 식별하는 K선 역전 거래 전략은 자연 비율 원칙을 효과적으로 활용하여 거래 결정을 안내하는 방법입니다. 이 전략은 다양한 시장 조건에서 안정적인 성능을 보여줍니다. 최적화 파라미터 설정 및 위험 제어와 같은 조치를 통해 전략의 강도를 더욱 높일 수 있습니다.
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 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/
// © blackcat1402
//@version=5
strategy('[blackcat] L2 Fibonacci Bands', overlay=true)
// Define the moving average type and length
maType = input.string(title='MA Type', defval='WMA', options=['SMA', 'EMA', 'WMA', 'HMA'])
maLength = input.int(title='MA Length', defval=233, minval=1)
src = input(title='Data Source', defval=hl2)
// Define the Fibonacci expansion levels
fib1 = input.float(title='Fibonacci Level 1', defval=1.618, minval=0)
fib2 = input.float(title='Fibonacci Level 2', defval=2.618, minval=0)
fib3 = input.float(title='Fibonacci Level 3', defval=4.236, minval=0)
// Calculate the moving average
ma = maType == 'SMA' ? ta.sma(src, maLength) : maType == 'EMA' ? ta.ema(src, maLength) : maType == 'WMA' ? ta.wma(src, maLength) : maType == 'HMA' ? ta.hma(src, maLength) : na
// Calculate the Keltner Channels
kcMultiplier = input.int(title='Keltner Channel Multiplier', defval=2, minval=0)
kcLength = input.int(title='Keltner Channel Length', defval=89, minval=1)
kcTrueRange = ta.tr
kcAverageTrueRange = ta.sma(kcTrueRange, kcLength)
kcUpper = ma + kcMultiplier * kcAverageTrueRange
kcLower = ma - kcMultiplier * kcAverageTrueRange
// Calculate the Fibonacci Bands
fbUpper1 = ma + fib1 * (kcUpper - ma)
fbUpper2 = ma + fib2 * (kcUpper - ma)
fbUpper3 = ma + fib3 * (kcUpper - ma)
fbLower1 = ma - fib1 * (ma - kcLower)
fbLower2 = ma - fib2 * (ma - kcLower)
fbLower3 = ma - fib3 * (ma - kcLower)
// Plot the Fibonacci Bands
plot(ma, title='Midband', color=color.new(color.blue, 0), linewidth=2)
plot(fbUpper1, title='Upper Band 1', color=color.new(color.green, 0), linewidth=1)
plot(fbUpper2, title='Upper Band 2', color=color.new(color.green, 0), linewidth=1)
plot(fbUpper3, title='Upper Band 3', color=color.new(color.green, 0), linewidth=1)
plot(fbLower1, title='Lower Band 1', color=color.new(color.red, 0), linewidth=1)
plot(fbLower2, title='Lower Band 2', color=color.new(color.red, 0), linewidth=1)
plot(fbLower3, title='Lower Band 3', color=color.new(color.red, 0), linewidth=1)
// Define the entry and exit conditions
longCondition = ta.crossover(src, fbUpper3) and ta.rsi(src, 14) > 60
shortCondition = ta.crossunder(src, fbLower3) and ta.rsi(src, 14) < 40
exitCondition = ta.crossover(src, ma) or ta.crossunder(src, ma)
// Execute the trades
if longCondition
strategy.entry('Long', strategy.long)
if shortCondition
strategy.entry('Short', strategy.short)
if exitCondition
strategy.close_all()