리소스 로딩... 로딩...

프랙탈 브레이크업 모멘텀 거래 전략

저자:차오장, 날짜: 2024-12-11 17:20:09
태그:TPSL

img

전반적인 설명

이 전략은 가격 프랙탈 이론에 기반한 트렌드를 따르는 거래 시스템으로, 시장 프랙탈 구조를 식별하고 자동 거래를 위해 고정 포인트 트리거 조건과 수익을 취하는 설정을 결합합니다. 핵심 전략은 위험 통제를 위해 해당 수익을 취하는 수준과 함께 하위 프랙탈 위에 긴 입구 포인트와 상위 프랙탈 아래에 짧은 입구 포인트를 설정하는 것을 포함합니다.

전략 원칙

핵심 논리는 다음의 핵심 단계를 포함합니다.

  1. 프랙탈 식별: 3개의 촛불을 연속적으로 비교하여 상위와 하위 프랙탈을 식별한다. 중간 촛불의 낮이 인접한 것 보다 낮을 때 아래 프랙탈이 형성된다. 중간 촛불의 높이가 인접한 것 보다 높을 때 상위 프랙탈이 형성된다.
  2. 입시 조건: 세트는 확인된 최하위 프랙탈보다 107 피트를 더 높은 트리거 가격을 구매하고, 세트는 확인된 최상위 프랙탈보다 107 피트를 더 낮은 트리거 가격을 판매합니다.
  3. 영업이익 설정: 입시 가격에서 영업이익 수준을 107 피프로 설정합니다.
  4. 포지션 관리: 최신 프랙탈 포지션을 지속적으로 추적하고 그에 따라 엔트리 트리거 가격을 업데이트합니다.

전략적 장점

  1. 객관성: 주관적 판단 편향을 피하면서 명확한 수학적 정의를 사용하여 시장 구조를 식별합니다.
  2. 리스크 제어: 명확한 수익 목표와 통제 가능한 위험을 위해 고정된 포인트 수익 설정을 사용합니다.
  3. 적응력: 다양한 시장 환경에서 작동 할 수 있으며 특히 매우 변동적인 시장에 적합합니다.
  4. 높은 자동화: 신호 식별에서 실행에 이르는 전체 거래 프로세스는 자동화되어 인간의 개입을 줄입니다.

전략 위험

  1. 가짜 브레이크 위험: 단기적인 브레이크 이후 시장은 빠르게 역전될 수 있으며, 스톱 손실을 유발할 수 있습니다.
  2. 시장 위험: 시장에서 빈번한 상위 및 하위 프랙탈은 과도한 거래 신호를 생성 할 수 있습니다.
  3. 고정점 위험: 고정점 입점 및 수익점 사용은 모든 시장 조건에 적합하지 않을 수 있습니다.
  4. 미끄러짐 위험: 매우 변동적인 시장에서 중요한 미끄러짐 문제를 겪을 수 있습니다.

전략 최적화

  1. 동적 포인트 최적화: 시장의 변동성에 따라 진입 트리거 및 수익점 조정
  2. 트렌드 필터링: 트렌드 식별 지표를 추가하여 주요 트렌드 방향으로만 거래합니다.
  3. 시장 환경 인식: 다른 시장 조건에서 다른 매개 변수를 사용하기 위해 시장 상태를 식별하는 메커니즘을 구현합니다.
  4. 포지션 관리 최적화: 계정 자본 및 시장 위험 수준에 기초한 동적 포지션 크기를 도입합니다.

요약

이 전략은 프랙탈 이론과 모멘텀 브레이크아웃 개념을 결합하여 완전한 거래 시스템을 구축합니다. 이 전략의 강점은 객관성과 높은 자동화, 시장 적응력 과제에 직면하지만 있습니다. 동적 매개 변수 조정 및 시장 환경 인식과 같은 최적화 조치를 통해 전략의 안정성과 수익성이 더욱 향상 될 수 있습니다. 라이브 거래에서 투자자는 위험 관용과 자본 규모에 따라 매개 변수를 조정해야합니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true)

// 输入参数
trigger_pips = input.int(107, title="Entry Distance (Pips)")  // 入场点距离底分型或顶分型的距离
take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数

pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位)

// 计算分型
is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型
is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型

// 存储分型位置
var float last_bottom_fractal = na
var float last_top_fractal = na

// 更新分型值
if is_bottom_fractal
    last_bottom_fractal := low[1]
    
if is_top_fractal
    last_top_fractal := high[1]

// 计算开盘价格
bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value
top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value

// 交易逻辑:底分型多单和顶分型空单
if not na(last_bottom_fractal)
    if close <= bottom_trigger_price
        strategy.entry("Buy", strategy.long)
        strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value)
        
if not na(last_top_fractal)
    if close >= top_trigger_price
        strategy.entry("Sell", strategy.short)
        strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value)

// 绘制分型和触发价格
plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal")
plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal")
plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1)
plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)

관련

더 많은