다중 기술 지표에 기초한 양적 추세 추적 전략

저자:차오장, 날짜: 2024-01-22 10:40:01
태그:

img

전반적인 설명

이 전략은 볼링거 밴드, 스토카스틱 오시레이터 및 상대적 강도 지수와 같은 여러 기술적 지표를 결합하여 암호화 자산의 장기 트렌드 추적 작전을위한 구매 및 판매 신호를 설정합니다. 이 전략은 다중 요소 암호화 양적 전략이라고 불립니다.

전략 원칙

이 전략은 먼저 볼링거 밴드, 스토카스틱 오시레이터 및 RSI와 같은 지표에 대한 계산 매개 변수를 설정합니다. 구매 신호는 다음과 같이 정의됩니다. 볼링거 하부 밴드 아래에 닫고, 20 아래와 D 위에 있는 K 라인, 30 아래의 RSI. 세 가지 조건이 동시에 충족되면, 긴 거리로 이동하십시오. 판매 신호는 부분적으로 정의됩니다. 이전 기간에 K 라인 70 이상과 70 이하 (황금 십자형 십자형), RSI 분리가 있습니다. 이 두 조건이 충족되면 지위의 50%를 닫습니다.

이점 분석

이 전략은 시장 상태를 판단하기 위해 여러 지표를 결합하고 단일 지표로 인한 잘못된 판단을 피합니다. 볼링거 밴드 (Bollinger Bands) 는 과잉 판매 여부를 판단하기 위해, 스토카스틱 오시레이터 (Stochastic Oscillator) 는 과잉 판매 여부를 판단하기 위해, RSI (RSI) 는 과잉 판매 여부를 판단하기 위해 사용됩니다. 여러 지표의 결합 효과는 정확한 장기간에 걸쳐 시장 바닥을 효과적으로 식별 할 수 있습니다. 또한 전략은 늦은 스톱 손실을 피하기 위해 잠재적인 트렌드 역전을 판단하기 위해 RSI 분리를 사용합니다. 따라서이 전략은 낮은 구매 높은 판매 기회를 더 잘 잡을 수 있습니다.

위험 분석

이 전략은 매개 변수 최적화에 의존한다. 매개 변수가 잘못 설정되면 바닥과 정점을 올바르게 식별하는 데 실패할 것이다. 또한, 지표들 사이에 잘못된 조합이 있을 수 있다. 예를 들어, 볼링거 밴드는 과잉 판매를 식별하지만 다른 지표들은 해당 조건에 도달하지 않는다. 이 모든 상황들은 불필요한 손실로 이어질 수 있다. 마지막으로, 전략은 최대 마감과 위치 관리를 고려하지 않으며, 또한 최적화가 필요하다.

최적화 방향

  1. 가장 좋은 매개 변수 조합을 찾기 위해 지표 매개 변수를 테스트하고 최적화합니다.

  2. 최대 마감 제어 기능을 추가하여 임계값에 도달하면 거래를 중지합니다.

  3. 포지션 관리 모듈을 추가하여 시장 조건에 따라 포지션을 동적으로 조정합니다. 초기 포지션은 더 작고 나중에 증가 할 수 있습니다.

  4. 스톱 로스 전략을 추가합니다. 시장 방향이 잘못 결정되면 단일 손실을 제어하기 위해 합리적인 스톱 로스 포인트를 설정하십시오.

요약

이 전략의 전체적인 아이디어는 분명하다. 여러 지표의 판단을 통해, 그것은 바닥과 정점을 포착하는 강력한 능력을 가지고 있다. 그러나 일부 매개 변수와 모듈은 여전히 최적화 할 여지가 있다. 적절한 조정으로, 그것은 안정적인 이익 양적 전략이 될 수 있다.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stratégie d'Entrée et de Sortie Longue", overlay=true)

// Paramètres des indicateurs
longueurBollinger = 20
stdDevBollinger = 2
longueurStochastic = 14
smoothK = 3
smoothD = 3
longueurRSI = 14

// Bollinger Bands
basis = ta.sma(close, longueurBollinger)
dev = ta.stdev(close, longueurBollinger)
lowerBand = basis - stdDevBollinger * dev

// Stochastic Oscillator
k = ta.sma(ta.stoch(close, high, low, longueurStochastic), smoothK)
d = ta.sma(k, smoothD)

// RSI
rsi = ta.rsi(close, longueurRSI)

// Logique des autres indicateurs (à compléter)

// Conditions d'entrée (à définir)
conditionBollinger = close < lowerBand
conditionStochastic = k < 20 and k > d
conditionRSI = rsi < 30
// Autres conditions (Braid Filter, VolumeBIS, Price Density...)

conditionEntree = conditionBollinger and conditionStochastic and conditionRSI // et autres conditions

// Exécution du trade (entrée)
if (conditionEntree)
    strategy.entry("Long Position", strategy.long)

// Conditions de sortie
stochCrossOver70 = k > 70 and k[1] <= 70

// Simplification de la détection de divergence baissière
// (Cette méthode est basique et devrait être raffinée pour une analyse précise)
highsRising = high > high[1]
lowsRising = low > low[1]
rsiFalling = rsi < rsi[1]
divergenceBearish = highsRising and lowsRising and rsiFalling

// Clôturer la moitié de la position
if (stochCrossOver70 and divergenceBearish)
    strategy.close("Long Position", qty_percent = 50)


더 많은