가격 및 거래량 변화에 따른 트렌드 전략


생성 날짜: 2023-12-01 14:56:17 마지막으로 수정됨: 2023-12-01 14:56:17
복사: 0 클릭수: 601
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

가격 및 거래량 변화에 따른 트렌드 전략

개요

이 전략의 이름은 가격량 변화에 기반한 트렌드 전략이다. 이 전략은 가격과 거래량의 누적 변화를 계산하여 이동 평균과 결합하여 긴 짧은 포지션 목록을 구축하여 트렌드를 추적하는 목적을 달성한다.

전략 원칙

이 전략의 핵심 지표는 가격의 누적 변화 지표 (MPVT) 이다. 이 지표는 가격과 거래량의 변화를 통해 시장 인기와 자본 유입의 흐름을 반영한다. 구체적인 계산 공식은 다음과 같다:

rV = 交易量 / 50000
xCumPVT = 昨日xCumPVT + (rV * (最新收盘价 - 昨日收盘价) / 昨日收盘价)

다음으로 Level와 Scale를 결합하여 Residence의 값변동 지표를 구성합니다.

nRes = Level + Scale * xCumPVT

레지던스 지표는 가격과 거래량의 통합 변화를 반영한다. N일 간소 이동 평균을 넘어서면 더 많이 하고, N일 간소 이동 평균을 넘어서면 더 적게 한다.

우위 분석

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

  1. 가격 지표로 시장의 인기와 자금 흐름을 판단하여 트렌드의 전환점을 적시에 잡을 수 있습니다.
  2. 매개 변수 최적화와 함께, 전략의 매개 변수를 다양한 시장 환경에 적응하도록 유연하게 조정할 수 있다.
  3. 역 입력 파라미터를 통해 공백 전략을 구현할 수 있으며, 전략 사용 시나리오를 확장할 수 있다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 가격량 지표는 잘못된 신호를 유발할 수 있으며, 돌파구가 성립하지 않는 상황이 발생할 수 있습니다. 적절한 변수를 조정하거나 다른 지표와 함께 필터링 할 수 있습니다.
  2. 트렌드상황은 더 잘 적용되며, 종합상황은 잘못된 신호를 유발할 수 있다. 트렌드 및 변동률 지표와 조합하는 것을 고려할 수 있다.
  3. 매개 변수 최적화의 효과는 역사 주기에 달려 있으며, 과도한 적합성의 위험이 발생할 수 있다. 매개 변수를 적절히 조정하거나 단계적 최적화 방법을 사용한다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화를 고려할 수 있습니다.

  1. 다른 이동 평균을 테스트할 수 있습니다. 가중 이동 평균, EMA 등이 조합되어 어떤 것이 더 잘 작동하는지 볼 수 있습니다.

  2. RSI, KD 등과 같은 다른 지표와 결합하여 필터링 신호를 사용하여 잘못된 신호 발생 가능성을 줄일 수 있습니다.

  3. 다양한 변수 조합을 테스트하여 최적의 변수 쌍을 찾을 수 있다. 또한 단계적 최적화 방법을 적용하여 변수가 실시간으로 업데이트 될 수 있다.

  4. 부린 띠와 같은 추세에 따른 지표와 조합하여 전략의 안정성을 높일 수 있다.

요약하다

이 전략은 가격과 거래량 변화의 누적 가치를 계산하여 가격 변화의 레지던스 지표를 설계하여 시장의 자금 유입과 유출 상황을 효과적으로 반영할 수 있는 전형적인 가격 COMBO 전략이다. 이 전략은 간단하고 실용적이며 추세 상황에 적용되며, 매개 변수 최적화 및 지표 조합 최적화 공간을 넓히며, 매우 권장되는 추세 전략이다.

전략 소스 코드
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/07/2018
//  The related article is copyrighted material from
//  Stocks & Commodities.
//  Strategy by HPotter.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Modified Price-Volume Trend Backtest", shorttitle="MPVT")
Level = input(0)
Scale = input(1)
Length = input(23)
reverse = input(false, title="Trade reverse")
xOHLC4 = ohlc4
xV = volume
rV = xV / 50000
xCumPVT = nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
nRes = Level + Scale * xCumPVT
xMARes = sma(nRes, Length)
pos = iff(nRes > xMARes, 1,
       iff(nRes < xMARes, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=red, title="MPVT", linewidth = 2)
plot(xMARes, color=blue, title="MPVT", linewidth = 2)