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

웨이브 트렌드 크로스 레이지 베어 전략

저자:차오장, 날짜: 2024-04-28 13:56:27
태그:EMASMAHLCC3ESA

img

전반적인 설명

웨이브트렌드 크로스 레이지베어 전략은 웨이브트렌드 지표에 기반한 거래 전략이다. 이 전략은 서로 다른 기간을 가진 두 개의 웨이브트렌드 지표 라인을 사용합니다. 더 빠른 기간 웨이브트렌드 지표 라인이 느린 기간 웨이브트렌드 지표 라인의 위를 넘을 때 구매 신호를 생성합니다. 더 빠른 기간 웨이브트렌드 지표 라인이 느린 기간 웨이브트렌드 지표 라인의 아래를 넘을 때 판매 신호를 생성합니다. 전략은 또한 시장 조건을 판단하는 데 도움이되는 과잉 구매 및 과잉 판매 구역을 설정합니다.

전략 원칙

이 전략의 핵심은 다음과 같은 단계로 계산되는 WaveTrend 지표입니다.

  1. 평균 가격 (AP) 을 계산해 보세요. 이 값은 높은 가격, 낮은 가격, 닫는 가격의 평균과 같습니다.
  2. n1 기간의 AP의 지수 이동 평균 (ESA) 을 계산합니다.
  3. 지수 이동 평균 d를 계산하여 n1 기간의 AP와 ESA 사이의 절대값의 차이를 계산합니다.
  4. 지표 CI를 계산하여 (AP-ESA) / (0.015 * d) 를 계산합니다.
  5. n2 기간의 CI의 기하급수적인 이동 평균 TCI를 계산하여 WaveTrend 지표를 얻습니다.

이 전략은 각각 WT1 및 WT2로 표시되는 서로 다른 기간을 가진 두 개의 웨이브 트렌드 지표 라인을 사용합니다. WT1이 WT2를 넘을 때 구매 신호를 생성하고 WT1이 WT2를 넘을 때 판매 신호를 생성합니다. 또한 전략은 시장 조건을 판단하는 데 도움이되는 4 개의 보조 레벨을 설정합니다. 과잉 구매 레벨 1, 과잉 구매 레벨 2, 과잉 판매 레벨 1 및 과잉 판매 레벨 2.

전략적 장점

  1. 웨이브트렌드 지표는 시장 동향을 더 잘 파악할 수 있는 동력과 변동성의 특성을 결합합니다.
  2. 이중 기간 WaveTrend 표시기는 일부 노이즈 신호를 효과적으로 필터링 할 수 있습니다.
  3. 과잉 구매 및 과잉 판매 수준을 설정하면 시장이 어느 정도 크게 변동할 때 전략이 자주 거래되는 것을 막을 수 있습니다.
  4. 전략 논리는 명확하고 이해하기 쉽고 구현하기 쉽습니다.

전략 위험

  1. 이 전략은 변동 시장에서 더 많은 잘못된 신호를 생성할 수 있습니다.
  2. 매개 변수 선택은 전략 성과에 큰 영향을 미치며, 다른 매개 변수들은 전략 성과에 큰 차이를 초래할 수 있습니다.
  3. 이 전략은 위험 통제를 고려하지 않으며 극한 시장 조건에서 큰 마감률을 경험할 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터링 조건을 추가하는 것을 고려하십시오. 예를 들어 장기 이동 평균의 방향, 오스실레이션 시장에서 잘못된 신호를 줄이기 위해.
  2. 과잉 구매 및 과잉 판매 수준을 최적화하여 다른 시장 조건에 더 역동적으로 적응하도록하십시오.
  3. 한 거래의 위험을 제어하기 위해 스톱 로스 및 영리 메커니즘을 추가합니다.
  4. 매개 변수 최적화를 통해 최적의 매개 변수 조합을 찾습니다.

요약

웨이브트렌드 크로스 레이지베어 전략은 웨이브트렌드 지표에 기반한 트렌드 추적 전략이다. 이중 기간 지표의 설계와 과소득과 과소득 수준의 보조 판단을 통해 트렌드를 포착하면서 특정 리스크 제어도 고려한다. 그러나 전략은 오스실레이션 시장에서 더 많은 잘못된 신호를 생성할 수 있으며 엄격한 리스크 관리 조치가 부족하다. 실제 응용 분야에서는 추가 최적화와 개선이 필요합니다.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © burakaydingr

//@version=5
strategy("WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB", overlay=true)

// Kullanıcı girişleri
n1 = input(10, title="Channel Length")
n2 = input(21, title="Average Length")
obLevel1 = input(60, title="Over Bought Level 1")
obLevel2 = input(53, title="Over Bought Level 2")
osLevel1 = input(-60, title="Over Sold Level 1")
osLevel2 = input(-53, title="Over Sold Level 2")

// Temel hesaplamalar
ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// WaveTrend göstergeleri
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Al ve Sat Sinyalleri
buySignal = ta.crossover(wt1, wt2)
sellSignal = ta.crossunder(wt1, wt2)

// Alım ve Satım pozisyonları
if (buySignal)
    if (strategy.position_size <= 0) // Eğer şu anda açık bir satış pozisyonu varsa, onu kapat
        strategy.close("Sell")
    strategy.entry("Buy", strategy.long, comment="Buy Signal: Price crossed above WT2")

if (sellSignal)
    if (strategy.position_size >= 0) // Eğer şu anda açık bir alım pozisyonu varsa, onu kapat
        strategy.close("Buy")
    strategy.entry("Sell", strategy.short, comment="Sell Signal: Price crossed below WT2")

// Renkler ve diğer görseller
plot(0, color=color.new(color.gray, 0), title="Zero Level")
plot(obLevel1, color=color.new(color.red, 0), title="Overbought Level 1")
plot(osLevel1, color=color.new(color.green, 0), title="Oversold Level 1")
plot(obLevel2, color=color.new(color.purple, 0), title="Overbought Level 2")
plot(osLevel2, color=color.new(color.orange, 0), title="Oversold Level 2")

plot(wt1, color=color.new(color.red, 0), title="WT1")
plot(wt2, color=color.new(color.blue, 0), title="WT2")
plot(wt1-wt2, color=color.new(color.purple, 80), style=plot.style_area, title="WT1-WT2 Area")

// İşaretler
plotshape(buySignal, location=location.absolute, color=color.new(color.yellow, 0), style=shape.circle, size=size.small, title="Buy Signal")
plotshape(sellSignal, location=location.absolute, color=color.new(color.red, 0), style=shape.circle, size=size.small, title="Sell Signal")


관련

더 많은