윌리엄 알리거터 이동 평균 트렌드 캐처 전략 (William Alligator Moving Average Trend Catcher Strategy) 은 윌리엄 알리거터 지표와 이동 평균을 결합한 트렌드 추적 전략이다. 이 전략은 트렌드의 방향을 결정하기 위해 윌리엄 알리거터 지표의 세 줄 (턱, 치아, 입술) 의 상대적 위치를 사용하여 이동 평균을 트렌드의 2차 확인으로 사용합니다. 가격이 이동 평균 이상으로 깨지고 윌리엄 알리거터 지표의 세 줄이 상승 순위에있을 때 전략은 긴 위치에 진입합니다. 가격이 이동 평균 이하로 깨지고 윌리엄 알리거터 지표의 세 줄이 하향 순위에있을 때 전략은 짧은 위치에 진입합니다. 이 전략은 비트코인 및 이더리움과 같은 매우 변동성 자산과 같은 명확한 트렌드 특성을 가진 시장에 적합합니다.
윌리엄 알리거터 이동 평균 트렌드 캐처 전략의 핵심은 트렌드를 식별하고 확인하기 위해 윌리엄 알리거터 지표와 이동 평균을 사용하는 것입니다. 윌리엄 알리거터 지표는 다른 기간의 매끄러운 이동 평균 (SMMA) 인 턱, 치아 및 입술 세 줄로 구성됩니다. 시장이 상승 추세에있을 때, 입술 선은 치아 선 위에 있으며, 치아 선은 턱 선 위에 있습니다. 시장이 하락 추세에있을 때, 입술 선은 치아 선 아래에 있으며, 치아 선은 턱 선 아래에 있습니다. 이 전략은 트렌드의 2차 확인으로 이동 평균을 도입합니다. 가격이 이동 평균 이상으로 깨지면, 윌리엄 알리거터 지표의 상승 추세와 결합하면 전략은 긴 지점에 진입합니다. 평균 지표 아래로 갈 때, 이동 지표와 결합하여 짧은 지점을 유지합니다. 이 전략은 알리거터 지표의 잡음 확인을 효과적으로 향상시킬 수 있습니다.
윌리엄 알리거터 이동 평균 트렌드 캐처 전략은 윌리엄 알리거터 지표와 이동 평균을 결합하여 간단하고 효과적인 트렌드 추적 전략을 형성합니다. 이 전략은 강한 트렌드 특성을 가진 시장에 적합하며 이중 확인 메커니즘을 통해 트렌드 인식의 정확성을 향상시킵니다. 그러나 전략은 범위 제한 시장에서 성과가 떨어질 수 있으며 명시적인 리스크 관리 조치가 부족합니다. 미래에 전략의 견고성과 수익성을 향상시키기 위해 트렌드 강도 필터링, 출구 메커니즘 최적화, 동적 매개 변수 조정 및 리스크 관리 측면에서 전략을 최적화 할 수 있습니다.
/*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)