이중 스토카스틱 및 볼륨 가중화 이동 평균 조합 지표 전략

저자:차오장, 날짜: 2023-10-26 17:18:53
태그:

img

전반적인 설명

이것은 트렌드를 식별하기 위해 이중 스토카스틱 지표와 볼륨 가중화 이동 평균의 조합을 활용하는 전략입니다. 현재 트렌드 방향을 결정하기 위해 단기 및 장기간 두 개의 스토카스틱 지표를 사용하여 VWMA와 결합합니다.

전략 논리

이 전략은 주로 다음 부분들을 통해 트렌드 식별을 구현합니다.

  1. 기간 길이 입력 ((30) 및 매끄러운 매개 변수 2와 함께 짧은 기간 스토카스틱 지표를 계산합니다.

  2. 기간 길이 입력 (90)) 및 매끄러운 매개 변수 2와 함께 긴 기간 스토카스틱 지표를 계산

  3. 짧은 기간과 긴 기간의 스토카스틱을 합쳐 합쳐진 스토카스틱 곡선을 얻습니다.

  4. 기간 길이를 입력하는 ts 곡선의 부피 가중화 이동 평균을 계산합니다.

  5. 현재 TSL값을 1년 전의 값과 비교해보세요. TSL값이 상승하면 상승세를 나타내고 TSL값이 하락하면 하락세를 나타냅니다.

  6. 스토카스틱 곡선 위치와 결합하여 상승 또는 하락 신호를 식별

  • tsl가 상승하고 ts가 중간 구역에 있을 때, 그것은 상승 신호입니다.
  • tsl가 떨어지고 ts가 중간 구역에 있을 때, 그것은 하락 신호입니다.

이점 분석

이 전략은 트렌드 식별과 과잉 구매 과잉 판매 분석을 결합하여 트렌드 방향을 상당히 신뢰할 수 있습니다. 이점은 다음과 같습니다.

  1. 이중 스토카스틱은 단기적 및 장기적 과잉 구매/ 과잉 판매 상황을 반영할 수 있으며, 일부 신호를 놓치지 않도록 합니다.

  2. 부피 가중화 이동 평균은 일부 잘못된 브레이크오웃 신호를 필터링할 수 있습니다.

  3. 스토카스틱 곡선 위치는 트렌드 신호의 신뢰성을 다시 확인합니다.

  4. 조정 가능한 매개 변수는 다른 시장에 적합합니다

  5. 명확하고 간단한 논리, 이해하기 쉽고 수정하기 쉽다

위험 과 개선

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

  1. 스토카스틱은 잘못된 신호를 줄 수 있습니다. 더 긴 기간 지표로 필터링이 필요합니다.

  2. 고정 기간은 모든 시장에 적합하지 않을 수 있습니다. 동적 최적화는 도움이 될 수 있습니다.

  3. 순수 기술 지표에 기초한 기본 지표가 정확도를 향상시킬 수 있습니다.

  4. 부적절한 부피 데이터는 결과에 영향을 미치며 데이터 품질을 확인해야 합니다.

  5. 백테스팅 역사가 충분하지 않습니다. 검증에 더 많은 데이터가 필요합니다.

  6. 가장 낮은 아래의 교차로에서 직선 길이를 대신 입구점을 개선 할 수 있습니다.

결론

요약하자면, 이 전략은 이중 스토카스틱과 VWMA를 사용하여 트렌드를 식별합니다. 이론적으로 트렌드 반전을 신뢰할 수 있습니다. 그러나 특정 시장에 대한 매개 변수 조정이 필요하며 잘못된 신호 위험이 있습니다. 전략 수익 인자를 개선하기 위해 판단을 위해 기본, 장기 트렌드 등과 같은 다른 요소를 결합하는 것이 좋습니다. 논리는 간단하고 명확하며 필요에 따라 수정 할 수있는 양 거래의 템플릿을 제공합니다. 큰 응용 가치가 있습니다.


/*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=4
strategy(title="Trend Finder V2", shorttitle="TFV2", format=format.price, precision=2, overlay = true)

//----------Indicator------------//

periodK = input(30)
periodD = 3
smoothK = 2

periodK_two = input(90)
periodD_two = 3
smoothK_two = 2

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

k_two = sma(stoch(close, high, low, periodK_two), smoothK_two)
d_two = sma(k, periodD_two)

ts = k + k_two
tsl = vwma(ts, input(30, title = "VWMA Length"))

//--------Label parameter--------// 

up_label = tsl[1] < 100 and tsl > 100 ? 1 : 0
down_label = tsl[1] > 100 and tsl < 100 ? 1 : 0

//----------Color Code-----------//

//tsl_col = tsl > 100 and tsl > tsl[1] ? color.aqua : tsl > 100 and tsl < tsl[1] ? color.green : tsl < 100 and tsl > tsl[1] ? color.maroon : tsl < 100 and tsl < tsl[1] ? color.red : color.silver

//tsl_col = tsl > 100 and ts < 100 and ts > ts[1] ? color.aqua : tsl > 100 and ts > 100 and (ts > ts[1] or ts < ts[1]) ? color.green : tsl < 100 and ts > 100 and ts < ts[1] ? color.red : tsl < 100 and ts < 100 and (ts < ts[1] or ts > ts[1]) ? color.maroon : color.purple  

tsl_col = ts > ts[1] and tsl > tsl[1] ? color.lime : ts < ts[1] and tsl < tsl[1] ? color.red : color.yellow 

ts_col = (tsl_col == color.lime or tsl_col == color.maroon) and (k>k[1] and k < 30) ? color.lime :  (tsl_col == color.green or tsl_col == color.red) and (k < k[1] and k > 70)  ? color.red : color.silver

//-------------Plots-------------//

buy = tsl_col[1] == color.yellow and tsl_col == color.lime ? 1 : 0
sell = tsl_col[1] == color.yellow and tsl_col == color.red ? -1 : 0

plotcandle(open,high,low,close, color=tsl_col)

strategy.entry("Long", strategy.long,when=buy==1)
strategy.close("Long", when=sell==-1)


더 많은