9일 EMA 브레이크아웃 풀백 거래 전략

저자:차오장, 날짜: 2023-09-20 11:45:21
태그:

전반적인 설명

이 전략은 9일 EMA를 판단 지표로 사용하며, EMA의 가격 브레이크에 기반한 시장 방향을 결정하며, 전형적인 트렌드 다음 전략에 속합니다. EMA 브레이크에 장기 / 단위로 들어가고 가격이 후퇴하면 수익을 얻습니다.

전략 논리

9일 EMA 라인은 트렌드 판단을 위해 계산된다. 가격이 EMA 아래로 열리고 EMA 위에 닫을 때, 상향 브레이크오웃은 길게 가는 것으로 확인된다. 가격이 EMA 위에 열리고 EMA 아래로 닫을 때, 하향 브레이크오웃은 짧게 가는 것으로 확인된다.

진입 후, 이윤을 취하는 지점은 해당 바의 최고/하위 근처에 설정됩니다. 즉, 상향 브레이크오프의 이윤을 취하는 것은 이전 바의 최고이며, 하향 브레이크오프의 이윤은 이전 바의 최저입니다. 가격이 이윤을 취하는 수준에 도달하면 거래가 종료됩니다.

이점 분석

이 전략은 트렌드를 결정하기 위해 EMA를 사용하며 EMA 브레이크오웃을 입력하여 트렌드를 효과적으로 추적합니다. 가까운 수익 포인트는 단기 인기를 잡는 것을 목표로합니다. 전략 논리는 간단하고 직접적이며 자동화하기가 쉽습니다.

EMA 기간은 유연성을 위해 사용자 정의 할 수 있습니다. 직접 스톱 노프트 접근법은 손실 거래를 너무 오래 유지하는 것을 피합니다. 백테스트는 명백한 트렌드 기간 동안 좋은 성능을 보여줍니다.

위험 분석

단일 EMA 지표에 의존하는 것은 과도한 잘못된 신호의 위험이있는 범위 시장에서 트렌드 식별을 어렵게 만듭니다. 가까운 스톱 이익은 또한 적절한 트렌드 움직임을 포착하지 못합니다.

EMA 기간을 조정하거나 추가적인 기술 지표를 통합하는 것은 판단을 개선하는 데 도움이 될 수 있습니다. 트레일 스톱, 동적 출구 등을 통해 스톱 이윤을 최적화하는 것도 안정성을 도울 수 있습니다. 자본 관리를 통해 거래 포지션 크기를 제어하면 위험을 더 제한 할 수 있습니다.

최적화 방향

  1. 더 적합한 기간을 찾기 위해 EMA 매개 변수를 테스트하고 최적화합니다.

  2. 부피, 변동성 또는 다른 판단 규칙을 추가합니다.

  3. 트레일 스톱, 동적 출구와 같은 스톱 수익 전략을 최적화하십시오.

  4. 더 많은 기술적 지표를 결합하여 앙상블 시스템을 형성합니다.

  5. 트렌드 방향 예측을 위한 기계 학습을 적용합니다.

  6. 거래 포지션 크기를 통제하기 위해 엄격한 자본 관리를 채택합니다.

요약

이 전략은 간단한 EMA 브레이크아웃 풀백 시스템으로, 명확하고 구현하기 쉽지만 단일 EMA에 의존하는 것이 제한됩니다. 더 많은 기술적 인 지표를 통합하면 안정성을 향상시킬 수 있습니다. 전반적으로 기본 양 거래 전략 아이디어를 제공합니다.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("larry willians teste2", overlay=true)

//Window of time
start     = timestamp(2019, 00, 00, 00, 00)  // backtest start window
finish    = timestamp(2019, 12, 31, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"  

ema9=ema(close,9) // Ema de 9 periodos

//Condições de compra
c1= (open< ema9 and close > ema9) //abrir abaixo da ema9 e fechar acima da ema9

if(window())
    if(c1)
        strategy.entry("Compra", true, stop = high) // Coloca ordem stopgain no topo anterior
    else
        strategy.cancel("Compra") // Cancela a ordem se o proximo candle não "pegar"
        
//codições de venda
v1= (open> ema9 and close < ema9) // abrir acima da ema9 e fechar abaixo ema9

if(window())
    if (v1)
        strategy.exit("Venda", from_entry = "Compra", stop = low) // Saida da entrada com stop no fundo anterior
    else
        strategy.cancel("Venda") //Cancela a ordem se o proximo candle não "pegar"



더 많은