
이 전략은 높은 낮은 가격 돌파, 알파 트렌드 지표 및 이동 평균 필터를 결합 한 거래 시스템입니다. 그것은 가격이 중요한 수준을 돌파 할 때 트렌드 변화를 포착하고, 알파 트렌드 및 이동 평균을 사용하여 거짓 신호를 필터링하여 거래의 정확성을 향상시킵니다. 이 전략은 주식, 외환 및 암호화폐를 포함한 다양한 금융 시장에 적용됩니다.
높은 낮은 가격 돌파구: 전략은 사용자 정의 된 주기 (기본 20 K 라인) 를 사용하여 최근 최고 및 최저 종결 가격을 결정합니다. 현재 종결 가격이 이러한 수준을 돌파하면 잠재적인 거래 신호가 유발됩니다.
알파 트렌드 지표: 이것은 ATR (Average True Range) 를 기반으로 한 트렌드 추적 지표이다. 현재 트렌드를 동적으로 위아래로 조정하여 식별한다. 가격이 알파 트렌드 라인보다 높을 때 상승 추세로 간주되며 반대로 하락 추세로 간주된다.
이동 평균 필터: 전략은 간단한 이동 평균 ((SMA) 을 추가적인 트렌드 필터로 사용합니다. 가격이 이동 평균 위에 있을 때만 더 많이 고려하고, 반대로 더 많이 고려합니다.
거래 신호 생성:
위험 관리: 전략은 내장된 중지 및 중지 기능을 가지고 있다. 사용자는 거래의 위험과 수익을 제어하기 위해 비율을 기반으로 중지 및 중지 수준을 설정할 수 있다.
다중 확인: 가격 돌파구, 알파 트렌드 및 이동 평균을 결합하여, 전략은 가짜 신호를 효과적으로 줄이고 거래 정확도를 향상시킬 수 있습니다.
적응력: 전략은 다양한 시장 조건과 변동성에 적응할 수 있습니다. 왜냐하면 알파 트렌드 지표는 시장의 변동에 따라 자동으로 조정되기 때문입니다.
리스크 관리: 내장된 중지 및 중지 기능은 거래의 위험을 통제하고 자금을 보호합니다.
시각화: 전략은 다양한 지표와 신호를 차트에 그려서 거래자가 시장 상태와 잠재적인 거래 기회를 직관적으로 이해할 수 있도록합니다.
매개 변수 최적화: 사용자는 다양한 시장과 개인 취향에 따라 다양한 매개 변수를 조정할 수 있습니다.
흔들리는 시장 위험: 명확한 추세가 없는 상반된 시장에서, 전략은 빈번한 거짓 신호를 생성할 수 있으며, 과도한 거래와 손실을 초래할 수 있다.
슬라이드 포인트 위험: 급격한 돌파구 또는 높은 변동성 시장에서 실제 거래 가격은 예상과는 현저하게 차이가 날 수 있으며, 전략 성능에 영향을 미칠 수 있다.
과도한 역사적 데이터 의존성: 전략은 역사적 가격 패턴을 기반으로 결정을 내리고 있지만 과거의 성과는 미래의 결과를 보장하지 않습니다.
매개 변수 민감성: 전략의 성능은 매개 변수 설정에 매우 민감할 수 있으며, 부적절한 매개 변수 선택은 하위 우수 결과를 초래할 수 있다.
트렌드 반전의 위험: 강력한 트렌드 반전의 경우, 전략이 적시에 적응하지 못하여 큰 손실을 초래할 수 있습니다.
동적 파라미터 조정: 시장의 변동성에 따라 브레이크 사이클과 ATR 곱수를 자동으로 조정하는 것을 고려할 수 있습니다.
트랜지션 양 확인이 추가: 신호 생성 시 트랜지션 양 요소를 고려하여 돌파의 신뢰성을 높일 수 있다.
기계 학습을 도입: 기계 학습 알고리즘을 사용하여 매개 변수 선택 및 신호 필터링을 최적화하여 전략의 전반적인 성능을 향상시킬 수 있습니다.
다중 시간 프레임 분석: 트렌드를 확인하기 위해 더 길고 더 짧은 시간 프레임을 결합하여 가짜 신호를 줄이고 거래 품질을 향상시킬 수 있습니다.
시장 정서 지표를 증가 시키십시오: VIX 또는 다른 시장 정서 지표를 통합하면 전략이 시장 환경을 더 잘 판단 할 수 있습니다.
개선된 스톱 방법: 추적 스톱 또는 ATR 기반의 동적 스톱을 사용하는 것을 고려하여 리스크 관리 효과를 향상시킬 수 있습니다.
거래 빈도 조절: 냉각 기간이나 하루에 거래하는 횟수를 제한하는 것은 과도한 거래를 방지하고 거래 비용을 줄일 수 있습니다.
고저 돌파 전략은 알파 트렌드와 이동 평균 필터를 결합하여 여러 기술적 지표의 조합을 통해 잠재적인 트렌드 변화와 거래 기회를 식별하는 포괄적 인 거래 시스템입니다. 이 전략의 장점은 여러 계층의 확인 메커니즘과 내장 된 위험 관리 기능으로 인해 다양한 시장 조건에서 비교적 안정적인 성능을 유지할 수 있습니다. 그러나 사용자는 전략의 한계와 변수 선택이 다양한 시장에서 성능에 미치는 중요한 영향을 유의해야합니다.
다이내믹 파라미터 조정, 다중 시간 프레임 분석 및 기계 학습의 도입과 같은 지속적인 최적화 및 개선으로, 이 전략은 더 강력하고 더 적응력있는 거래 도구가 될 잠재력을 가지고 있습니다. 마지막으로, 거래자는 실제 거래 전에 시뮬레이션 환경에서 전략 파라미터를 충분히 테스트하고 최적화하여 개인의 위험 견딜 수 있는 능력과 거래 목표에 부합하는지 확인하는 것이 좋습니다.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TRMUS", overlay=true)
// Kullanıcının ayarlayabileceği mum sayısı
length = input.int(20, minval=1, title="Number of Bars")
// Stop Loss ve Take Profit seviyeleri
stopLossPerc = input.float(2.0, title="Stop Loss %", minval=0.0) / 100.0
takeProfitPerc = input.float(4.0, title="Take Profit %", minval=0.0) / 100.0
// Trend filtresi için hareketli ortalama
maLength = input.int(50, minval=1, title="Moving Average Length")
ma = ta.sma(close, maLength)
// ATR ve Alpha Trend parametreleri
lengthATR = input.int(14, minval=1, title="ATR Length")
multiplier = input.float(1.5, minval=0.1, step=0.1, title="Multiplier")
// ATR hesaplaması
atr = ta.atr(lengthATR)
// Alpha Trend hesaplaması
upperLevel = close + (multiplier * atr)
lowerLevel = close - (multiplier * atr)
var float alphaTrend = na
alphaTrend := na(alphaTrend[1]) ? close : (close > lowerLevel[1] ? math.max(alphaTrend[1], lowerLevel) : close < upperLevel[1] ? math.min(alphaTrend[1], upperLevel) : alphaTrend[1])
// Son belirlenen mumun en yüksek ve en düşük kapanış fiyatlarını hesaplayalım
highestClose = ta.highest(close, length)
lowestClose = ta.lowest(close, length)
// Alım ve satım sinyalleri
buySignal = close > highestClose[1] and close[1] <= highestClose[1] and close > ma and close > alphaTrend
sellSignal = close < lowestClose[1] and close[1] >= lowestClose[1] and close < ma and close < alphaTrend
// Alım işlemi
if (buySignal)
strategy.entry("Buy", strategy.long, stop=close * (1 - stopLossPerc), limit=close * (1 + takeProfitPerc))
// Satım işlemi
if (sellSignal)
strategy.entry("Sell", strategy.short, stop=close * (1 + stopLossPerc), limit=close * (1 - takeProfitPerc))
// Grafik üzerine göstergeler ekleyelim
plot(highestClose, color=color.green, linewidth=2, title="Highest Close")
plot(lowestClose, color=color.red, linewidth=2, title="Lowest Close")
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(alphaTrend, color=color.orange, linewidth=2, title="Alpha Trend")
// Alım ve satım sinyalleri için işaretleyiciler ekleyelim
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")