삼중 지수 이동 평균 교차를 기반으로 한 거래 전략


생성 날짜: 2023-09-19 15:41:47 마지막으로 수정됨: 2023-09-19 15:41:47
복사: 1 클릭수: 611
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 두 세트의 다른 변수들의 삼중 지수 이동 평균 ((TEMA) 의 교차를 계산하여 구매 및 판매 신호를 판단한다. 빠른 라인 TEMA 상에서 느린 라인 TEMA를 통과 할 때 구매 신호를 생성하고 낮은 라인 TEMA를 통과 할 때 판매 신호를 생성한다. 이 전략은 잠재적인 트렌드 변화 지점을 발견하기 위해 TEMA 평형 곡선의 장점을 결합한다.

전략 원칙

  1. 34의 시간 길이를 가진 세 개의 트리플 EMA를 단선 TEMA로 계산한다.

  2. 13의 시간 길이의 세 개의 EMA를 단선 TEMA로 계산한다.

  3. 빠른 라인 TEMA 위에 느린 라인 TEMA를 통과할 때, 구매 신호를 생성한다.

  4. 빠른 라인 TEMA 아래에서 느린 라인 TEMA를 통과하면 판매 신호를 생성한다.

  5. 전략 모듈을 사용하여 자동 주문 관리를 합니다.

우위 분석

  1. TEMA 곡선은 더 부드럽고, 가짜 신호를 줄일 수 있다.

  2. 다른 곡선을 교차하면 단기 및 장기 동향의 변화를 잡을 수 있다.

  3. 전략적 신호는 간단하고 명확하며 실행하기 쉽습니다.

  4. 다른 주기에 적응하기 위해 파라미터를 자유롭게 조정할 수 있다.

  5. 미리 설정 가능한 정지 및 정지 위치, 위험 제어.

위험 분석

  1. 변수를 잘못 설정하면 너무 많은 오류 신호가 발생할 수 있습니다.

  2. TEMA는 다소 지연되어 있고, 돌연변이를 놓칠 수도 있습니다.

  3. 일부 주요 돌파구들은 미리 경고할 수 없습니다.

  4. 트렌드와 지지 저항 판단을 결합할 필요가 있다.

  5. 이 경우, 소환 위험은 어느 정도 있습니다.

최적화 방향

  1. 최적화 매개 변수를 테스트하여 최적의 조합을 찾습니다.

  2. 필터링 조건을 추가하여 신호의 질을 보장합니다.

  3. 다른 지표들과 함께 큰 트렌드를 판단하라.

  4. 탈퇴 메커니즘을 개발하여 과잉 보유를 방지하십시오.

  5. 고정 스톱을 동적 스톱으로 조정한다.

  6. 다양한 품종과 주기의 실디 효과를 테스트한다.

요약하다

이 전략은 TEMA 지표의 평준화 장점과 교차 판단을 이용하여 간단한 거래 신호를 생성한다. 파라미터 최적화, 엄격한 필터링 및 위험 통제를 통해 안정적인 트렌드 추적 전략이 될 수 있다. 전체적으로 이 전략은 실용성이 강하며 더 나은 수익을 얻기 위해 더 깊은 최적화 테스트를 할 가치가 있다.

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

//@version=2
strategy(title="TEMA With Alert", shorttitle="ALRTEMA", overlay = true )
//Blue
Length = input(34, minval=1)
xPrice = close
xEMA1 = ema(xPrice, Length)
xEMA2 = ema(xEMA1, Length)
xEMA3 = ema(xEMA2, Length)
nRes = 3 * xEMA1 - 3 * xEMA2 + xEMA3


//RED
Length2 = input(13, minval=1)
xPrice2 = close
xEMA12 = ema(xPrice2, Length2)
xEMA22 = ema(xEMA12, Length2)
xEMA32 = ema(xEMA22, Length2)
nRes2 = 3 * xEMA12 - 3 * xEMA22 + xEMA32


buy = 1
sell = 0

x = if nRes > nRes2
	buy
else
	sell


c = cross(nRes, nRes2)

xy = "Do Some Thing :" + tostring(x)


alertcondition(c, title="Crosing Found", message=xy)

plot(nRes, color=red)
plot(nRes2, color=blue)

short = cross(nRes, nRes2) and nRes > nRes2
long = cross(nRes, nRes2) and nRes < nRes2

strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)