이윤을 취하고 손실을 멈추는 다이프를 구매합니다.

저자:차오장, 날짜: 2023-11-23 16:50:01
태그:

img

전반적인 설명

이 전략은 가격 하락을 동적으로 추적하고 가격 하락 후 오랫동안 지속하여 적응적 인 수익 및 스톱 손실을 통해 수익을 확보하고 위험을 제어하여 높은 승률을 위해 수익을 취합니다.

원칙

이 전략의 핵심 논리는 동적 인 이윤을 취하고 손실을 멈추는 포지션을 계산하기 위해 ATR 지표를 사용하는 것입니다. 구체적으로, 폐쇄 가격이 지난 n 일 동안 가장 낮은 수준 (코드에서 7 일로 설정) 이면 긴 신호가 활성화됩니다. 긴 포지션 동안, 이윤을 취하고 손실을 멈추는 가격은 ATR 지표 (ATR 곱하기로 설정) 에 따라 동적으로 계산되고 실시간 차트에 표시됩니다. 가격이 이윤을 취하거나 손실을 멈추는 지점에 도달하면 이윤 취출 또는 위험 통제가 달성 될 수 있습니다.

이 전략은 가장 간단한 구매 다이프 접근법과 동적 스톱 로스/이익 취득의 아이디어를 결합하여 위험을 통제하면서 적시에 기회를 포착합니다.

장점

이 전략의 주요 장점은 다음과 같습니다.

  1. 동적 ATR 지표를 사용하여 스톱 로스 및 영리를 설정하면 시장 변동성에 따라 P / L 수준을 조정하여 불필요한 손실 또는 과도하게 고정된 스톱 로스 / 영업으로 인해 더 큰 수익 기회를 놓칠 수 있습니다. 이것은 전략의 가장 큰 하이라이트입니다.

  2. 하락 전략 구매는 시장 통합 중 가격이 비정상적으로 지원 수준 아래로 떨어지고 다시 회복될 가능성이 높은 경우 높은 승률을 나타냅니다.

  3. ATR 값을 통해 수익/손실 중단 비율을 추정하는 것은 합리적이며 시장 조건과 개인의 위험 용량에 따라 유연하게 설정될 수 있습니다.

  4. 코드 로직은 간단하고 명확하며 이해하기 쉽습니다. 매개 변수 설정 또한 직관적입니다. 학습에 대한 모범적인 전략으로 적합합니다.

위험성

이 전략의 주요 위험은 다음과 같습니다.

  1. 하락 후 리바운드의 진폭과 강도를 결정할 수 없습니다. 수익 기대치가 떨어질 위험이 있습니다. 다른 수익 범위를 설정하기 위해 ATR 매개 변수를 조정하여 해결할 수 있습니다.

  2. 가격이 지지율을 깨고 계속 떨어질 때 손실에 걸리는 위험이 있으며 더 큰 손실을 당할 수 있습니다. 포지션 크기를 줄이고 손해를 막는 ATR 곱셈을 최대 손실로 낮추면 이를 완화 할 수 있습니다.

  3. 스톱 손실이 너무 긴 경우 불필요한 스톱 아웃을 피하기 위해 ATR 배수는 더 느슨하게 설정해야합니다.

  4. 백테스트 과도한 적합성 위험. 적절한 미끄러짐 / 작동 설정과 함께 다른 시장 조건에서 테스트가 필요합니다.

강화

이 전략은 다음과 같은 측면에서 향상될 수 있습니다.

  1. 지원 수준 및 신호 결정 최적화. KDJ 또는 볼링거 밴드와 같은 더 정교한 지표는 반전 신호를 더 안정적으로 판단하는 데 사용할 수 있습니다.

  2. 포지션 사이즈 규칙을 최적화합니다. 시장 변동성 등을 기반으로 포지션 크기를 동적으로 조정합니다.

  3. 트레일링 스톱 로스 모듈을 구현합니다. 부분적인 수익을 확보하기 위해 가격이 특정 범위로 올라간 후에 스톱을 강화합니다.

  4. 컨플루언스 필터를 추가합니다. 해당 부문 / 넓은 시장도 지원에 도달하면 신호 신뢰성을 확인합니다.

결론

이 전략은 리스크 통제를 위해 수익/손실 중지 (take profit/stop loss) 을 통해 매출 하락을 통해 평균 역전 기회를 포착한다. 더 많은 정교화 여건에도 불구하고 초보자들도 이해하기 쉽고 배울 수 있을 정도로 간단하다. 추가 개선은 탄력성과 적응력을 향상시킬 수 있다.


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © racer8
//@version=4
strategy("Buy-The-Dip", overlay=true)

atn = input(15, "ATR Period")
atr = sma(tr,atn)[1]
bought = strategy.position_size[0] > strategy.position_size[1]

slm = input(2.0,"ATR SL Multiple",minval=0)
StopPrice  = strategy.position_avg_price - slm*atr              // determines stop loss's price 
FixedStopPrice = valuewhen(bought,StopPrice,0)                  // stores original StopPrice  
plot(FixedStopPrice,"Stop Loss",color=color.red,linewidth=2,style=plot.style_cross)

tpm = input(1.0,"ATR TP Multiple",minval=0)
TakePrice  = strategy.position_avg_price + tpm*atr              // determines Take Profit's price 
FixedTakePrice = valuewhen(bought,TakePrice,0)                  // stores original TakePrice  
plot(FixedTakePrice,"Take Profit",color=color.green,linewidth=2,style=plot.style_cross)

nn = input(7,"Channel Length")
ll = lowest(low,nn)

if close<ll[1]
    strategy.entry("Buy",strategy.long)
if strategy.position_size > 0
    strategy.exit(id="XL SL", stop=FixedStopPrice, limit=FixedTakePrice)    // commands stop loss order to exit!

plot(ll,color=color.orange)

더 많은