사상 최고치 돌파에 따른 매수 전략


생성 날짜: 2023-09-20 15:53:26 마지막으로 수정됨: 2023-09-20 15:53:26
복사: 0 클릭수: 614
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

개요

이 전략은 황소 시장의 경우, 주가 가격이 역사적으로 n일 고치를 돌파했을 때 구매하고, EMA 평균선 스톱을 사용한다… 트렌드 추적 유형 전략이다.

전략 원칙

  1. 지난 n일 동안의 최고 가격을 계산하여 역사 최고 가격으로 니다.

  2. 현재 종식 가격이 사상 최고치를 넘어서면 구매한다.

  3. x일 EMA 평균선을 사용하여 중지하십시오. 가격이 EMA 평균선보다 낮을 때 중지하고 탈퇴하십시오.

  4. n값과 x값은 200일 최고값과 90일 EMA를 기본으로 설정하여 변수로 조정된다.

  5. 전략의 논리는 간단하고 명확하며, 실행하기 쉽다.

우위 분석

  1. 새로운 고위 돌파구 형성 경향을 자동으로 추적할 수 있습니다.

  2. EMA를 이용하여 Stop Loss을 추적하여 수익의 대부분을 고정시킬 수 있다.

  3. 주가를 예측할 필요 없이, 구매 신호를 따라가기만 하면 됩니다.

  4. 이 경우, 동전시장에서의 기본값이 더 효과적입니다.

  5. 코드는 간단하고 이해하기 쉽고 수정하기 쉽습니다.

위험 분석

  1. 이 시장의 끝에는 엄청난 손실이 발생할 수 있습니다.

  2. 스톱패드 설정이 잘못되어 스톱패드가 너무 밀도가 높거나 너무 느슨할 수 있습니다.

  3. 새로운 고위 돌파구 형성의 강도와 회귀 정도를 예측할 수 없습니다.

  4. 다른 시장 상황에는 적용되지 않습니다.

  5. 이 경우, 이 매개 변수가 최적화 된 경우, 이 매개 변수가 역사적인 상황에 맞지 않을 수 있습니다.

최적화 방향

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

  2. 고정 비율 상쇄와 같은 다른 상쇄 방법을 평가하십시오.

  3. 스톱 손실 변수를 최적화하여 스톱 손실 빈도와 위험 제어 균형을 맞추십시오.

  4. 다른 필터링 조건을 추가하여 노이즈 신호에 의한 구매를 방지한다.

  5. ‘시각’의 효능을 판단하는 방법을 연구하라

  6. 이윤 잠금 메커니즘에 참여하기 위해 중지 전략을 설정할 수 있습니다.

요약하다

이 전략은 새로운 고위 돌파구를 추적하여 자동 트렌드 추적을 구현하고, EMA 평평선 상쇄를 사용한다. 효과는 있지만, 단편적이기 때문에, 시장 전체에 적용되는 시스템으로 최적화를 추가로 확장해야 한다.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gmhfund

//@version=5
strategy("ATH 200d",overlay=1)
plot(close)

bars = input.int(200, "ATH period", minval=5, maxval=2000, step=1)
range_ema = input.int(90,"ema line",minval=100,maxval=400,step=1)

ath_price = ta.highest(bars)[1]
plot(ath_price,color=color.blue)

line_ema = ta.ema(close,range_ema)
exit_condition = ta.crossunder(close,line_ema)
plot(line_ema,color=color.orange)


strategy.entry("Buy", strategy.long, 1, when = close > ath_price) // enter long by market if current open great then previous high
//strategy.close("Buy",when = close < strategy.position_avg_price*0.9 )
strategy.close("Buy",when = exit_condition )