이동 평균 반전 가로지르는 전략은 기술 분석 전략이다. 이동 평균의 방향과 주식 가격의 관계를 사용하여 입점 또는 퇴출의 시간을 판단한다. 구체적으로, 상향에서 아래로 45 일 이동 평균을 가로지르면 공백을 할 수 있다. 공백을 보유한 지 8 일 후 평정 위치; 그 후 다시 45 일 이동 평균을 가로지르는 주식 가격의 신호가 나타났을 때 공백을 할 수 있다.
이 전략의 핵심 논리는 다음과 같습니다.
특히:
이러한 논리를 통해 주가가 이동 평균을 크게 아래로 돌파할 때 공백을 만들 수 있으며, 일정 시간이 지나면 cutoff loss 수 있습니다.
이 전략에는 다음과 같은 장점이 있습니다.
다른 전략에 비해 이 전략은 이해하기 쉽고 프로그래밍하기 쉽다. 또한, 이동 평균을 이용해서 주식 가격의 추세를 판단한다. 가격이 이동 평균을 뚫을 때, 종종 단기 트렌드가 변하는 것을 의미한다. 따라서 반전 기회를 잡을 수 있다.
또한, 전략의 입점 규칙과 8일 고정 손실 방식은 위험 통제를 더욱 명확하게 한다. 허위 돌파의 경우도 어느 정도 필터링된다. 전체적으로 이 전략은 간단하고 실용적이며 쉽게 습득한다.
그러나 이 전략에는 몇 가지 위험도 있습니다.
구체적으로, 이동 평균 자체는 가격 변화에 뒤쳐져 있기 때문에 신호를 발산하는 시기는 정확하지 않습니다. 일부 돌파구는 일시적일 수 있으며, 역점을 제대로 파악할 수 없습니다.
또한, 8일간의 포지션 보유 기간은 비교적 짧습니다. 큰 주식 시장에서, 이러한 손실 설정은 너무 급진적일 수 있으며, 큰 반전을 지속적으로 잡을 수 없습니다. 또한 시장에 반복적으로 들어오는 거래의 수를 증가시킵니다.
전략에서 돌파 신호에 대한 판단은 가격과 이동 평균의 관계에만 의존한다. 신호를 필터링하기 위해 더 많은 확인 지표 또는 조건이 설정되지 않았다. 이것은 어느 정도 가짜 돌파를 일으키는 경우에 발생합니다.
마지막으로, 이윤을 고정하기 위해 스톱포트를 설정하지 않습니다. 손실이 스톱로 전환되기 전에 이윤이 삭감 될 수도 있습니다.
위와 같은 위험 분석을 통해, 이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
예를 들어, MACD, KD와 같은 다른 기술 지표를 구성 할 수 있으며, 특정 신호가 나타나면 트렌드 반전을 확인 할 수 있습니다. 또는 거래량 급증을 보조 조건으로 구성 할 수 있습니다.
예를 들어, 가격이 특정 고정 범위를 넘어서면 멈춥니다. 또는 다른 지표 (예를 들어 MACD) 가 신호를 내면 멈춥니다.
즉, 가격이 일정 비율로 움직일 때 점진적으로 스톱포트를 움직여 수익을 고정하는 것이다.
다른 날 수의 변수를 시도하고 테스트하여 최적의 변수를 찾습니다. 또한 쌍 이동 평균 시스템을 구성할 수 있습니다.
이러한 최적화를 통해, 전략이 단순하고 효과적인 유지에 기초하여, 신호 품질을 향상시키고, 가짜 돌파의 확률을 줄일 수 있습니다. 더 많은 트렌드 수익을 얻을 수 있으며, 더 강력한 위험 제어 능력을 가지고 있습니다. 따라서 더 나은 전략 성능을 얻을 수 있습니다.
이동 평균 반전 경과 전략은 매우 간단하고 실용적인 짧은 라인 거래 전략이다. 그것은 이동 평균, 널리 알려진 기술 지표를 사용하여 주가가 단기 경향 반전의 신호가 있는지 판단한다. 쉽게 이해, 구현 간단한, 위험 제어 가능한 등의 장점이 있다. 또한 가짜 돌파구, 포지션 보유 시간 등과 같은 최적화 가능한 문제가 있습니다. 합리적인 기술 지표 또는 파라미터 구성을 통해 간단한 효과적 인 특성을 유지하면서 전략의 성과와 위험 제어 능력을 더욱 향상시킬 수 있습니다.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average Reverse Crossover Strategy", overlay=true)
// Calculate the 45-day moving average
ma_length = 45
ma = ta.sma(close, ma_length)
// Track position entry and entry bar
var bool in_short_position = na
var int entry_bar = na
var int exit_bar = na
// Entry condition: Close price crosses below the 45-day moving average to enter the short position
if (not in_short_position and ta.crossunder(close, ma) and not na(ma[1]) and close < ma and close[1] > ma[1])
in_short_position := true
entry_bar := bar_index
// Exit condition: Close the short position after holding for 8 trading days
if (in_short_position and bar_index - entry_bar >= 8)
in_short_position := false
exit_bar := bar_index
// Re-entry condition: Wait for price to cross below the 45-day moving average again
if (not in_short_position and ta.crossunder(close, ma) and not na(ma[1]) and close < ma and close[1] < ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8))
in_short_position := true
entry_bar := bar_index
// Execute short entry and exit
if (in_short_position)
strategy.entry("Short", strategy.short)
if (not in_short_position)
strategy.close("Short")