시작하기무료로 시작하기

sigCrossover 사용하기

이 전략에서는 롱 필터가 필요하지만, 그것만으로 거래를 실행하기에는 충분하지 않습니다. 다만 조건이 더 이상 성립하지 않는 순간에는 어떤 포지션도 보유하지 않아야 합니다. 이번 연습에서는 sigCrossover() 함수를 사용해 위에서 정의한 규칙의 반대를 구현해 보겠습니다.

항상 조건의 성립 여부를 반환하는 sigComparison()과 달리, sigCrossover()는 신호가 처음 발생하는 순간에만 양성을 반환하고 그 뒤로는 반환하지 않습니다. 이는 거래 개시용 신호에 유용한데, 대부분의 경우 동일 신호로 거래가 반복 실행되는 것을 원치 않기 때문입니다.

여기서는 sigCrossover() 함수를 사용하여 SMA50SMA200 아래로 하향 교차(crosses under)하도록 지정하세요. 이 신호는 이동 평균 필터가 이 전략에 적합하지 않은 환경임을 나타낼 때 포지션을 청산하므로, 신호 이름을 filterexit으로 지정합니다.

이 연습은 강의의 일부입니다

R로 배우는 금융 트레이딩

강의 보기

연습 안내

  • add.signal()을 사용해 SMA50SMA200 아래로 하향 교차하도록 하는 sigCrossover를 추가하세요.
  • 이 신호의 이름을 filterexit으로 지정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Add a sigCrossover which specifies that the SMA50 is less than the SMA200 and label it filterexit
add.signal(strategy.st, name = "___",
           
           # We're interested in the relationship between the SMA50 and the SMA200
           arguments = list(columns = c("___", "___"),
                            
                            # The relationship is that the SMA50 crosses under the SMA200
                            relationship = "___"),
           
           # Label it filterexit
           label = "___")
코드 편집 및 실행