이동평균 진동 AO 지표 거래 전략


생성 날짜: 2023-09-12 16:09:01 마지막으로 수정됨: 2023-09-12 16:09:01
복사: 0 클릭수: 652
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이 전략은 평행선 시스템과 AO 기 지표를 조합하여 트렌드 방향을 식별하고 트렌드 거래를 수행합니다. 이 전략은 짧은 선의 흔들림 거래 유형에 속하며, 짧은 선의 가격의 역전 기회를 잡기 위해 고안되었습니다.

전략적 원칙:

  1. 빠른 EMA 평균선과 느린 SMA 평균선을 계산하고, 평균선 시스템을 구축한다.

  2. AO 흔들림 지표의 빠른 선과 느린 선을 계산하고 차이는 .

  3. 빠른 라인이 느린 라인을 통과하고, 닫기 가격이 느린 라인보다 높고, AO가 상승 상태일 때, 더 많이 한다.

  4. 빠른 라인이 느린 라인을 통과하고 닫기 가격이 느린 라인보다 낮으며 AO가 하락하는 상태일 때, 공백을 다.

  5. AO는 미분값 비교를 통해 공백 상태를 확인하고, 거짓 신호를 피한다.

이 전략의 장점:

  1. 평균선 시스템은 주요 트렌드를 판단하고, AO 지표는 역전 시점을 식별한다.

  2. AO는 미분값 비교를 통해 가짜 신호를 효과적으로 필터링할 수 있다.

  3. 콤비네이션을 이용하면 신호의 정확도를 높일 수 있다.

이 전략의 위험은:

  1. 평균선과 AO 매개 변수를 시장 상황에 맞게 최적화해야 합니다.

  2. 평균선과 AO 모두 지연 문제로 인해 최선 진입 지점을 놓칠 수 있다.

  3. 지진상황에서 손해배상 중단은 설정하기 어렵고, 손해배상 위험이 크다.

요약하자면, 이 전략은 종합적인 평행선 시스템과 AO 지표의 장점을 거래한다. 신호 품질을 어느 정도 향상시킬 수 있지만, 지연 문제를 경계하고, 적절한 손실을 막는 전략을 취하여 장기적으로 안정적인 수익을 얻을 수 있다.

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

//@version=4
strategy("MA&AO", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    true

//Inputs
fast_ma = input(8, title="Fast EMA", minval=2)
slow_ma = input(20, minval=1, title="Slow SMA")
AO_fast = input(5, minval=1, title="Awesome Length Fast")
AO_slow = input(8, minval=1, title="Awesome Length Slow")

//MA
fast  = ema(close, fast_ma)
slow =  sma(close, slow_ma)

//AO
AO_1 = sma(hl2, AO_fast)
AO_2 = sma(hl2, AO_slow)
dif = AO_1 - AO_2
AO = dif>=0? dif > dif[1] ? 1 : 2 : dif > dif[1] ? -1 : -2

long   =  crossover(fast, slow) and close > slow and abs(AO)==1
short =   fast < slow and close < slow and abs(AO)==2

long_condition =  long and _testPeriod() 
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = short 
strategy.close('BUY', when=short_condition)


plot(fast, color=color.green)
plot(slow, color=color.red)