극심한 반전 추적 전략

저자:차오장, 날짜: 2024-02-20 15:17:41
태그:

img

전반적인 설명

극심 리버션 추적 전략은 가격 변동 범위의 극심 지점을 추적하고 추세를 추적하기 위해 극심 지점에서 긴 / 짧은 포지션을 반전합니다.

전략 원칙

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

  1. 보안 함수를 사용하여 다른 사이클 K 라인의 높은 가격과 낮은 가격을 얻어서 이전 가격과 동일하는지 확인하고 새로운 극심점에 도달했는지 판단합니다.

  2. 새로운 극한점이 발견되면, 현재 황소시장이라면 짧은 포지션을 하고, 현재 곰시장이라면 긴 포지션을 합니다.

  3. 스톱 로스 포인트를 설정하십시오. 스톱 로스 트렌드를 추적하기 위해 긴/단지 포지션이 형성된 후 형성된 새로운 극단 포인트입니다.

  4. 다른 기간에 대한 조정을 수행하기 위해 시작 년, 달 및 날짜를 구성하여 전략의 효과적인 시간 범위를 설정하십시오.

장점

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

  1. 가격 변화의 극한점을 효과적으로 파악하고 트렌드를 추적하기 위해 역전 포지션을 만듭니다.

  2. 리스크를 줄이기 위해 전략의 사용 시간과 자본을 제어하기 위해 시간 및 리스크 관리를 구성합니다.

  3. 새로운 절단 지점을 Stop Loss 지점으로 사용하여 새로운 가격 변동 범위에 따라 Stop Loss 포지션을 동적으로 조정합니다.

  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()

더 많은