이 전략은 평균선 방향에 기초하여 큰 트렌드를 판단하고, HA 동력 지표에 결합하여 돌파점을 판단하여 트렌드 추적을 구현하는 정량 거래 전략이다. 전략은 간단하고 이해하기 쉽다. 평균선을 사용하여 큰 트렌드 방향을 판단하고, HA 동력 지표를 통해 구체적인 입구점을 결정한다.
이 전략은 주로 평균선과 HA 운동 지표를 통해 트렌드 추적을 구현한다. 구체적인 논리는 다음과 같다:
큰 트렌드 방향을 판단: 20일 간단한 이동 평균과 200일 간단한 이동 평균을 계산하고, 20일 라인이 200일 라인보다 높을 때 상승 (상하) 경향으로 판단한다.
진입 시기를 판단: HA 운동 지수를 계산, 이는 실물 부분 크기를 비교하여 판단력을 나타냅니다. HA 지표는 HA 변수보다 크다._Candle_strength, 동력 확대로 간주하면, 진입할 수 있다. 또한, 20일 평균선 이상의/아래의 종전 가격을 확인하여, 돌파 방향을 판단한다.
스톱로스 스톱을 세팅 exits: 전략이 수익 손실 수로 스톱로스 스톱을 세팅.
위와 같은 과정을 통해 전략은 트렌드가 발생했을 때 중간 부분을 포착하여 트렌드 추적 작업을 수행 할 수 있습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
전략 논리는 간단하고 명확하며, 구현을 이해하기 쉬우며, 매개 변수 조정도 편리하다.
평균선을 사용하여 큰 트렌드를 판단하여 일부 소음을 효과적으로 제거하고 주요 트렌드를 고정 할 수 있습니다.
HA 동력 지표는 돌파의 힘을 판단하여 가짜 돌파를 피할 수 있다.
평선 방향과 동력 지표가 결합되어, 진입 시점을 선택하는 것이 더 정확하다.
단편 거래의 위험을 통제할 수 있는 스톱 스톱 손실 출구를 설정한다.
이 전략에는 다음과 같은 위험들이 있습니다.
시장이 평형 상태에 있을 때, 잘못된 거래로 이어지는 빈번한 교차가 발생하기 쉽다.
매개 변수 설정 (예: 평균선 매개 변수, HA 강도 매개 변수) 이 잘못되면 유출이 발생할 수 있다.
시장에서 존재하는 모든 유형의 움직임에 적응할 수 없으며, 흔들림 같은 움직임이 있을 때 큰 손실이 발생할 수 있다.
트렌드 전환점을 정확하게 판단할 수 없고, 적시에 손실을 막지 못하면 손실이 커질 수 있다.
대응방법:
다른 지표와 함께 필터링 무효 거래 신호
매개 변수를 테스트 최적화하여 최적의 매개 변수 조합을 찾습니다.
변동성 지표와 결합하여 흔들림 시나리오의 잘못된 거래를 피하십시오.
이윤을 고정하기 위해 이동 스톱을 설정하십시오.
이 전략은 다음과 같은 부분들을 더 개선할 수 있습니다.
고정된 변수보다는 적응형 평균선 변수를 사용해서 시장 변화에 더 잘 적응할 수 있다.
거래량과 같은 지표 필터링을 늘려 시장이 저하될 때 잘못된 신호를 피하십시오.
기계 학습 방법을 통해 자동으로 최적화 된 매개 변수를 사용하여 전략을 더 안정화하십시오.
동적 스톱로스를 설정하여 단순한 정적 스톱로스가 아닌 수익을 포착합니다.
더 많은 다른 지표와 함께 신호 품질과 시장 상황을 판단하는 VIX 지표 등.
이 전략은 전반적으로 평균선 판단 큰 트렌드, HA 동력 지표로 입시 근거로 트렌드 추적 전략. 전략 논리는 간단하고 명확, 지표 판단을 사용하여 정확 하 게, 추세 진행 중 일부 수익을 얻을 수 있습니다. 또한, 추가 테스트 최적화 및 전략 품질을 개선하기 위해 다른 보조 지표를 추가 할 필요가 있는 몇 가지 제한이 있습니다.
/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2)
//parameters input
Trend_DIR_MA = input(defval = 200, title = "MA for trend direction")
HA_Candle_strength = input(defval = 2, title = "HA candle strength")
Rng = abs(open - close)
// HA_Momentum - size of break out body
HA_Momentum = sma(Rng, 1) / sma(Rng, 5)
plot(HA_Momentum, color=green, linewidth=1, style=line)
plot(HA_Candle_strength, color= blue)
// open position
longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0
if (longCondition)
strategy.entry(id = "Lng", long = true)
ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0
if (ShortCondition)
strategy.entry(id = "Shrt", long = false)
// close position
strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500)
strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)