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

트렌드 브레이크 트레이딩 시스템 (TBMA 전략)

저자:차오장, 날짜: 2024-11-12 16:24:08
태그:MASMASLTP

img

전반적인 설명

이 전략은 트렌드 브레이크아웃 거래 시스템으로 이동 평균과 가격 브레이크아웃 개념을 결합합니다. 핵심 메커니즘은 이동 평균보다 높은 가격 폐쇄를 기반으로 거래 신호를 생성하며, 최근 최저 수준에 정해진 스톱-러스 수준과 위험 관리에 대한 2: 1 이익-손실 비율을 사용합니다. 전략은 단순한 이동 평균을 트렌드 지표로 사용하고 가격 라인 크로스오버를 통해 트렌드 변화를 식별합니다.

전략 원칙

이 전략은 트렌드 지표로 20기 간 간단한 이동 평균 (SMA) 을 사용한다. 닫기 가격이 아래에서 이동 평균보다 높을 때 긴 신호가 생성된다. 엔트리 포인트에 너무 가깝게 배치되는 것을 피하기 위해 지난 7 개의 촛불의 가장 낮은 지점에 스톱-러스 레벨이 설정된다. 이윤 취득 수준은 고전적인 2: 1 리워드-리스크 비율을 사용하여 설정된다. 이윤 목표가 스톱-러스의 두 배의 거리를 의미합니다. 전략에는 트렌드 라인을 표시하는 시각화 구성 요소, 거래 신호 및 차트에서 스톱-러스/이익 취득 수준이 포함되어 있습니다.

전략적 장점

  1. 트렌드 다음 성격: 이동 평균을 사용하여 시장 트렌드를 효과적으로 포착합니다.
  2. 강력한 리스크 관리: 시장 변동성에 기초한 동적 스톱 로스를 사용합니다.
  3. 합리적인 위험/이익 비율: 더 나은 기대 수익을 위해 2: 1 수익/손실 비율을 구현합니다.
  4. 명확한 시각화: 더 나은 시장 이해를 위해 상세한 차트 해설
  5. 조정 가능한 매개 변수: 트렌드 라인의 길이가 사용자 정의 될 수 있습니다.

전략 위험

  1. 시장 위험: 다양한 시장에서 빈번한 잘못된 신호를 생성할 수 있습니다.
  2. 미끄러짐 위험: 브레이크아웃 신호는 실행 중에 상당한 미끄러짐을 겪을 수 있습니다.
  3. 스톱 로스 포지셔닝 리스크: 최저점 스톱 로스는 너무 넓어 큰 손실을 초래할 수 있습니다.
  4. 급격한 환전 위험: 급격한 환전 이후의 환전 위험은 스톱 손실을 유발할 수 있습니다.
  5. 매개 변수 민감도: 다른 시장 조건으로 매개 변수 조정이 필요할 수 있습니다.

전략 최적화 방향

  1. 트렌드 확인 지표 추가: 트렌드 확인을 위해 RSI 또는 MACD를 추가하는 것을 고려하십시오.
  2. 스톱 로스 메커니즘을 최적화: 동적 스톱 로스 조정을 위해 ATR을 사용하는 것을 고려하십시오.
  3. 볼륨 확인을 포함: 브레이크아웃 신호에 볼륨 검증을 추가
  4. 신호 필터링을 개선합니다. 거짓 브레이크를 줄이기 위해 변동성 필터를 추가합니다.
  5. 증강된 이익 취득: 더 나은 이익 보호를 위해 후속 중지 구현을 고려

요약

이 전략은 명확한 논리를 가진 잘 구성된 트렌드를 따르는 전략이다. 이 전략은 합리적인 위험 관리 메커니즘과 결합하여 이동 평균 브레이크오웃을 통해 신호를 생성하여 실질적으로 적용될 수 있다. 내재적인 위험이 존재하지만 제안된 최적화 방향은 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 이 전략은 트렌딩 시장 조건에 적합하며, 거래자는 특정 시장 특성에 따라 매개 변수를 조정할 수 있다.


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

//@version=5
strategy("Trend Breakout with SL and TP", overlay=true)

// Parametrlar
length = input(25, title="Length for SL Calculation")
trendLength = input(20, title="Trend Line Length")

// Trend chizig'ini hisoblash
trendLine = ta.sma(close, trendLength)

// Yopilish narxi trend chizig'ini yorib o'tganda signal
longSignal = close > trendLine and close[1] <= trendLine

// Oxirgi 7 shamning minimumini hisoblash
lowestLow = ta.lowest(low, 7)

// Stop Loss darajasini belgilash
longSL = lowestLow  // SL oxirgi 7 shamning minimumiga teng

// Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash
longTP = longSL + (close - longSL) * 2  // TP 2:1 nisbatida

// Savdo bajarish
if longSignal
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=longTP)
    strategy.exit("Stop Loss", "Long", stop=longSL)

// Grafikda trend chizig'ini chizish
plot(trendLine, title="Trend Line", color=color.blue, linewidth=2)

// Signal chizish
plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")

// SL va TP darajalarini ko'rsatish
// if longSignal
//     // SL chizig'i
//     line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed)
//     // TP chizig'i
//     line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed)
    
//     // SL va TP label'larini ko'rsatish
//     label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)
//     label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)


관련

더 많은