극단적인 반전 추적 전략


생성 날짜: 2024-02-20 15:17:41 마지막으로 수정됨: 2024-02-20 15:17:41
복사: 0 클릭수: 605
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

극단적인 반전 추적 전략

개요

극한 역전 추적 전략은 가격 변동의 극한 지점을 추적하여 극한 지점에서 역전으로 더 많은 코카이드를 하고, 트렌드 추적을 실현한다.

전략 원칙

이 전략은 주로 다음과 같은 원칙에 기초하여 작동합니다.

  1. security 함수를 사용하여 서로 다른 주기 K 선의 최고값high과 최저값low을 얻어, 이전 K 선의 최고값low과 같는지 검출하여 새로운 극한값이 도달했는지 판단한다.

  2. 새로운 극한점이 검출될 때, 현재가 다목적일 경우, 그 극한점에서는 역으로 공백을 한다. 현재가 공석일 경우, 그 극한점에서는 역으로 공백을 한다.

  3. 트렌드 추적 스톱을 구현하기 위해, 스톱 포인트를 추가 코어 후 형성되는 새로운 극한 포인트로 설정합니다.

  4. 연일에서 월일까지의 정책이 적용되는 시간 범위를 설정하여 다양한 기간에 대한 정책 조정을 수행합니다.

전략적 이점

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 가격의 변화를 효과적으로 포착할 수 있는 극한점, 역전작업, 트렌드 추적을 구현한다.

  2. 시간 및 자금 관리가 설정되어 전략의 사용 시간 및 사용 자금을 제어하여 위험을 줄일 수 있습니다.

  3. 새로운 극한 지점을 중지 지점으로 사용하여, 새로운 가격 변동 범위에 따라 중지 위치를 조정하여 동적 중단을 달성 할 수 있습니다.

  4. 전략 논리는 간단하고 명확하며, 이해하기 쉽고, 디비팅 및 최적화를 용이하게 합니다.

전략적 위험

이 전략에는 위험도 있습니다.

  1. 극한점 판단에는 잘못된 판단이 발생할 수 있으며, 이로 인해 더 많은 공백 오류가 발생합니다. 극한점 판단 논리를 조정하여 최적화 할 수 있습니다.

  2. 진입 지점 근처에 있는 스톱은 스톱이 유발되는 확률을 높일 수 있다. 오프 필드 레게크스를 설치하면 스톱이 떠있는 것을 해결할 수 있다.

  3. 추세에 따른 포지션 및 역 포지션 논리를 고려하지 않고는 추세 상황에서 수익을 얻는 것이 어려울 수 있습니다. 포지션 및 역 포지션 규칙을 추가하여 최적화 할 수 있습니다.

  4. 통화 및 시간 범위 설정은 고정되어 있으며, 동적으로 조정할 수 없습니다. 파라미터 최적화 시스템을 구축하여 해결할 수 있습니다.

전략 최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 극한점 판단 논리를 최적화하고, 더 많은 필터링 조건을 추가하여 잘못된 판단을 방지한다.

  2. 가격과 변동의 크기에 따라 손해배상 거리를 조정하는 부동 손해 방지 장치를 추가하십시오.

  3. 트렌드 및 변동에 기반을 둔 포지션 및 역 포지션 모듈을 추가하여 수익성을 향상시킵니다.

  4. 매개 변수 최적화 메커니즘을 구축하여 매개 변수 자동화 테스트 및 최적화를 구현하십시오.

  5. 기계학습 모델에 참여하여 행동을 판단하고 전략적 의사결정을 지원합니다.

요약하다

이 극한 역추적 전략은 가격 변화의 극한점을 포착하고 트렌드 운행을 추적함으로써 강력한 적응력과 수익성을 갖는다. 극한점 판단, 스톱 로드 메커니즘, 포지션 개시 규칙 등의 측면을 계속 최적화 한 후, 이 전략은 안정적이고 신뢰할 수 있는 양적 거래 전략이 될 전망이다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Extremum Strategy v1.0", shorttitle = "Extremum str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = 'Timeframe for extremums')
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
highm = request.security(syminfo.tickerid, tf, high[1])
lowm = request.security(syminfo.tickerid, tf, low[1])
upcolorm = highm == highm[1] ? lime : na
dncolorm = lowm == lowm[1] ? red : na
plot(highm, color = upcolorm, linewidth = 3)
plot(lowm, color = dncolorm, linewidth = 3)

//Signals
size = strategy.position_size
up = size > 0 ? highm * 1000000 : highm != highm[1] ? highm : up[1]
dn = size < 0 ? 0 : lowm != lowm[1] ? lowm : dn[1]
exit = true

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if highm > 0 and high[1] < highm and highm == highm[1]
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = up)
    
if lowm > 0 and low[1] > lowm and lowm == lowm[1]
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dn)

if exit
    strategy.close_all()