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

피셔 트랜스포름 동적 임계 트렌드 전략

저자:차오장, 날짜: 2024-06-17 15:01:19
태그:

img

전반적인 설명

피셔 트랜스포름 동적 임계 트렌드 추적 전략은 피셔 트랜스포름 지표를 사용하여 가격 트렌드의 변화를 식별합니다. 전략은 피셔 트랜스포름을 사용하여 가격을 표준 스케일로 정상화하여 잠재적 인 트렌드 역전 지점을 더 쉽게 탐지 할 수 있습니다. 임계치를 동적으로 조정함으로써 전략은 다른 시장 조건에 적응하고 트렌드 인식의 정확성을 향상시킵니다. 피셔 트랜스포름 값이 긍정적 인 또는 부정적인 임계치를 넘으면 전략은 시장 트렌드를 따라 구매 또는 판매 신호를 생성합니다.

전략 원칙

  1. 피셔 변환 값을 계산합니다. 역사적 높은 가격과 낮은 가격에 기초하여 현재 가격을 정상화하여 -0.999에서 0.999 사이의 피셔 변환 값을 얻습니다.
  2. 동적 문턱: 피셔 변환 값의 역사적 변동성에 기초하여 다른 시장 상태에 적응하기 위해 구매 및 판매 신호의 문턱을 동적으로 조정합니다.
  3. 트렌드 결정: 현재의 피셔 변환 값을 이전 두 기간의 값과 비교하여 가격 트렌드의 변화를 결정합니다.
  4. 구매 및 판매 신호: 피셔 변환 값이 아래로부터 부정적인 임계값을 넘을 때 구매 신호를 생성하고 피셔 변환 값이 위에서 긍정적 임계값을 넘을 때 판매 신호를 생성합니다.

이점 분석

  1. 동적 임계 조정: 트렌드 판단의 정확성을 높이기 위해 시장 변동성에 따라 구매 및 판매 임계치를 적응적으로 조정합니다.
  2. 트렌드 추적: 피셔 트랜스포름 지표의 트렌드 판단은 시장 트렌드를 효과적으로 포착하고 트렌드를 따르는 거래를 가능하게합니다.
  3. 가격 소음 감소: 피셔 변환은 가격을 정상화하여 트렌드 판단에 대한 가격 소음의 영향을 줄이는 데 도움이됩니다.
  4. 직관적인 차트 표시: 전략은 차트에서 피셔 변환 곡선과 임계선을 그래프로 표시하여 거래자가 시장 추세를 시각적으로 관찰하고 구매/판매 신호를 확인할 수 있습니다.

위험 분석

  1. 매개 변수 최적화 위험: 전략의 성능은 피셔 변환 기간 및 동적 임계 계산 방법과 같은 매개 변수 선택에 달려 있습니다. 다른 매개 변수들은 다른 거래 결과를 초래할 수 있습니다.
  2. 트렌드 인식 지연: 피셔 변환 지표는 가격 추세를 판단하는 데 일정 지연을 가지고 있으며, 일부 트렌드 움직임을 놓칠 수 있습니다.
  3. 불안정한 시장에서의 낮은 성과: 불안정한 시장 조건에서, 트렌드 변화가 자주 발생하면 전략이 더 많은 잘못된 신호를 생성하여 최적의 거래 성과로 이어질 수 있습니다.
  4. 극심한 시장 위험: 극심한 시장 조건 (빠르고 실질적인 변화와 같이) 에서 피셔 트랜스포름 지표가 실패하여 전략이 잘못된 거래 결정을 내릴 수 있습니다.

최적화 방향

  1. 매개 변수 최적화: 피셔 변환 기간 및 동적 임계 계산 방법과 같은 주요 매개 변수를 최적화하여 다른 시장 상태에 대한 전략의 적응력을 향상시킵니다.
  2. 신호 필터링: 트렌드 인식 외에도 다른 기술적 지표 또는 시장 정서 지표를 도입하여 거래 신호를 확인하고 신호 신뢰성을 향상시킵니다.
  3. 스톱 로스 및 트레이프 리프트: 단일 거래 위험을 제어하고 전략의 위험/이익 비율을 향상시키기 위해 합리적인 스톱 로스 및 트레이프 리프트 규칙을 설정합니다.
  4. 포지션 관리: 보유 위험을 줄이기 위해 시장 트렌드 강도 및 가격 변동성 등의 요인에 따라 포지션 크기를 동적으로 조정합니다.

요약

피셔 트랜스포름 동적 임계 트렌드 다음 전략은 피셔 트랜스포름 지표와 동적 임계 기준을 사용하여 다른 시장 상태에 적응하여 가격 트렌드의 변화를 식별합니다. 이 전략은 시장 트렌드를 효과적으로 캡처하고 트렌드 다음 거래를 가능하게합니다. 이 전략의 장점은 동적 임계 조정, 가격 소음 간섭 감소 및 직관적인 차트 표시입니다. 그러나 매개 변수 최적화 위험, 트렌드 인식 지연, 불안정한 시장에서 낮은 성능 및 극심한 시장 위험과 같은 과제에도 직면합니다. 매개 변수 최적화, 신호 필터링, 스톱 손실 및 영업 및 위치 관리와 같은 조치를 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있습니다.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)


더 많은