Bắt đầu ngayBắt đầu miễn phí

Kết hợp tín hiệu - II

Ở bài trước, bạn đã xấp xỉ một tín hiệu sigFormula bằng cách so sánh giá trị của hai tín hiệu khác. Ở bài cuối này, bạn sẽ tiến thêm một bước bằng cách dùng trực tiếp hàm sigFormula() để tạo ra một tín hiệu sigFormula.

Mục tiêu bài này rất đơn giản. Bạn muốn vào vị thế khi cả longfilterlongthreshold cùng trở thành true tại cùng một thời điểm. Ý tưởng là: bạn không muốn liên tục mở vị thế miễn là điều kiện vẫn đúng, nhưng bạn muốn nắm giữ vị thế khi có nhịp điều chỉnh trong một xu hướng tăng.

Viết một hàm sigFormula đơn giản như việc viết đối số của một "câu lệnh if" trong base R bên trong hàm formula(). Trong trường hợp này, bạn muốn tạo một tín hiệu tên longentry, đúng khi cả longfilterlongthreshold cùng chuyển sang true tại cùng thời điểm.

Hoàn thành bài này, bạn sẽ có bức tranh đầy đủ về cách các tín hiệu hoạt động trong quantstrat!

Bài tập này là một phần của khóa học

Giao dịch tài chính với R

Xem khóa học

Hướng dẫn bài tập

  • Dùng add.signal() để tạo tín hiệu sigFormula đúng khi cả longfilterlongthreshold đều đúng.
  • Đặt cross bằng TRUE.
  • Gán nhãn tín hiệu mới là longentry.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
           
           # Specify that longfilter and longthreshold must be TRUE
           arguments = list(formula = "___ & ___", 
                            
                            # Specify that cross must be TRUE
                            cross = ___),
           
           # Label it longentry
           label = "___")
Chỉnh sửa và Chạy Mã