윌리엄스 9일 트렌드 돌파 전략


생성 날짜: 2023-10-17 13:51:15 마지막으로 수정됨: 2023-10-17 13:51:15
복사: 0 클릭수: 1068
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

윌리엄스 9일 트렌드 돌파 전략

개요

이 전략은 래리 윌리엄스의 9일 돌파 개념에 기초하여, 9일 이동 평균의 방향을 모니터링하여 트렌드를 판단하고, 돌파점에서 입문하여 트렌드 실행한다.

전략 원칙

  • 9일 지수 이동 평균 EMA를 트렌드를 판단하는 지표로 사용함
  • 가격이 EMA 아래에서 상향으로 돌파될 때, 상향으로 판단하고, 구매합니다.
  • 가격이 EMA 상단에서 하락하면 하락으로 판단하여 판매합니다.
  • 구매 신호: 9일 EMA보다 낮은 오픈 가격, 9일 EMA보다 높은 종료 가격
  • 팔기 신호: 9일 EMA보다 높은 오픈 가격, 9일 EMA보다 낮은 클로징 가격

특히:

  1. 9일 EMA
  2. 당일 K 라인이 구매 조건을 충족하는지 여부를 판단합니다. 즉, 9 일 EMA보다 낮은 오픈 가격과 9 일 EMA보다 높은 종료 가격
  3. 만약 만족된다면, 종결 가격 위치에서 더 많이 입수하고, 스톱로스는 이전 최고점으로 설정됩니다.
  4. 당일 K 라인이 판매 조건을 충족하는지 여부를 판단합니다. 즉, 9 일 EMA보다 상시 가격, 9 일 EMA보다 낮은 가격입니다.
  5. 만약 만족한다면, 이전보다 더 많은 입점점으로 출장하고 매각하고, 스톱값을 이전보다 낮은 지점으로 설정합니다.

이 모든 것은 구매와 판매의 전체적인 논리입니다.

우위 분석

이것은 매우 간단한 트렌드 추적 전략으로 다음과 같은 장점이 있습니다.

  1. EMA가 추세를 판단하는 것은 소규모 가격 변동의 소음을 효과적으로 차단할 수 있습니다.
  2. EMA 돌파구에 진입하면 트렌드 전환을 잡을 수 있습니다.
  3. 이전 하위치를 스톱로, 이전 하위치를 스톱로 사용하여 트렌드 수익을 고정할 수 있습니다.
  4. 거래 규칙은 명확하고 간단하며, 이해하기 쉽고, 초보자 학습에 적합합니다.
  5. 자본 사용 효율성, 전체 경로를 보유할 필요가 없으며, 트렌드 돌파점에서만 단기 포지션을 보유

위험과 최적화

이 전략에는 몇 가지 위험과 부족한 점이 있는데, 다음의 측면에서 더 개선될 수 있습니다.

  1. EMA 사이클은 9일로 설정되어 있으며, 다양한 품종과 시장 상황에 대해 충분히 유연하지 않을 수 있으며, 적응 EMA 사이클을 도입할 수 있습니다.
  2. 9일 EMA로 추세를 판단하는 것은 너무 단순할 수 있으며, 복수의 시간 주기 EMA 또는 다른 지표들을 도입하여 조합 판단을 할 수 있다.
  3. 거래 비용과 슬라이드 포인트를 고려하지 않고, 실적에서 이 둘은 수익과 손실에 큰 영향을 미칩니다.
  4. 단 하나 거래의 리스크/이익 비율을 제어할 수 없는 스톱/스트롭 비율을 설정하지 않습니다.
  5. 입력 신호는 여러 번 흔들릴 수 있으며, 필터링 조건을 설정할 수 있습니다.

종합적으로, 이 전략은 동적 변수 최적화, 다중 인자 판단, 거래 비용 관리, 위험 수익 제어 등의 측면에서 개선될 수 있으며, 전략은 다른 시장 상태에 더 안정적으로 적응할 수 있다.

요약하다

윌리엄스 9일 돌파 전략은 보다 고전적인 단기 트렌드 전략으로, 핵심 아이디어는 간단하고 명확하며, EMA를 통해 트렌드 방향을 판단하고, 돌파점에서 입금하고, 트렌드 운행을 따라와 적시에 정지한다. 이 전략은 이해하기 쉬운 구현이며, 자금 사용 효율이 높지만, 몇 가지 결점이 있다. 우리는 다각도로 최적화하여 전략 매개 변수를 더 역동적으로 유연하게 만들고, 판단 규칙을 더 엄격하게 포괄하고, 리스크 수익을 더 완벽하게 제어하여, 보다 광범위한 시장 상황에 적응하여 전략의 안정성과 수익성을 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 4h
basePeriod: 15m
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"