
이 전략은 여러 기술적 지표가 결합된 트렌드 추적 시스템으로, 주로 슈퍼 트렌드 지표 ((SuperTrend) 와 200 주기 지수 이동 평균 ((EMA) 를 사용하여 시장 추세를 식별하고 거래한다. 이 전략은 또한 위험을 관리하고 수익을 잠금하기 위해 중지 손실 (SL) 및 중지 중지 (TP) 메커니즘을 통합한다.
슈퍼 트렌드 지표: ATR (Average True Range) 의 10주기와 3.0의 인자를 사용하여 계산한다. 이 지표는 시장의 전반적인 트렌드 방향을 결정하는 데 사용됩니다.
200주기 EMA: 시장의 전반적인 방향을 확인하는 데 사용되는 장기 동향 지표로.
입시 조건: 슈퍼 트렌드 지표가 상승 (녹색) 으로 바뀌고 가격이 200 EMA 이상일 때, 전략은 더 많이 입장을 니다.
출구 조건: 슈퍼 트렌드 지표가 하향으로 바뀌고 (붉은) 200 EMA를 넘으면 전략은 평정됩니다.
위험 관리: 전략은 비율에 기반한 스톱과 스톱을 사용한다. 스톱은 입시 가격의 1% 이하로 설정하고, 스톱은 입시 가격의 5% 이상으로 설정한다.
다중 확인: 슈퍼 트렌드와 200 EMA를 결합하여 전략은 강력한 상승 추세를 더 정확하게 식별하여 가짜 돌파구로 인한 손실을 줄일 수 있습니다.
트렌드 추적: 중·장기 트렌드를 포착하기 위해 설계된 전략으로, 큰 수익을 올릴 수 있습니다.
리스크 관리: 내장된 중지 및 정지 메커니즘은 거래의 위험을 통제하고 시장이 역전될 때 수익을 보호합니다.
다중전략만 사용하라: 상승세를 통해서만 거래함으로써, 전략은 부가적 인 위험과 비용을 피할 수 있다.
간단하고 명확합니다. 전략 논리는 명확하고, 이해하기 쉽고, 실행하기 쉽고, 모든 수준의 거래자에게 적합합니다.
지연성: EMA와 슈퍼 트렌드는 지연된 지표이며, 트렌드 반전의 초기에는 몇 가지 기회를 놓칠 수도 있고, 몇 가지 손실을 입을 수도 있다.
흔들리는 시장: 가로판 또는 흔들리는 시장에서, 전략이 자주 들어오고 나가며, 과도한 거래 비용을 초래할 수 있다.
고정된 스톱: 1%의 고정된 스톱은 일부 변동성이 큰 시장에서 충분히 유연하지 않을 수 있으며, 조기에 유발될 수 있다.
더 많은 제한을 사용하십시오. 수면 시장이나 장기적인 하락 추세에서 전략은 잠재적인 상쇄 기회를 놓치고 대기 상태에 오래있을 수 있습니다.
변수 감수성: 전략의 성능은 슈퍼 트렌드 및 EMA의 변수 설정에 민감할 수 있으며 신중하게 최적화해야 한다.
동적 스톱: 시장의 변동에 더 잘 적응하기 위해 추적 스톱 또는 ATR 기반의 동적 스톱을 사용할 수 있습니다.
진입 최적화: 가짜 돌파구를 줄이기 위해 거래량 확인이나 다른 동력 지표와 같은 추가 필터링 조건을 추가 할 수 있습니다.
변수 최적화: 슈퍼 트렌드의 ATR 주기 및 인자, 그리고 EMA의 주기를 회수하고 최적화하여 최적의 조합을 찾습니다.
시간 프레임 분석을 늘려: 더 포괄적인 시장 관점을 얻기 위해 여러 시간 프레임에 걸쳐 전략을 적용하는 것을 고려하십시오.
변동율 조정: 시장의 변동율에 따라 상이한 시장 환경에 적응하기 위해 중지 및 중지 수준을 조정합니다.
적자를 고려하십시오: 적당한 시장 조건에서 적자 논리를 추가하여 하향 추세를 최대한 활용할 수 있습니다.
자금 관리: 더 복잡한 포지션 관리 시스템을 구현하여 시장 상황과 계정 규모에 따라 거래량을 동적으로 조정합니다.
이 전략은 슈퍼 트렌드, EMA 200 및 위험 관리를 결합한 다중 기술 지표 트렌드 추적 전략을 통해 거래자에게 비교적 안정적인 거래 프레임 워크를 제공합니다. 이 전략은 여러 지표의 장점을 활용하여 강력한 상승 추세를 포착하는 동시에 시장의 역전시 자금을 보호하는 것을 목표로합니다.
그러나, 거래자는 전략의 한계를 인식해야 합니다. 예를 들어, 흔들리는 시장에서 좋지 않은 성과가 발생할 수 있으며, 하락하는 시장에서 여러 전략만 수행하는 것. 동적 스톱을 구현하고, 여러 시간 프레임 분석 및 적자를 고려하는 것과 같은 지속적인 최적화 및 조정으로 전략의 거칠성과 적응력을 더욱 높일 수 있습니다.
전체적으로 이 전략은 기술 분석과 트렌드 추적에 좋은 출발점을 제공하지만, 성공적인 적용은 또한 상인의 지속적인 모니터링, 최적화 및 시장 통찰력을 필요로 한다. 실제 거래에서 사용하기 전에, 전략이 개인의 거래 스타일과 위험 용도에 맞는지 확인하기 위해 충분한 회귀 및 시뮬레이션 거래를 수행하는 것이 좋습니다.
/*backtest
start: 2023-07-20 00:00:00
end: 2024-07-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend + EMA 200 Long Only Strategy with SL and TP", overlay=true)
// Inputs for Supertrend
atr_length = input.int(10, title="ATR Length")
factor = input.float(3.0, title="ATR Factor")
// Input for EMA
ema_length = input.int(200, title="EMA Length")
// Inputs for Stop Loss and Take Profit
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", step=0.1) / 100
take_profit_perc = input.float(5.0, title="Take Profit Percentage", step=0.1) / 100
// Calculate EMA 200
ema_200 = ta.ema(close, ema_length)
// Calculate Supertrend
atr = ta.atr(atr_length)
upperband = hl2 + (factor * atr)
lowerband = hl2 - (factor * atr)
var float supertrend = na
var int direction = na
// Initialize supertrend on first bar
if (na(supertrend[1]))
supertrend := lowerband
direction := 1
else
// Update supertrend value
if (direction == 1)
supertrend := close < supertrend[1] ? upperband : math.max(supertrend[1], lowerband)
else
supertrend := close > supertrend[1] ? lowerband : math.min(supertrend[1], upperband)
// Update direction
direction := close > supertrend ? 1 : -1
// Buy condition: Supertrend is green and price is above EMA 200
longCondition = direction == 1 and close > ema_200
// Sell condition: Supertrend is red and price is below EMA 200
exitCondition = direction == -1 and close < ema_200
// Plot EMA 200
plot(ema_200, title="EMA 200", color=color.blue, linewidth=2)
// Plot Supertrend
plot(supertrend, title="Supertrend", color=direction == 1 ? color.green : color.red, linewidth=2)
// Calculate stop loss and take profit levels
long_stop_loss = close * (1 - stop_loss_perc)
long_take_profit = close * (1 + take_profit_perc)
// Strategy Entry and Exit
if (longCondition and not na(supertrend))
strategy.entry("Long", strategy.long, stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size > 0 and exitCondition)
strategy.close("Long")