การใช้ 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 = "___")