탄력적 가중 이동 평균 교차 전략


생성 날짜: 2023-09-18 22:07:14 마지막으로 수정됨: 2023-09-18 22:08:05
복사: 3 클릭수: 732
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 두 개의 서로 다른 주기의 탄력 가중 이동 평균 ((EVWMA) 을 사용하여 구매 및 판매 신호를 생성합니다. 짧은 주기선에서 긴 주기선을 통과할 때 구매 신호를 생성합니다. 짧은 주기선 아래에 긴 주기선에서 판매 신호를 생성합니다.

전략 원칙

이 전략은 다른 주기의 EVWMA 라인을 계산하고 그것들을 교차하여 트렌드의 변화를 판단한다.

특히, 두 개의 EVWMA 라인을 먼저 계산했습니다.

  1. 짧은 주기선 m1, 주기length1, 기본은 5

  2. m2의 길이는 m2이고, m2의 길이는 m2이고,

그 다음, m1과 m2의 교차 상황을 크로스 오버와 크로스 언더 함수를 통해 판단한다:

  • 만약 m1 위에 m2를 뚫으면, 구매 신호를 생성하고, long 동작을 실행한다.

  • 만약 m1이 m2을 통과한다면, 판매 신호를 생성하고, 쇼트 동작을 수행합니다.

여기서 주목할 점은, EVWMA는 일반 이동 평균과 달리, 최근 데이터에 더 높은 무게를 부여하여 가격 변화에 더 빨리 반응할 수 있다는 것입니다. 계산 공식은 다음과 같습니다:

data = (nz(data[1]) * (nb_floating_shares - volume)/nb_floating_shares) + (volume_price/nb_floating_shares)

그 중 nz ((data[1]) 는 전주기의 EVWMA 값을 나타내고,nb_floating_shares는 그 주기의 총 거래량을 나타내고,volume는 현재 주기의 거래량을 나타내고,volume_price는 현재 주기의 거래량을 나타낸다. 이렇게하면 최근 데이터에 더 높은 무게를 부여하는 효과가 실현된다.

우위 분석

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

  1. EVWMA를 사용하면 가격 변화에 더 빠르게 반응하여 수익을 올릴 수 있습니다.

  2. 이중 EVWMA 선 교차를 사용하여 트렌드 변화 지점을 발견하고, 적시에 진입할 수 있다.

  3. 간단하고 실행하기 쉽습니다.

  4. 다양한 시장 환경에 맞게 사용자 정의 가능한 사이클 길

  5. 복잡한 변수 최적화가 필요없고, 하드 디스크에 쉽게 사용할 수 있습니다.

위험과 해결책

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

  1. 쌍선 교차로는 시장 소음을 필터링할 수 없으며 무효 신호를 많이 생성할 수 있습니다.

    • 해결책: 거래량과 같은 다른 지표와 함께 신호를 필터링하십시오.
  2. 트렌드 반전 지점을 파악할 수 없고, 반전을 놓칠 위험이 있다.

    • 해결 방법: 주기 변수를 적절히 조정하거나, 트렌드 반전을 결정하는 다른 지표를 추가합니다.
  3. 무해제장치로 위험을 효과적으로 통제할 수 없습니다.

    • 해결 방법: 역사적 데이터 또는 변동성에 따라 합리적인 스톱 스 비율을 설정합니다.
  4. 변수 최적화가 부족하고, 선주기 설정이 잘못되면 효과가 떨어진다.

    • 해결 방법: 최적화 매개 변수를 재검토하여 적절한 주기 길이를 선택합니다.

최적화 방향

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

  1. 더 많은 스톱패드 전략, 더 많은 리스크 관리

  2. 선의 주기 길이를 최적화하고 최적의 변수를 선택합니다.

  3. 거래량 지표 필터링 신호를 추가하여 유효하지 않은 거래를 줄입니다.

  4. 다른 지표와 함께, 트렌드 반전, 놓친 기회 감소

  5. 동적 최적화 매개 변수, 시장 변화에 따라 조정 라인의 주기 길

  6. 여러 헤드 시장과 빈 헤드 시장을 구분하여 다른 매개 변수를 사용합니다.

  7. 기계 학습 알고리즘에 연결하여 빅데이터 트레이닝을 사용하여 매매 시점을 판단합니다.

요약하다

탄력적인 가중 이동 평균 크로스 전략Overall, this elastic weighted moving average cross strategy는 계산하고 두 개의 EVWMA 라인 크로스 작업을 통해 트렌드 변화를 효과적으로 발견하여 거래 신호를 생성할 수 있습니다. 전략은 간단하고 가볍지만 몇 가지 위험과 최적화 방향이 있습니다.

전략 소스 코드
/*backtest
start: 2023-08-18 00:00:00
end: 2023-08-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("Elastic Volume Weighted Moving Average Cross Strategy", shorttitle="EVWMA Cross", overlay=true)
length1=input(5, title="EVWMA Short")
length2=input(40, title="EVWMA Long")

nbfs1=sum(volume, length1)
nbfs2=sum(volume, length2)

medianSrc=close

calc_evwma(price, length, nb_floating_shares) => 
    data = (nz(data[1]) * (nb_floating_shares - volume)/nb_floating_shares) + (volume*price/nb_floating_shares)
    data
    

m1=calc_evwma(medianSrc, length1, nbfs1)
m2=calc_evwma(medianSrc, length2, nbfs2)

if (crossover(m1, m2))
    strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE")

if (crossunder(m1, m2))
    strategy.entry("MA2CrossSE", strategy.short, comment="MA2CrossSE")

p1=plot(m1,color=orange,linewidth=2, title="evwma")
p2=plot(m2,color=orange,linewidth=2, title="evwma")