유연한 오차를 기반으로 한 전략을 따르는 경향

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

img

전반적인 설명

이 전략은 동향을 결정하기 위해 단기 높은-저하 및 단기 및 장기 평균 비용 사이의 편차를 활용합니다. 동향이 나타나면 상당한 이익을 유지하면서 통합 중에 작은 손실을 줄이기 위해 이전 및 후속 평형 평균 기능을 확대하여 단기 민감도를 높이고 통합 비용을 줄이는 것을 목표로합니다.

전략 원칙

  1. 단기 비용 계산: 최근 단기 촛불의 가장 높고 가장 낮은 가격을 계산하기 위해 ta.highest 및 ta.lowest 함수를 사용하여 평균을 단기 비용으로 취합니다.

  2. 장기 비용 계산: ta.sma 함수를 사용하여 최근 longTerm 촛불의 폐쇄 가격의 간단한 이동 평균을 계산합니다.

  3. 계산 오차: 단기 비용에서 장기 비용을 빼기

  4. 매끄러운 오차: 단순한 이동 평균에 대한 ta.sma를 사용하여 잘못된 판단을 줄이기 위해 매끄러운 오차를 매끄럽게합니다.

  5. 경향을 결정: 평형 오차가 임계보다 크면 상승 추세로 판단합니다. 음수 임계보다 작다면 하락 추세로 판단합니다.

  6. 진입 및 출입: 상승 추세를 추적할 때 장거리, 하락 추세를 추적할 때 단거리.

이점 분석

  1. 단기적 기회를 빠르게 포착하기 위해 단기적 감수성을 높여
  2. 가볍게 처리하면 잘못된 판단의 확률이 낮아집니다.
  3. 채널 설정은 불필요한 오픈 위치를 줄입니다
  4. 추세에 따라 가까운 시간에 손실을 중지하고 수익을 얻을 수 있습니다

위험 분석

  1. 단기 집중은 쉽게 함락 될 수 있습니다, 중지 손실 범위는 적절하게 확대되어야 합니다
  2. 매개 변수는 반복 테스트가 필요합니다. 단기 및 장기간의 잘못된 설정 및 오차 평형 매개 변수는 과민성 또는 느림으로 이어질 수 있습니다.
  3. 채널 진폭은 합리적으로 설정해야합니다, 너무 큰 또는 작은 둘 다 문제를 초래할 수 있습니다
  4. 변동성 있는 시장을 통해 반복적으로 개시하는 포지션에 갇힐 확률

위험 해결:

  1. 함정을 피하기 위해 적절한 중지 손실 범위를 확대
  2. 감수성과 잘못된 판단률을 균형을 맞추기 위해 매개 변수 설정을 최적화
  3. 채널 매개 변수를 테스트하고 최적화
  4. 변동성 중 불필요한 개설 포지션을 피하기 위해 필터링 조건을 추가합니다.

최적화 방향

  1. PA 또는 가중 평균과 같은 부드러운 단기 비용 계산과 같은 단기 높은 낮은 점을 최적화
  2. 다른 장기 비용 계산 방법을 테스트
  3. 다른 오차 평평화 알고리즘을 시도
  4. 채널 매개 변수를 최적화
  5. 열기 필터, 부피 증가 등이 추가됩니다.
  6. 역행성 역행성 거래 기회 추가

요약

전체적으로 이것은 매우 간단하고 직접적인 트렌드 다음 전략이다. 이동 평균과 같은 일반적인 지표와 비교하여 단기 및 장기 비용 사이의 오차를 계산함으로써, 트렌드 변화를 더 빨리 판단할 수 있다. 한편, 매개 변수 최적화에 있어서 매개 변수 처리 또한 더 많은 유연성을 제공하여 매개 변수 최적화를 통해 민감성과 잘못된 판단률을 균형 잡을 수 있다. 요약하자면, 이 전략은 민첩성, 직관성 및 높은 사용자 정의성 등의 특성을 가지고 있다. 더 깊이 탐구할 가치가 있는 유망한 전략이다. 매개 변수 최적화와 보조 판단 조건을 추가함으로써, 전략의 성능을 더욱 향상시킬 가능성이 있다.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dead0001ing1

//@version=5
strategy("Trend-Following Indicator", overlay=true)

// 設置參數
shortTerm = input(5, "Short Term")
longTerm = input(20, "Long Term")
smooth = input(5, "Smoothing")
threshold = input(0, "Threshold")

// 計算短期成本
shortH = ta.highest(high, shortTerm)
shortL = ta.lowest(low, shortTerm)
shortCost = (shortH + shortL) / 2

// 計算長期成本
longCost = ta.sma(close, longTerm)

// 計算均差
deviation = shortCost - longCost

// 平滑均差
smoothedDeviation = ta.sma(deviation, smooth)

// 判斷順勢
isTrendingUp = smoothedDeviation > threshold
isTrendingDown = smoothedDeviation < -threshold

// 顯示順勢信號
plotshape(isTrendingUp, title="Trending Up", location=location.belowbar, color=color.green, style=shape.labelup, text="Up", size=size.small)
plotshape(isTrendingDown, title="Trending Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="Down", size=size.small)

// 定義進出場策略
if isTrendingUp
    strategy.entry("Long", strategy.long)
    strategy.close("Long", when=isTrendingDown)
if isTrendingDown
    strategy.entry("Short", strategy.short)
    strategy.close("Short", when=isTrendingUp)



더 많은