이 전략의 주요 아이디어는 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동시 동
이 전략의 핵심 지표는 Parabolic SAR이며, 가격을 추적하고 트렌드 반전을 판단할 수 있는 기술 분석 도구이다. 계산 공식은 더 복잡하지만 원칙은 더 간단하다. SAR 지표는 자신의 위치를 계속 조정하여 항상 가격의 뒤에서 유지하며, 가격이 반전되면 즉시 가격의 다른 쪽으로 위치를 조정한다. 따라서 SAR 지표의 가격에 대한 위치를 관찰하는 것 만으로 현재의 트렌드 방향을 판단 할 수 있습니다.
이 전략을 보조하는 또 다른 지표는 EMA이다. SAR와 달리 EMA는 트렌드의 지속성을 판단하는 데 더 적합하다. 가격이 EMA를 뚫고 나서야 진입할 수 있도록 요구함으로써 일부 잡음을 효과적으로 필터링 할 수 있다. 그리고 EMA는 역전 신호를 확인하는 데에도 사용될 수 있다. 예를 들어 가격이 상승 추세인 EMA를 넘어서는 것은 트렌드 역전 신호일 가능성이 높다.
이 전략의 구체적인 거래 규칙은 다음과 같습니다.
패러볼릭 SAR을 통해 큰 트렌드를 판단하고, EMA 필터링을 사용하여 잘못된 신호를 사용하여 트렌드를 고정하고 위험을 제어 할 수 있으며, 트렌드에 대한 효과적인 추적을 구현합니다.
이 전략은 다음과 같은 주요 장점을 가지고 있습니다.
전체적으로, 이 전략은 여러 지표의 장점을 통합하고, 트렌드를 파악하면서도 효과적인 위험 관리를 수행하며, 안정적이고 쉽게 파악할 수 있는 트렌드 추적 전략이다.
이 전략의 장점에도 불구하고 실제 운영에는 다음과 같은 위험 요소가 있습니다.
위와 같은 위험을 줄이기 위해 다음과 같은 측면에서 최적화할 수 있습니다.
이 전략을 더 개선하기 위해 다음과 같은 방안을 고려할 수 있습니다.
최적화 매개 변수 설정. 유전 알고리즘과 같은 더 체계적인 방법을 통해 EMA와 SAR의 매개 변수를 테스트하고 최적화하여 최적의 매개 변수 조합을 찾을 수 있다.
트렌드를 판단하는 도구를 추가한다. MACD, 브린 띠와 같은 다른 지표와 함께 트렌드를 확인하고 정확도를 높일 수 있다.
다이내믹 스톱을 설정한다. ATR과 같은 지표에 따라 다이내믹 스톱을 설정할 수 있어 스톱을 더 유연하게 설정한다.
거래 비용을 고려하십시오. 슬라이드 포인트와 수수료 파라미터를 도입하여 절대 수익보다는 순 수익을 최적화하십시오.
계층적 입출장 ᅲᅲ 더 복잡한 다단계 입출장 ᅲᅲ 메커니즘을 설정할 수 있으며, 트렌드의 다양한 단계에서 배치된 입출장 ᅲᅲ 또는 중지 ᅲᅲ
위와 같은 몇 가지 최적화를 통해, 전략은 추세를 추적하면서 더 높은 안정성과 더 정확한 판단과 더 강력한 위험 제어 능력을 얻을 수 있으며, 따라서 더 나은 성과를 얻을 수 있습니다.
Parabolic SAR와 EMA의 트렌드 추적 전략에 기반하여, 여러 지표가 트렌드 방향을 판단하고 입시 시기의 장점을 통합하고, SAR를 중지 지점으로 설정하여, 위험을 제어하는 것은, 비교적 안정적인 성능을 보여주는 수치화 전략이다. 이 전략은 판단 정확도 높고, 쉽게 습득하는 등의 장점을 가지고 있으며, 투자자들이 참고할 가치가 있다.
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Parabolic SAR Strategy w/ EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
emalength = input(100 , "EMA Length")
emaoffset = input(0.00, "EMA Offset %")
start = input(0.015)
increment = input(0.005)
maximum = input(0.2)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
psar = sar(start, increment, maximum)
ema = ema(close, emalength)
offset = (emaoffset / 100) * ema
// Signals
psar_long = high[1] < psar[2] and high > psar[1]
psar_short = low[1] > psar[2] and low < psar[1]
// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)
//Plot EMA
plot(ema)
if(psar_long)
strategy.close("Short")
if(psar_short)
strategy.close("Long")
if (psar < low and time_cond and close > ema + offset)
strategy.entry("Long", strategy.long, comment="Long", stop = psar)
if (psar > high and time_cond and close < ema - offset)
strategy.entry("Short", strategy.short, comment="Short", stop = psar)
if (not time_cond)
strategy.close_all()