추세 돌파 거래 전략과 결합된 다중 기간 피보나치 수정

FIBO SMA RSI RR TF
생성 날짜: 2024-12-11 17:32:25 마지막으로 수정됨: 2024-12-11 17:32:25
복사: 0 클릭수: 364
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

추세 돌파 거래 전략과 결합된 다중 기간 피보나치 수정

개요

이 전략은 피포나치 리트랙 레벨과 K선 형태를 기반으로 한 트렌드 트레이딩 시스템이다. 이 전략은 기술 분석과 리스크 관리 원칙을 결합하여 여러 시간 주기에 작동한다. 이 전략은 주로 중요한 피포나치 리트랙 레벨 (.618과 0.786) 을 식별하여 잠재적인 거래 기회를 찾고, 동시에 스톱 손실과 수익 목표를 사용하여 위험을 관리한다.

전략 원칙

전략의 핵심 논리는 다음과 같은 핵심 요소에 기초합니다.

  1. 시간 주기의 선택: 전략은 4시간, 일선, 주기선 및 달선과 같은 여러 시간 주기에 작동하도록 허용하여 다양한 거래 스타일에 적합합니다.
  2. 피보나치 레벨 계산: 50주기의 최고 가격과 최저 가격을 사용하여 0.618과 0.786의 두 가지 중요한 회수 레벨을 계산한다.
  3. 입수 신호 생성: 폐쇄 가격이 특정 조건에서 피보나치 수준을 돌파 할 때, 시스템은 더 많은 또는 더 많은 신호를 생성합니다. 더 많은 신호는 폐쇄 가격이 개시 가격보다 높고 0.618 수준 이상으로 요구됩니다. 부채 신호는 폐쇄 가격이 개시 가격보다 낮고 0.786 수준 이하로 필요합니다.
  4. 리스크 관리: 전략은 고정된 비율의 스톱로스를 사용하며, 미리 설정된 리스크 수익률을 통해 수익 목표를 결정한다.

전략적 이점

  1. 다주기 적응성: 다른 시간 주기에 실행함으로써 전략은 다른 시장 환경과 거래 스타일에 적응할 수 있다.
  2. 체계화된 위험 관리: 사전 정지 및 수익 목표를 통해 각 거래에 대한 명확한 위험 통제가 보장됩니다.
  3. 기술 지표 통합: 피보나치 회수와 K선 형태 분석을 결합하여 더 신뢰할 수 있는 거래 신호를 제공합니다.
  4. 커스터마이징성: 피보나치 레벨, 리스크 수익률 및 스톱 손실 비율과 같은 핵심 매개 변수는 개인 선호도에 따라 조정할 수 있습니다.

전략적 위험

  1. 시장의 변동 위험: 높은 변동 기간 동안, 가격이 스톱 손실을 초래하는 손실을 빠르게 돌파 할 수 있습니다.
  2. 가짜 돌파 위험: 시장에서 가짜 피보나치 레벨 돌파 신호가 나타날 수 있다.
  3. 변수 최적화 위험: 지나치게 최적화 된 변수들은 전략이 실판에서 제대로 작동하지 않도록 만들 수 있다.
  4. 유동성 위험: 특정 시기와 시장 조건에서 유동성 부족 문제가 발생할 수 있습니다.

전략 최적화 방향

  1. 시장 트렌드 필터를 추가: 역동 신호를 필터링하기 위해 이동 평균이나 다른 트렌드 지표를 추가할 수 있습니다.
  2. 입학 시기를 최적화: 입학 정확성을 높이기 위해 수송 확인 또는 동력 지표를 추가하는 것을 고려하십시오.
  3. 다이내믹 스톱 매니지먼트 (Dynamic Stop Management): 변동율에 기반한 다이내믹 스톱을 구현하여 다양한 시장 조건에 적응한다.
  4. 시간 필터링을 추가: 불리한 시장 시간에 거래하는 것을 방지하기 위해 거래 시간 창 제한을 추가합니다.
  5. 다차원 신호 확인: 다른 기술 지표를 통합하여 추가적인 신호 확인을 제공한다.

요약하다

이것은 잘 구성된 트렌드 추적 전략으로, 피보나치 회수, K선 형태 및 위험 관리 원칙을 결합하여 거래자에게 체계화된 거래 방법을 제공합니다. 위험이 있음에도 불구하고, 제안된 최적화 방향을 통해 전략의 안정성과 신뢰성을 더욱 향상시킬 수 있습니다. 전략의 다주기적 특성과 사용자 정의 가능한 매개 변수는 다양한 유형의 거래 사용자에 적합합니다.

전략 소스 코드
/*backtest
start: 2024-12-03 00:00:00
end: 2024-12-10 00:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jontucklogic7467

//@version=5
strategy("Fibonacci Swing Trading Bot", overlay=true)

// Input parameters
fiboLevel1 = input.float(0.618, title="Fibonacci Retracement Level 1")
fiboLevel2 = input.float(0.786, title="Fibonacci Retracement Level 2")
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")
stopLossPerc = input.float(1.0, title="Stop Loss Percentage") / 100

// Timeframe selection
useTimeframe = input.timeframe("240", title="Timeframe for Analysis", options=["240", "D", "W", "M"])

// Request data from selected timeframe
highTF = request.security(syminfo.tickerid, useTimeframe, high)
lowTF = request.security(syminfo.tickerid, useTimeframe, low)

// Swing high and low calculation over the last 50 bars in the selected timeframe
highestHigh = ta.highest(highTF, 50)
lowestLow = ta.lowest(lowTF, 50)

// Fibonacci retracement levels
fib618 = highestHigh - (highestHigh - lowestLow) * fiboLevel1
fib786 = highestHigh - (highestHigh - lowestLow) * fiboLevel2

// Plot Fibonacci levels
// line.new(bar_index[1], fib618, bar_index, fib618, color=color.red, width=2, style=line.style_dashed)
// line.new(bar_index[1], fib786, bar_index, fib786, color=color.orange, width=2, style=line.style_dashed)

// Entry signals based on candlestick patterns and Fibonacci levels
bullishCandle = close > open and close > fib618 and close < highestHigh
bearishCandle = close < open and close < fib786 and close > lowestLow

// Stop loss and take profit calculation
stopLoss = bullishCandle ? close * (1 - stopLossPerc) : close * (1 + stopLossPerc)
takeProfit = bullishCandle ? close + (close - stopLoss) * riskRewardRatio : close - (stopLoss - close) * riskRewardRatio

// Plot buy and sell signals
if bullishCandle
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit", "Buy", limit=takeProfit, stop=stopLoss)

if bearishCandle
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit", "Sell", limit=takeProfit, stop=stopLoss)