스톱 로스로 트렌드를 따르는 전략

저자:차오장, 날짜: 2024-01-12 14:55:40
태그:

img

전반적인 설명

이 전략은 슈퍼트렌드 지표를 계산하여 가격 트렌드를 식별하고 트렌드가 변할 때 긴 또는 짧은 포지션을 설정합니다. 또한 위험을 제어하기 위해 스톱 로스 및 수익 수준을 설정합니다.

전략 원칙

이 전략은 슈퍼트렌드 지표를 계산하기 위해 ta.supertrend (() 함수를 사용합니다. 슈퍼트렌드는 가격이 상승 추세 또는 하락 추세인지 결정하기 위해 평균 진정한 범위와 평균 가격을 결합합니다. 가격이 하락 추세에서 상승 추세로 변할 때 전략은 ta.change (() 를 사용하여 방향의 변화를 감지하고 긴 위치를 설정합니다. 가격이 상승 추세에서 하락 추세로 변할 때 짧은 위치를 취합니다.

스톱 로스 레벨 스톱_로스 레벨 및 취득 레벨 이익은 위험을 제어하기 위해 포지션을 입력한 후 스톱 로스 오더를 배치하고 수익 오더를 취하기 위해 설정됩니다.

특히 이 전략은 다음과 같은 단계를 통해 실행됩니다.

  1. 슈퍼트렌드 지표 방향 계산
  2. 가격이 하락 경향에서 상승 추세로 변했는지 확인하고, 그렇다면 긴 포지션을 설정합니다.
  3. 가격이 상승 추세에서 하락 추세로 바뀌었는지 확인하고, 그렇다면 짧은 포지션을 취합니다.
  4. 로그 포지션의 스톱 로스 가격을 설정하고 포지션이 설정된 후 수익을 취합니다.
  5. 정지 손실 가격을 설정 하 고 설정 된 후 짧은 위치에 대한 이익 가격을 취

위의 단계들은 트렌드 변화를 효과적으로 파악하고 적절한 순간에 포지션을 취할 수 있다. 스톱 로스 및 트레이프 로프 설정은 위험을 통제하는 데 도움이 된다. 전반적으로 트렌드 다음 전략은 상대적으로 안정적이다.

이점 분석

이 전략의 가장 큰 장점은 수동 판단의 필요 없이 트렌드 변화를 자동으로 추적할 수 있다는 것입니다. 슈퍼트렌드 지표는 가격 변동에 필터링 효과를 가지고 있으며 트렌드를 효과적으로 식별하여 과도한 포지션을 피합니다.

또한, 미리 정의된 스톱 러스 및 영업 레벨은 자동 스톱 러스 및 영업 취득을 허용하여 단일 거래 손실을 효과적으로 제한하고 수익을 잠금합니다. 이는 양적 거래 전략에 매우 중요합니다.

간단한 이동 평균 전략과 비교하면 이 전략은 트렌드 식별에 뛰어난 능력을 가지고 있으며 트렌드 시장에 더 적합합니다.

위험 분석

이 전략의 가장 큰 위험은 슈퍼트렌드 지표의 잘못된 매개 변수 조정에서 비롯됩니다. 매개 변수가 적절히 설정되지 않으면 트렌드 변화를 감지하는 지표의 효과는 고통받을 수 있습니다. 너무 긴 ATR 기간 또는 너무 작은 요인은 가격 움직임에 대한 슈퍼트렌드의 반응을 늦추고 놓친 진입 기회를 유발할 수 있습니다.

또한, 스톱 로스 및 토프 이윤 수준은 전략 성능에 크게 영향을 미칩니다. 너무 긴 스톱 로스는 너무 빨리 중단 될 수 있습니다. 너무 넓은 토프 이윤은 이상적인 출구 지점을 놓칠 수 있습니다. 다양한 시장 조건과 거래 도구에 최적의 매개 변수 값을 찾기 위해 광범위한 최적화가 필요합니다.

마지막으로, 모든 트렌드를 따르는 전략과 마찬가지로, 갑작스러운 트렌드 역전 및 윙사우는 여전히 적절한 돈 관리로 통제되어야하는 손실을 일으킬 수 있습니다.

더 나은 기회

전략의 다음 측면은 향상될 수 있습니다.

  1. 백트테스팅을 통해 ATR 기간과 인수를 포함한 슈퍼트렌드 지표의 매개 변수를 최적화합니다.

  2. 수익률과 마감률과 같은 성과 메트릭에 기반한 포지션 사이징 규칙을 포함합니다.

  3. 트렌드 식별에 도움이 되는 기계 학습 모델로 증강.

  4. 잘못된 신호를 피하기 위해 이동 평균과 변동성 측정과 같은 다른 지표에 기반한 필터를 추가합니다.

  5. 동적으로 스톱 로스를 최적화하고 시장 변동성과 포지션 크기에 따라 수익 수준을 취합니다.

위의 개선은 전략의 수익성, 안정성 및 위험 관리에 도움이 될 수 있습니다.

결론

전체적으로, 이것은 트렌드 다음 전략의 매우 실용적인 방법입니다. 트렌드 변화를 자동으로 추적하고 위험을 제어하기 위해 스톱 로스를 사용하고 이익을 취합니다. 간단한 이동 평균 전략에 비해 우수한 트렌드 식별 기능을 가지고 있으며 트렌드 시장에 더 적합합니다. 일부 매개 변수 최적화 및 기계 학습 증강으로이 전략은 더 나은 안정성과 이익을 얻을 수 있습니다. 추가 연구와 응용을받을 자격이 있습니다.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)

// Stop loss and profit amount
stop_loss = input(300, title="Stop Loss Amount")
profit = input (800, title="Profit Amount")

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0
long_condition_1= (long_condition)?1:0
short_condition_2 = (short_condition)?1:0

stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)

if (long_condition)
    strategy.entry("Michael3 Long Entry Id", strategy.long)

if (short_condition)
    strategy.entry("Michael3 Short Entry Id", strategy.short)


if (strategy.position_size>0)
    strategy.exit("exit_long",from_entry="Michael3 Long Entry Id",limit=profit_price_long,stop=stop_price_long)

if (strategy.position_size<0)
    strategy.exit("exit_short",from_entry="Michael3 Short Entry Id",limit=profit_price_short,stop=stop_price_short)    
    


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

더 많은