
이 전략은 브레이크 사이클의 높고 낮을 기준으로 트렌드 방향을 판단하고, 가격이 브레이크 사이클의 높을 때 더 많이 하고, 브레이크 사이클의 낮을 때空白하며, 트렌드 추적 전략에 속한다.
이 전략은 먼저 사용자 설정된 주기 (日線,周線 등) 와 회전 주기 수를 읽는다. 그리고는 이 변수들에 따라 회전 주기 최고 가격과 최저 가격을 얻는다. 예를 들어, 일선 주기, 회전 1 주기로 설정하면 전날의 최고 가격과 최저 가격을 얻는다.
실제 거래에서, 종식 가격이 회귀 주기의 최저 가격에 해당하는 값보다 크면 상향으로 돌파하고, 더 많은 것을 행한다. 종식 가격이 회귀 주기의 최고 가격에 해당하는 값보다 작으면 하향으로 돌파하고, 공백을 행한다.
이런 식으로 트렌드 방향을 포착하는 것은 트렌드 추적 전략의 일종이다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
트렌드 방향은 브레이크포인트 (breakpoint) 를 기준으로 판단하고, 강점을 종합한 다음의 큰 트렌드를 파악하는 것이 쉽다.
조작이 간단하고 이해하기 쉬우며, 초보자들도 쉽게 배울 수 있습니다.
편리하게 조정 주기 파라미터를 최적화하여 다른 품종에 적용할 수 있다.
리버스 입력을 설정하여 리버스 동작을 할 수 있으며, 풍부한 전략이 적용된다.
주기적으로 높은 점과 낮은 점의 보조 판단을 그리며, 여러 가지 검증을 형성한다.
이 전략에는 몇 가지 위험도 있습니다.
효율적으로 필터링이 되지 않아 여러 번의 오작동이 발생할 수 있다.
손해를 통제할 수 없고, 어느 정도의 손실 위험이 있다.
거래비용에 민감하고 실제 수익과 손실이 다소 편차되어 있습니다.
포지션 규모를 제한할 수 없으며, 과잉 거래가 발생하고 있습니다.
위와 같은 위험, 설정할 수 있는 손실 메커니즘, 최적화 필터링 조건, 제어 포지션 수 등 방법을 최적화한다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
필터링 메커니즘을 추가하여 흔들림 평정과 빈번한 포지션 개장을 방지한다. 가격 채널, 변동률 등의 필터링 조건을 설정할 수 있다.
이동 중지 또는 시간 중지 설정. 단일 손실 위험을 제어하여 전체 수익성을 보장하십시오.
포지션 규모와 자금 관리를 최적화하여 과잉 문제를 방지하고 전략적 안정성을 보장합니다.
다양한 주기 변수의 효과를 테스트하고, 최적의 변수 조합을 선택한다.
알고리즘 거래 모듈을 추가하여 기계 학습 알고리즘을 사용하여 의사 결정 효율성을 향상시킵니다.
전반적으로, 이 돌파구 높은 낮은 점 회수 전략은 추세 추적 판단 방향에 기반하고, 간단하고 쉽게 작동하며, 초보자 학습에 적합하지만, 중매에 어려움을 겪는 위험이 있습니다. 필터링 조건, 스톱 로즈 메커니즘, 포지션 제어와 같은 최적화 수단을 추가함으로써 이러한 위험을 줄일 수 있으며, 전략의 효과를 향상시킬 수 있습니다. 이 전략은 우리가 더 많은 연구와 개선을 위해 아이디어와 참고 자료를 제공 할 수 있습니다.
/*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 )