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

การใช้ sigCrossover

แม้ว่าการมี long filter จะเป็นสิ่งจำเป็น แต่ก็ยังไม่เพียงพอสำหรับการเปิดสถานะในกลยุทธ์นี้ อย่างไรก็ตาม ทันทีที่เงื่อนไขดังกล่าวไม่เป็นจริง กลยุทธ์ควรออกจากสถานะทั้งหมดทันที ในแบบฝึกหัดนี้ คุณจะนำฟังก์ชัน sigCrossover() มาใช้เพื่อสร้างกฎที่ตรงข้ามกับที่ระบุไว้ข้างต้น

ต่างจาก sigComparison() ที่จะแสดงสถานะของเงื่อนไขตลอดเวลา sigCrossover() จะให้สัญญาณบวกเฉพาะครั้งแรกที่สัญญาณเกิดขึ้นเท่านั้น ไม่ใช่ซ้ำๆ ซึ่งมีประโยชน์สำหรับสัญญาณที่ใช้เริ่มต้นธุรกรรม เนื่องจากในกรณีส่วนใหญ่ต้องการธุรกรรมเพียงครั้งเดียว ไม่ใช่ให้เกิดธุรกรรมซ้ำอยู่เรื่อยๆ

ในกรณีนี้ คุณจะใช้ฟังก์ชัน sigCrossover() โดยระบุว่า SMA50 ตัดลงต่ำกว่า SMA200 และตั้งชื่อสัญญาณนี้ว่า filterexit เนื่องจากสัญญาณนี้จะออกจากสถานะเมื่อ moving average filter บ่งชี้ว่าสภาวะตลาดไม่เอื้อต่อการถือสถานะของกลยุทธ์

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

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

ดูคอร์ส

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

  • ใช้ add.signal() เพื่อเพิ่มสัญญาณ sigCrossover โดยระบุว่า SMA50 ตัดลงต่ำกว่า SMA200
  • ตั้งชื่อสัญญาณนี้ว่า 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 = "___")
แก้ไขและรันโค้ด