양적 거래 전략 - 양적 추세 추적 개시


생성 날짜: 2024-01-12 14:46:04 마지막으로 수정됨: 2024-01-12 14:46:04
복사: 0 클릭수: 399
1
집중하다
1179
수행원

양적 거래 전략 - 양적 추세 추적 개시

개요

이 전략은 가격 변화의 트렌드를 추적하고 거래량 변화와 결합하여 양적 트렌드를 발견하는 자동 입점 연산을 구현한다. 전략은 평선 시스템을 사용하여 가격 변화의 트렌드를 판단하고, 거래량 동방향 변화를 결합하여 입점 확인 신호로 사용한다.

전략 원칙

양적 거래 전략 - 포지션 개시 양적 트렌드 추적의 핵심 논리는 가격 변화 트렌드 및 거래량 변화의 일치 관계를 기반으로 한다. 구체적으로, 전략은 종결 가격을 사용하여 개시 가격의 차점을 빼고 가격 변화의 양으로, 그리고 당일 거래량으로 가격과 양을 얻는 합동 곡선을 곱한다. 이 합동 곡선은 가격 변화 트렌드와 거래량 관계를 동시에 반영한다.

우위 분석

이 전략은 가격 변화의 경향과 거래량 변화의 상황을 결합하여, 수량 가격과 일치하지 않는 일부 가짜 추세를 효과적으로 필터링하여, 포지션 개시 위험을 줄이고, 포지션 개시 정확도를 향상시킵니다. 순수 가격 기술 지표에 비해 양적 추적 효과는 더 좋습니다. 이 전략은 동적 기준선을 설정하는 평선 시스템을 사용하여, 시장 환경의 변화에 자동으로 적응할 수 있으며, 유연성이 높습니다.

위험 분석

이 전략은 주로 가격과 양 관계의 정량화 트렌드의 타당성을 판단하는 데 의존하며, 가격과 양 사이에 불일치가 생기면 잘못된 판단의 위험이 증가한다. 또한, 평균선 파라미터를 적절하게 설정하지 않으면 전략 효과에도 영향을 미칩니다. 다양한 품종과 시장 환경에 대한 최적화 테스트가 필요합니다.

최적화 방향

더 많은 필터 최적화 전략을 추가하는 것을 고려할 수 있습니다. 예를 들어, 변동률 지표가 트렌드 품질을 판단하고, 감정 지표가 시장의 심리적 상황을 판단하는 등이 있습니다. 또한, 다른 평형 시스템 아래의 전략 효과의 변화를 테스트하고, 최적의 파라미터 조합을 찾습니다. 기계 학습 모델 훈련 판단 규칙을 추가하는 것도 후속 최적화 방향입니다.

요약하다

이 양적 거래 전략은 가격과 거래량 관계의 추적 판단에 기초하여 자동으로 포지션을 개시하고, 가격 경향과 거래 열기를 양적으로 일치시켜 무효 신호를 효과적으로 필터링하여 포지션 개시 성공률을 높일 수 있다. 전략 최적화 공간은 여전히 넓고, 계속 연구 개선할 가치가 있다.

전략 소스 코드
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © avsr90

//@version=5
strategy(title="Lp-Op vol",shorttitle="LPV", max_bars_back = 5000,overlay=false,format=format.volume )

//Resolutions

Resn=input.timeframe(defval="",title="resolution")
Resn1=input.timeframe(defval="D",title="resolution")

//Intraday Open and Last Price and Last price- Open Price calculations.

Last_Price=math.round_to_mintick(close)
Open_Price = request.security(syminfo.tickerid ,Resn1,close[1],barmerge.gaps_off, barmerge.lookahead_on) 
Op_Cl=math.round_to_mintick(Last_Price-Open_Price)


//length from Intra Day Open Price 
 
Nifnum= ta.change(Open_Price)
Length_Intraday=int(math.max(1, nz(ta.barssince(Nifnum)) + 1))

//Input for Length for Volume 

Length_Vol=input(defval=20, title="L for Vol")

// Last Price- Open price Volume, Average Intraday Last price-Open Price Volume 
//and  Volume Bars  calculations.

Op_Cl_Vol=(Op_Cl*volume)
Avg_Vol_Opcl=ta.sma(Op_Cl_Vol,Length_Intraday)
Vol_Bars=ta.sma(volume,Length_Vol)

//Plots 
plot(Op_Cl_Vol,color=Op_Cl_Vol>0 ? color.green:color.red,title="OPCLV")
plot(Avg_Vol_Opcl, title="Avg Vol", color=color.fuchsia)
plot(Vol_Bars, title="Vol Bars", color=color.yellow)

//Strategy parameters 

startst=timestamp(2015,10,1)

strategy.entry("lo",strategy.long,when= ta.crossover(Op_Cl_Vol,Avg_Vol_Opcl) and ta.crossover(volume,Vol_Bars))
strategy.entry("sh",strategy.short,when=ta.crossunder(Op_Cl_Vol,Avg_Vol_Opcl)and ta.crossunder(volume,Vol_Bars ))