리소스 로딩... 로딩...

돌파구 고점과 하락 역 테스트 전략

저자:차오장, 날짜: 2024-01-08 16:13:44
태그:

img

전반적인 설명

이 전략은 주기적인 최고와 최하위를 통과하는 것을 기반으로 트렌드 방향을 판단합니다. 가격이 주기적인 최고를 통과 할 때 길게 가고 가격이 주기적인 최하위를 넘어갈 때 짧게됩니다. 트렌드 추적 전략에 속합니다.

원칙

전략은 먼저 사용자 정의 주기 (일간, 주간, 등) 및 룩백 기간을 읽습니다. 그 다음이 매개 변수에 따라 룩백 기간의 가장 높고 가장 낮은 가격을 얻습니다. 예를 들어, 매일 주기 및 룩백 1 기간으로 설정되면 전날의 가장 높고 가장 낮은 가격을 얻습니다.

실제 거래에서, 종료 가격이 룩백 기간의 최저 가격보다 크거나 같다면, 그것은 상향 돌파로 판단되고 길게 간다. 종료 가격이 룩백 기간의 가장 높은 가격보다 작거나 같다면, 그것은 하향 돌파로 판단되고 짧게 간다.

주기적인 상승과 하락을 통해 트렌드 방향을 파악함으로써 이 전략은 일종의 트렌드 추적 전략에 속합니다.

이점 분석

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

  1. 큰 추세를 포착하고 강력한 통합을 통해 돌파점을 기준으로 방향을 판단합니다.

  2. 간단하고 이해하기 쉽죠. 초보자들도 배울 수 있고 사용할 수 있습니다.

  3. 다양한 품종에 적용 가능한 주기적인 매개 변수를 조정하여 최적화 할 수 있습니다.

  4. 역동 동작을 위한 역입력을 설정할 수 있어 전략 사용을 풍부하게 합니다.

  5. 판단을 돕기 위해 주기적인 상승과 하락을 도출하고 다중 검증을 형성합니다.

위험 분석

또한 몇 가지 위험이 있습니다.

  1. 편향 변동성을 효과적으로 필터링할 수 없습니다. 여러 가지 오류가 발생할 수 있습니다.

  2. 정지 손실을 통제할 수 없습니다. 어떤 정도의 손실 위험이 있습니다.

  3. 거래비용에 민감한 실제 PnL가 오차할 수 있습니다.

  4. 포지션 크기를 제한할 수 없습니다. 과잉 거래 위험이 있습니다.

이러한 위험을 해결하기 위해 스톱 로스 설정, 필터 조건을 최적화, 포지션 크기를 제어하는 방법과 같은 방법을 사용할 수 있습니다.

최적화

주요 최적화 방향은 다음과 같습니다.

  1. 옆에서 자주 열리는 것을 피하기 위해 필터 메커니즘을 추가합니다. 가격 채널, 변동성 필터 등을 설정하십시오.

  2. 트레일링 스톱 손실 또는 시간 스톱 손실을 설정하여 단일 손실 위험을 제어하고 전반적인 수익성을 보장합니다.

  3. 포지션 크기와 자금 관리를 최적화하여 과잉 거래를 방지하고 안정성을 보장합니다.

  4. 다른 주기적 매개 변수의 효과를 테스트하고 최적의 매개 변수 조합을 선택합니다.

  5. 알고리즘 트레이딩 모듈을 늘리고 머신 러닝 알고리즘을 사용하여 의사결정 효율을 높여

요약

요약하자면, 이 획기적인 높은 낮은 백테스트 전략은 트렌드 추적을 기반으로 작동하는 것이 간단하며, 초보자도 배울 수 있지만, 함락 될 위험이 있습니다. 필터, 정지, 위치 제어와 같은 최적화를 추가함으로써 이러한 위험을 줄이고 전략 결과를 향상시킬 수 있습니다. 그것은 우리의 추가 연구와 개선에 대한 아이디어와 참조를 제공할 수 있습니다.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow   = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

더 많은