เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การรวม Signal เข้าด้วยกัน - II

ในแบบฝึกหัดที่แล้ว คุณได้ประมาณค่า signal แบบ sigFormula โดยการเปรียบเทียบค่าของ signal อื่นสองตัว ในแบบฝึกหัดสุดท้ายนี้ จะก้าวไปอีกขั้นด้วยการใช้ฟังก์ชัน sigFormula() เพื่อสร้าง sigFormula signal โดยตรง

เป้าหมายของแบบฝึกหัดนี้ไม่ซับซ้อน นั่นคือต้องการเข้าสู่ตำแหน่งเมื่อ longfilter และ longthreshold เป็น true พร้อมกัน แนวคิดคือ ไม่ต้องการเข้าตำแหน่งซ้ำตลอดเวลาที่เงื่อนไขยังเป็นจริง แต่ ต้องการ ถือตำแหน่งไว้เมื่อราคาย่อตัวในช่วงที่ตลาดอยู่ในแนวโน้มขาขึ้น

การเขียนฟังก์ชัน sigFormula ทำได้ง่ายเหมือนการเขียนอาร์กิวเมนต์ของ "if statement" ใน base R ภายในฟังก์ชัน formula() ในกรณีนี้ ต้องการสร้าง signal ที่มีชื่อว่า longentry ซึ่งจะเป็น true เมื่อทั้ง longfilter และ longthreshold ข้ามมาเป็น true ในเวลาเดียวกัน

เมื่อทำแบบฝึกหัดนี้เสร็จ คุณจะเข้าใจภาพรวมการทำงานของ signal ใน quantstrat ได้อย่างครบถ้วน!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเทรดหุ้นด้วย R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ add.signal() เพื่อสร้าง signal แบบ sigFormula ที่เป็น true เมื่อทั้ง longfilter และ longthreshold เป็น true
  • ตั้งค่า cross เป็น TRUE
  • กำหนดชื่อ signal ใหม่นี้ว่า longentry

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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 = "___")
แก้ไขและรันโค้ด