
유동파동 추출 전략은 유동파동 필러를 기반으로 한 주식 추세를 추적하는 전략이다. 이 전략은 지수 가중 이동 평균과 유동파동을 사용하여 가격 순서 처리를 하여 가격의 유동 성분을 추출하고, 특정 파라미터를 사용하여 포지션 평화 포지션의 신호로 한다.
이 전략은 먼저 이중 지수 가중 이동 평균을 구성하고, 변수 Length와 Delta를 조정하여 이동 평균의 시간 길이를 조절하고, 슬라이드를 조절한다. 그 다음, 일련의 수학적 변환을 사용하여, 가격 서열의 트렌드 성분을 추출하고, xBandpassFilter 변수에 저장한다. 마지막으로, xBandpassFilter의 간단한 이동 평균 xMean을 계산하여, 포지션 구축과 포지션의 지표로 사용한다.
xMean 상에서 패러미트 트리거가 설정된 레벨을 통과할 때 다중을 하고, 현재 통과할 때 공백을 한다. 트리거 레벨을 조정함으로써 창고 및 창고의 민감도를 제어할 수 있다.
적절하게 Length 변수를 줄임으로써 지연 문제를 개선할 수 있으며, Trigger 레벨 제어 전략의 민감성을 조정할 수 있다.
이 전략은 전체적으로 안정적이며, 강한 추세 시장에서 더 잘 작동한다. 더 많은 시장 환경에서 안정적인 수익을 유지하기 위해 여러 가지 방법으로 더 많은 최적화를 할 수 있다. 이 전략은 더 많은 연구와 적용을 할 가치가 있다.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")