이 전략은 평균 무작위 지표에 기초하여 거래 신호 판단을 하고, 트렌드 추적 전략에 속한다. 이 전략은 평균 무작위 지표 %K와%D의 이동 평균을 계산하여, 금 포크가 발생했을 때 더 많이 하고, 죽은 포크가 발생했을 때 공백을 하고, 전형적인 트렌드 추적 전략에 속한다.
평균 무작위 지표 %K와%D의 값을 계산한다. %K는 일정 기간의 종결 가격에 따라 계산된 무작위 값의 이동 평균이며, 현재 가격이 일정 기간의 최고 가격과 최저 가격의 상대적인 위치를 반영한다. %D는 경향을 확인하기 위해 %K의 이동 평균이다.
%K 및 %D에 대해 지수 평행 이동 평균을 각각 수행하여 평균 무작위 지표의 평균값을 얻습니다._avg_k와_avg_d。
거래 신호를 판단하는 방법:
구매 신호:_avg_k를 착용_avg_그리고_avg_d <20살이 되면, 더 많은 일을 해
신호를 파는 것:_avg_k 아래_avg_그리고_avg_d > 80일 때, 공백
포지션 관리:
다중 단위 손실:_avg_d >80 시간 평점
빈 카드 손실:_avg_d <20시 평점
최대 3개의 동시 주문이 허용되며, 매장 전략입니다.
이중 평행선을 사용하여 금 포크를 판단하여 가짜 돌파를 효과적으로 필터링하여 신호 품질을 향상시킵니다.
가격 동향을 효과적으로 추적할 수 있는 평균 무작위 지표
오버 바이 오버 소드 영역 판단과 함께, 불안정 상황에서 자주 거래하는 것을 피할 수 있습니다.
유가증권 거래소에서 유가증권 거래소에서 유가증권 거래소에서 유가증권 거래소에서 유가증권 거래소에서 유가증권 거래소에서
단편적 손실을 통제하는 손실을 막는 전략
쌍방향 거래 전략은 거래의 빈도가 높고 거래 비용이 너무 높으면 수익에 영향을 미칠 수 있습니다.
고정 스톱포인트를 사용하면 퇴출 트렌드를 조기 중단할 수 있습니다.
너무 많은 포지션은 손실을 확대할 수 있습니다.
트렌드 반전 지점을 효과적으로 판단할 수 없으며, 트렌드 반전 시 큰 손실이 발생할 수 있습니다.
최적화되는 매개 변수 주기, 다른 주기 효과에 큰 차이가 있습니다.
트렌드를 판단하는 지표를 도입하여 역전 거래를 피하는 것을 고려할 수 있습니다.
동적으로 스톱포드를 조정하여 스톱포드를 트렌드에 맞게 조정합니다
포지션 전략의 최적화, 예를 들어 포지션 수를 늘리는 것
다른 지표와 함께, 트렌드가 뒤집어지면서 수익에서 조기 퇴출했습니다.
다양한 품종에 대한 테스트 매개 변수를 최적화하여 매개 변수의 적응성을 향상시킵니다.
이 전략은 전체적으로 전형적인 트렌드 추적 전략으로, 평균 무작위 지표를 사용하여 트렌드 방향을 판단하고, 트렌드가 나타났을 때 부가가치 거래를 한다. 전략의 장점은 트렌드 상황에 적합한 추적 능력이 강하지만, 역대 거래를 방지하는 데 주의를 기울여야 한다. 추세 판단을 도입하고, 손실을 막는 전략을 최적화하고, 부가가치 횟수를 제어하는 등의 방법으로 추가적으로 최적화 할 수 있으며, 적절한 매개 변수를 선택하면 좋은 추적 효과를 얻을 수 있다.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//1. AVG Stochastic Calculate
//1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
//+ avg_k=ema((%k+%d)/2,smoothK)
//1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
//+ avg_d=ema(avg_k,periodD)
//2. Parameter
//+ %K Length: 21
//+ %K Smoothing: 3
//+ %D Smoothing: 3
//+ Symbol: BTC/USDT
//+ Timeframe: M30
//+ Pyramiding: Maximum 3 orders at the same direction.
//3. Signal
//3.1 Buy Signal
//+ Entry: AVG %K crossover AVG %D and AVG %D < 20
//+ Exit: AVG %D > 80
//3.2 Sell Signal
//+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
//+ Exit: AVG %D < 20
strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3)
periodK = input.int(21, title="%K Length", minval=1)
smoothK = input.int(3, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
_avg_k=ta.ema(math.avg(k,d),smoothK)
_avg_d=ta.ema(_avg_k,periodD)
up=
_avg_k[1]<_avg_d[1]
and _avg_k>_avg_d
and _avg_d<20
dn=
_avg_k[1]>_avg_d[1]
and _avg_k<_avg_d
and _avg_d>80
var arr_val=0
if up
arr_val:=1
strategy.entry("Long", strategy.long)
if dn
arr_val:=-1
strategy.entry("Short", strategy.short)
if up[1] or dn[1]
arr_val:=0
plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red)
if _avg_d>80
strategy.close("Long")
if _avg_d<20
strategy.close("Short")
//EOF