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

การใช้ sigThreshold - I

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

นอกจากนี้ ฟังก์ชัน sigThreshold() ยังรับอาร์กิวเมนต์ cross ซึ่งกำหนดว่าจะทำงานคล้าย sigComparison (cross = FALSE) หรือ sigCrossover (cross = TRUE) ในแบบฝึกหัดนี้ เราจะใช้ sigThreshold ในแบบที่ทำงานคล้าย sigComparison

โจทย์คือให้สร้าง sigThreshold ที่ตรวจสอบว่า DVO_2_126 มีค่าต่ำกว่า 20 หรือไม่ สัญญาณนี้จะเป็นหนึ่งในสองเงื่อนไขที่ต้องเป็น "เปิด" ก่อนที่กลยุทธ์จะเข้า long position

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

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

ดูคอร์ส

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

  • ใช้ add.signal() เพื่อเพิ่มสัญญาณ sigThreshold โดยกำหนดให้ DVO_2_126 มีค่าต่ำกว่า 20
  • ตั้งค่า cross เป็น FALSE
  • ตั้งชื่อสัญญาณนี้ว่า longthreshold

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

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

# Implement a sigThreshold which specifies that DVO_2_126 must be less than 20, label it longthreshold
add.signal(strategy.st, name = "___", 
           
           # Use the DVO_2_126 column
           arguments = list(column = "___", 
                            
                            # The threshold is 20
                            threshold = ___, 
                            
                            # We want the oscillator to be under this value
                            relationship = "___", 
                            
                            # We're interested in every instance that the oscillator is less than 20
                            cross = ___), 
           
           # Label it longthreshold
           label = "___")
แก้ไขและรันโค้ด