% Stop Loss Take Profit Trailing 전략

저자:차오장, 날짜: 2023-09-25 18:09:14
태그:

전반적인 설명

이것은 트렌드 방향을 결정하기 위해 SMA를 사용하여 수익을 차단하고 위험을 제어하기 위해 비율 기반의 스톱 손실을 설정하고 이익을 취하는 간단한 트렌드 다음 전략입니다. 이동 스톱 손실 전략 범주에 속합니다.

전략 논리

이 전략은 먼저 200일 SMA 라인을 계산한다. 가격이 SMA 라인을 넘을 때 상승 추세를 신호하고 긴 거리를 가한다. 진입 후, 전략은 입시 가격 아래 2%와 같은 고정 비율의 스톱 로스 레벨과 입시 가격 위 1%와 같은 고정 비율의 수익 수준을 사용합니다. 어느 레벨에 도달하면 포지션을 닫을 것입니다.

구체적으로, 전략은 200일 SMA 이상의 근접 가격 교차를 거래 신호로 사용합니다. 근접이 SMA 이상으로 갈 때, 그것은 장거리로 들어갑니다. 진입 후 전략은 입시 가격을 기록하고, 스톱 손실 = 입시 가격 * (1 - 스톱 손실 %); 취득 = 입시 가격 * (1 + 취득 %) 을 계산합니다. 가격이 스톱 손실 이하로 떨어지거나 취득 이상의 상승하면 긴 포지션을 닫을 것입니다.

이 방법으로, 전략은 가격이 올바른 방향으로 이동하는 한 이익을 잠금 할 수 있습니다. 손실이 발생하면, 그것은 중지 손실에 의해 제한됩니다. 비율을 조정함으로써, 이익과 위험이 사용자 정의 될 수 있습니다.

이점 분석

  • 구현하기 쉽다

트렌드 및 비율 스톱 로스/프로피트 취득을 위해 SMA를 사용하는 것은 간단하고 쉽게 구현할 수 있습니다.

  • 거래당 손실 제한

미리 설정된 스톱 로스는 손실을 고정된 비율 이하로 유지하여 위험을 조절하는 데 도움이됩니다.

  • 수익에 대한 트레일링 스톱 잠금

이윤의 증가에 따라 수익 수준이 상승하여, 막히는 대신 이윤을 확보하는 데 도움이 됩니다.

  • 사용자 정의 가능한 이익/손실 특성

이 비율은 수익 및 위험 매개 변수를 정의하기 위해 조정될 수 있습니다.

위험 분석

  • 시장에서 휘프사

격동적인 범위 시장에서, 중지 손실은 종종 작은 손실로 이어질 수 있습니다.

  • SMA가 가격에 뒤떨어집니다.

SMA 자체는 가격에 뒤떨어지고 가장 좋은 입시 시기를 놓칠 수 있습니다.

  • 거래 비용을 무시합니다

작은 스톱/트랙 노프 설정은 거래 비용을 고려하지 않고 빈도를 증가시킵니다.

  • 정적 인 % 스톱 로스

%STOP Loss는 변동성 변화에 적응하지 못합니다. 큰 움직임에 따라 쉽게 빠져나갑니다.

개선 방향

  • 시장에 대한 매개 변수를 최적화

SMA 매개 변수를 조정하고, 최적의 균형을 찾기 위해 다른 스톱/테이크 비율을 테스트합니다.

  • 변동성에 기반한 동적 중지

최근 변동성에 따라 정지 비율을 조정하여 정지 가능성을 낮추십시오.

  • 실제 거래 비용과 백테스트

이윤을 최적화하기 위해 리크테스트에 대한 미끄러짐, 수수료 비용을 포함합니다.

  • 복수 세션 백트테스트

가장 좋은 매개 변수를 찾기 위해 높은 활동과 낮은 활동 세션에 대해 별도로 백테스트하십시오.

요약

이 전략은 수익/위험 조정을 허용하면서 트렌드 및 비율 스톱/테이크를 위한 SMA를 간단한 형식으로 결합합니다. 그러나 신호와 스톱 설정은 개선될 수 있습니다. 변동성 적응 스톱, 거래 비용 등과 같은 측면은 간단한 기초에서 안정적인 결과를 달성하기 위해 고려되어야합니다.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Stop Loss Example: Simple Stoploss", overlay=true)

sma_per = input(200, title='SMA Lookback Period', minval=1)
sl_inp = input(2.0, title='Stop Loss %', type=float)/100
tp_inp = input(1.0, title='Take Profit %', type=float)/100

sma = sma(close, sma_per)

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)

strategy.entry("Simple SMA Entry", strategy.long, when=crossover(close, sma))

strategy.exit("Stop Loss/TP","Simple SMA Entry", stop=stop_level, limit=take_level)

plot(sma, color=orange, linewidth=2)
plot(stop_level, color=red, style=linebr, linewidth=2)
plot(take_level, color=green, style=linebr, linewidth=2)

더 많은