윌리엄 앨리게이터 이동 평균 추세 포착 전략

MA EMA SMMA
생성 날짜: 2024-05-17 10:52:19 마지막으로 수정됨: 2024-05-17 10:52:19
복사: 1 클릭수: 612
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

윌리엄 앨리게이터 이동 평균 추세 포착 전략

개요

윌리엄어 평행선 트렌드 캡처 전략은 윌리엄어 지표와 이동 평균을 결합한 트렌드 추적 전략이다. 이 전략은 윌리엄어 지표의 세 개의 라인 (어 라인, 치아 라인, 그리고 입술 라인) 의 상대적인 위치를 사용하여 트렌드의 방향을 판단하고, 이동 평균을 트렌드의 2차 확인으로 사용합니다. 가격이 이동 평균을 깨고 윌리엄어 지표의 세 개의 라인이 다중 헤드 배열을 표시하면, 전략은 더 많은 포지션을 열고, 가격이 이동 평균을 깨고 윌리엄어 지표의 세 개의 라인이 빈 헤드 배열을 표시하면, 전략은 포지션을 열고, 공백합니다. 이 전략은 트렌드 특성이 뚜렷한 시장에 적합하며, 비트코인과 이토늄과 같은 매우 높은 파동 자산입니다.

전략 원칙

William Herschel Equilibrium 트렌드 캡처 전략의 핵심은 William Herschel 지표와 이동 평균을 사용하여 트렌드를 식별하고 확인하는 것입니다. William Herschel 지표는 세 개의 선으로 구성되어 있습니다: Jaw, Teeth, and Lips, 각기 다른 주기의 평평한 이동 평균 (SMMA) 입니다. 시장이 상승하는 경향이있을 때, 입술은 치아선 위에 있고, 치아선은 기둥선 위에 있습니다. 시장이 하락하는 경향이있을 때, 입술은 치아선 아래에 있으며, 치아선은 기둥선 아래에 있습니다.

전략적 이점

  1. 트렌드 추적: 이 전략은 윌리엄어 지표와 이동 평균을 결합하여 시장의 트렌드를 효과적으로 식별하고 추적할 수 있습니다.
  2. 이중 확인: 전략은 윌리엄 해커 지표와 이동 평균의 이중 확인 메커니즘을 사용하여 잡음을 효과적으로 필터링하여 트렌드 식별의 정확도를 높이고 잘못된 신호를 줄일 수 있습니다.
  3. 매개 변수 유연성: 전략의 매개 변수 설정은 유연합니다. 사용자는 전략의 성능을 최적화하기 위해 다양한 시장 특성 및 거래 스타일에 따라 윌리엄 해커 지표의 주기 및 이동 평균의 주기 조정할 수 있습니다.
  4. 폭넓은 적용: 이 전략은 암호화폐, 외환, 상품 선물과 같은 다양한 시장에 적용되며, 다양한 유형의 거래자를 대상으로 사용할 수 있습니다.

전략적 위험

  1. 흔들리는 시장: 흔들리는 시장에서, 윌리엄어 지표와 이동 평균은 더 많은 가짜 신호를 발산할 수 있으며, 전략이 빈번하게 입장을 열고 수익에 영향을 미칩니다.
  2. 트렌드 회전: 이 전략은 트렌드 회전이 있을 때 느리게 반응하여 최적의 출전 시기를 놓치거나 출전을 지연시켜 일정 손실을 초래할 수 있다.
  3. 매개 변수 최적화: 전략의 성능은 매개 변수의 선택에 의존하며, 다른 매개 변수 설정은 전략의 성능에 큰 차이를 초래할 수 있으며, 충분한 재검토와 최적화가 필요합니다.
  4. 위험 관리: 이 전략에는 정해진 위험 관리 조치가 없으므로, 시장이 급격하게 변동할 때 큰 회수로 이어질 수 있습니다.

전략 최적화 방향

  1. 트렌드 강도 필터를 도입: 포지션 개시 조건에 ADX 지표 또는 평균 선 기울기와 같은 트렌드 강도 판단을 추가하여 약한 트렌드 신호를 필터링하여 포지션 개시 품질을 향상시킵니다.
  2. 최적화된 출구 메커니즘: 트렌드 회전 시 ATR 중지 또는 트렌드 라인 중지와 같은 더 민감한 출구 메커니즘을 적용하는 것을 고려하여 수익을 최대한 빨리 고정하고 회전을 줄이십시오.
  3. 동적 파라미터 최적화: 시장 상태의 변화에 따라, 다양한 시장의 리듬과 변동 특성에 맞게 윌리엄 해커 지표와 이동 평균의 파라미터를 동적으로 조정합니다.
  4. 위험 관리에 참여: 단독 거래의 위험 경과와 전체 계정의 최대 인출을 제어하기 위해 합리적인 중지 및 위치 관리 규칙을 설정하는 것과 같은 엄격한 위험 관리 조치를 도입하십시오.

요약하다

윌리엄스 평행선 트렌드 캡처 전략은 윌리엄스 지표와 이동 평균을 결합하여 간단한 효과적인 트렌드 추적 전략을 형성한다. 이 전략은 트렌드성이 강한 시장에 적용되며, 이중 확인 메커니즘을 통해 트렌드 식별의 정확도를 높인다. 그러나, 이 전략은 흔들리는 시장에서 좋지 않은 성능을 발휘할 수 있으며, 명확한 위험 관리 조치가 없습니다.

전략 소스 코드
/*backtest
start: 2024-05-09 00:00:00
end: 2024-05-16 00:00:00
period: 5m
basePeriod: 1m
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/
// © tradedots

//@version=5
strategy("Alligator + MA Trend Catcher [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01)

// william alligator
smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

jawLength = input.int(8, minval=1, title="Jaw Length", group = "william alligator settings")
teethLength = input.int(5, minval=1, title="Teeth Length", group = "william alligator settings")
lipsLength = input.int(3, minval=1, title="Lips Length", group = "william alligator settings")
jawOffset = input(8, title="Jaw Offset", group = "william alligator settings")
teethOffset = input(5, title="Teeth Offset", group = "william alligator settings")
lipsOffset = input(3, title="Lips Offset", group = "william alligator settings")
jaw = smma(hl2, jawLength)
teeth = smma(hl2, teethLength)
lips = smma(hl2, lipsLength)

// ma
input_trendline_length = input.int(200, "Trendline Length", group = "moving average settings")
trendline = ta.ema(close, input_trendline_length)

// strategy settings
input_long_orders = input.bool(true, "Long", group = "Strategy Settings")
input_short_orders = input.bool(true, "Short", group = "Strategy Settings")

//long
if close > trendline and lips > teeth and teeth > jaw and input_long_orders and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)
    label.new(bar_index, low, text = "🟢 Long", style = label.style_label_up, color = #9cff87)

if close < trendline and lips < teeth and teeth < jaw
    strategy.close("Long")

//short
if close < trendline and lips < teeth and teeth < jaw and input_short_orders and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)
    label.new(bar_index, high, text = "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)

if close > trendline and lips > teeth and teeth > jaw 
    strategy.close("Short")

//ploting
plot(trendline, "Trendline", color = #9cff87, linewidth = 3)
plot(jaw, "Jaw", offset = jawOffset, color=#b3e9c7)
plot(teeth, "Teeth", offset = teethOffset, color=#c2f8cb)
plot(lips, "Lips", offset = lipsOffset, color=#f0fff1)