가격 동력 추적 전략

저자:차오장, 날짜: 2024-01-03 17:32:14
태그:

img

전반적인 설명

이 전략은 거래 방향을 결정하기 위해 가격 동력 지표를 사용합니다. 구체적으로, 각각 이동 평균과 평균 가격을 계산합니다. 가격이 이동 평균과 평균 가격을 넘을 때 구매 신호가 생성됩니다. 잘못된 신호를 필터링하기 위해 이전 유사한 신호가 필요하지 않습니다. 그 다음 신호 상태를 저장하고 이동 평균과 결합하여 최종 오픈 포지션 신호를 생성합니다. 전략에는 또한 스톱 손실 및 수익 취득 설정이 포함되어 있습니다.

전략 원칙

이 전략은 주로 가격 동력 지표에 의존하여 트렌드 방향을 판단합니다. 먼저 이동 평균과 가격의 평균 가격을 계산합니다.

swmaClose = swma(close)
vwapClose = vwap(close) 

어디?swma평형 이동 평균이고,vwap양쪽 모두 평균 가격 수준을 반영할 수 있습니다.

그 다음 가격을 평균과 비교하여 가격이 이동 평균과 평균 가격을 넘어서는지 확인하고 상승 신호인지 판단합니다.

swmaLong = close > swmaClose 
vwapLong = close > vwapClose

잘못된 신호를 필터링하려면 다음 두 가지 지표로부터의 신호가 필요하지 않습니다.

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1] 

다음으로, 상승 신호를 저장합니다:

saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1] 

마지막으로, 저장된 교차 신호와 가격이 다시 이동 평균을 넘을 때, 오픈 포지션 신호를 생성합니다.

startLong = saveLong and swmaLong

이것은 일부 잘못된 신호를 필터링하여 신호를 더 신뢰할 수 있습니다.

전략에는 또한 스톱 로스 및 영업 취득 설정이 포함되어 있습니다. 스톱 로스 거리는 구성 가능하며, 영업 취득은 스톱 로스의 특정 배수로 설정됩니다.

이점 분석

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

  1. 가격 동력 지표를 사용하면 트렌드 방향을 더 잘 판단 할 수 있습니다.
  2. 이중 지표와 다단계 검증의 조합은 잘못된 신호를 필터링하고 전략을 더 신뢰할 수 있습니다.
  3. 스톱 로스 및 수익 취득 설정은 단일 거래 위험을 제어하기 위해 합리적입니다.
  4. 전략 매개 변수는 다른 시장 환경에 적응하도록 구성됩니다.
  5. 전략 논리는 간단하고 직설적이며 이해하기 쉽고 실행하기 쉽습니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 이동 평균 지표는 지연이 있으며 일부 가격 변동을 놓칠 수 있습니다.
  2. 효과는 매개 변수 설정에 의존하고, 다른 매개 변수 조합은 큰 차이를 만들 수 있습니다
  3. 구매 신호는 상대적으로 적고, 일부 무역 위험이 놓치고 있습니다.
  4. 여러 단계 검증은 수익 수준에 영향을 미칠 수 있는 몇 가지 기회를 필터링합니다.

대책:

  1. 매개 변수 최적화를 위해 다른 이동 평균 매개 변수를 테스트
  2. 구매 신호를 증가시키기 위해 논리적 판단을 약간 단순화
  3. 단일 손실을 통제하기 위해 스톱 로스 및 수익률을 조정합니다.

최적화 방향

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

  1. MACD, DMI 등과 같은 더 많은 가격 동력 지표를 테스트하십시오.
  2. 두 방향 거래를 구현하기 위해 판매 신호 판단을 추가합니다.
  3. 거래량 지표를 포함하여 잠재적 인 거짓 브레이크오프를 피합니다.
  4. 백테스트 결과를 기반으로 매개 변수 설정을 최적화
  5. 시장 조건에 따라 매개 변수를 자동으로 조정하는 것을 고려하십시오.
  6. 매개 변수 자기 적응 최적화를 달성하기 위해 기계 학습 알고리즘을 추가

이러한 최적화는 전략의 유연성, 안정성 및 수익성을 향상시킬 수 있습니다.

요약

전체적으로, 이 가격 모멘텀 추적 전략은 간단하고 직설적이고 논리적 트렌드 추적 전략이다. 이 전략은 가격 모멘텀 방향을 결정하기 위해 가격 이동 평균과 평균 가격을 사용하며 신호 품질을 향상시키기 위해 다단계 검증 메커니즘을 설계한다. 이 전략에는 합리적인 스톱 로스 및 영리 설정도 포함되어 있다. 코드 측면에서, 전략 논리는 매우 간결하며, 실행에 필요한 것은 파인 스크립트의 20+줄 만이다. 요약하자면, 이 전략은 매우 좋은 학습 예이며, 초보자들도 양적 거래 전략을 이해하는 데 매우 좋은 출발점으로 사용할 수 있다. 물론, 전략 자체는 실용적인 거래 가치도 있다. 매개 변수 최적화와 기능 확장을 통해 소음과 트렌드를 피하기 위한 실용적인 트래킹 시스템으로 변할 수 있다.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)

// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view

swmaClose = swma(close)
vwapClose = vwap(close)

swmaLong = close > swmaClose
vwapLong = close > vwapClose

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]

startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]

stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss

strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)

// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)


더 많은