สารบัญบทความ
- หลักฐานและขอบเขต
- ภาพประกอบ
- กระบวนการ
- มาตราส่วนหลายระดับและกรอบเวลาหลายช่วงเป็นการออกแบบที่แตกต่างกัน
- จับคู่ตามเวลาที่ใช้ข้อมูลได้ ไม่ใช่เวลาที่เกิดจุดสุดขั้ว
- การจับเวลาเชิงตัวเลขและการตั้งค่าที่ถูกต้องแต่ก็ยังแพ้
- ตรึงบทบาทและจุดยึดของแต่ละมาตราส่วนไว้
- อย่านับปริมาณซื้อขายเดียวกันซ้ำ
- วัดค่าส่วนเพิ่มของบริบทในกรอบเวลาที่สูงขึ้น
- ข้อผิดพลาดที่พบบ่อย
- รายการตรวจสอบเชิงปฏิบัติ
- คำถามที่พบบ่อย
- แหล่งวิจัย
หลักฐานและขอบเขต
เอกสารอ้างอิงทางเทคนิคอธิบายเกี่ยวกับกรอบเวลา ข้อมูลในกรอบเวลาที่สูงกว่า และการเชื่อมโยงเชิงเวลา แต่ไม่ได้ระบุว่าการเพิ่มกรอบเวลามากขึ้นจะช่วยเพิ่มอัตราการชนะหรือผลกำไรโดยอัตโนมัติ
ขั้นตอนปฏิบัติ
- คำนวณแยกกันแต่ละช่วงเวลาจะมีแท่งกราฟ จุดหมุน และปฏิทินเป็นของตัวเอง
- บันทึกเวลาที่ข้อมูลพร้อมรวมเวลายืนยันจุดหมุนและความล่าช้าของข้อมูล
- เชื่อมต่อแบบย้อนกลับใช้บริบทล่าสุดที่ทราบอยู่แล้ว
- ตรึงเงื่อนไขผู้สมัครโครงสร้างขนาดใหญ่กำหนดขอบเขตพื้นที่ ส่วนโครงสร้างขนาดเล็กกำหนดช่วงเวลา
- วัดมูลค่าเพิ่มเปรียบเทียบกับค่าพื้นฐานที่ใช้เฉพาะกรอบเวลาที่สั้นกว่าเท่านั้น
มาตราส่วนหลายระดับและกรอบเวลาหลายช่วงเป็นการออกแบบที่แตกต่างกัน
การใช้มาตราส่วนหลายระดับอาจหมายถึงการใช้รัศมีจุดหมุน 2, 5 และ 10 บนชุดข้อมูล H=1 เดียวกัน การใช้กรอบเวลาหลายช่วงหมายถึงการคำนวณ H=1, H=4 หรือแท่งรายวันแยกกัน ซึ่งไม่เท่ากัน: การรวมแท่ง H=1 สี่แท่งเข้าเป็น H=4 จะทำให้ลำดับภายในของแท่งเหล่านั้นหายไป จุดหมุน H=1 ที่มีรัศมีแปดไม่จำเป็นต้องตรงกับจุดหมุน H=4 ที่มีรัศมีสอง
TradingView กำหนดกรอบเวลาของแท่งเทียนเป็น [1] และอธิบายคำขอในกรอบเวลาที่สูงกว่าที่ได้รับการยืนยันแล้วเป็น [2] โปรโตคอลที่เสนอจะกำหนด H=4 ให้กับบริบทเท่านั้น และ H=1 ให้กับการกระตุ้นเท่านั้น การซื้อขายไม่สามารถเลือกกรอบเวลาใดก็ได้ที่ทำให้ผลลัพธ์ในอดีตดูน่าเชื่อถือที่สุด
กำหนดให้ชัดเจนว่าบริบทใดควรมีส่วนช่วย อาจเป็นการระบุทิศทาง โซนอ้างอิง หรือสภาวะความผันผวน การรวมทั้งสามอย่างเข้าด้วยกันทันทีจะทำให้ยากต่อการค้นหาว่าองค์ประกอบใดมีประโยชน์ เริ่มต้นด้วยบทบาทเดียว เปรียบเทียบกับค่าพื้นฐานในกรอบเวลาที่สั้นกว่า และเพิ่มความซับซ้อนเฉพาะเมื่อเป็นการทดลองที่ลงทะเบียนไว้เท่านั้น
จับคู่ตามเวลาที่ใช้ข้อมูลได้ ไม่ใช่เวลาที่เกิดจุดสุดขั้ว
แต่ละจุดหมุนต้องการ occurred_at, confirmed_at และ available_at ฟิลด์สุดท้ายรวมถึงความล่าช้าในการส่งและประมวลผลข้อมูลเมื่อเกี่ยวข้อง ในเวลาตัดสินใจ H=1 t ให้ใช้เฉพาะสถานะ H=4 ที่มี available_at≤t เท่านั้น สำหรับจุดหมุน H=4 ที่ต้องการ r=2 การปิดแท่งเทียนสุดขั้วไม่เพียงพอ: ต้องปิดแท่งเทียน H=4 อีกสองแท่งด้วย
pandas merge_asof แบบย้อนหลังเลือกบันทึกฝั่งขวาที่ล่าสุดและเวลาไม่เกินคีย์ฝั่งซ้าย [3] จับคู่ด้วย available_at แยกกลุ่มตามตราสารและตลาดซื้อขาย เรียงเวลาและจำกัดอายุบริบท การจับคู่แบบใกล้ที่สุดอาจเลือกข้อมูลอนาคต จึงไม่เหมาะกับการค้นที่ต้องใช้เฉพาะข้อมูลซึ่งรู้แล้ว
การประทับเวลาที่เท่ากันจำเป็นต้องมีลำดับเหตุการณ์ที่ชัดเจน กล่าวคือ การอัปเดต H=4 ต้องเสร็จสมบูรณ์ก่อนการตัดสินใจ H=1 หรือความล่าช้าในการประมวลผลทำให้สามารถใช้งานได้ในภายหลัง การที่เวลาจริงเท่ากันไม่ได้หมายความว่าข้อมูลนั้นใช้งานได้ นอกจากนี้ ควรแยกแยะการอัปเดตจุดหมุน H=4 ล่าสุดออกจากสถานะโครงสร้างที่สมบูรณ์ซึ่งประกอบด้วยจุดสูงสุดและต่ำสุดที่ได้รับการยืนยันตามที่ต้องการ
for each closed H1 bar t:
h4 = latest_state(where available_at <= t, same_instrument=True)
if h4 is None or h4.age > max_context_age: continue
up = h4.H2 > h4.H1 + eps and h4.L2 > h4.L1 + eps
near_support = abs(H1.low[t] - h4.last_low) <= zone_width
if up and near_support: create_frozen_candidate(h4.anchor_ids, t)
if candidate and H1.close[t] > candidate.micro_high + buffer:
emit(signal_at=t, context_available_at=h4.available_at)
# Use only a micro_high confirmed before the trigger.
การจับเวลาเชิงตัวเลขและการตั้งค่าที่ถูกต้องแต่ก็ยังแพ้
สมมติว่าแท่งเทียน H=4 ที่มีจุดต่ำสุดปิดที่ 12:00 และจุดหมุนต้องการแท่งเทียนด้านขวา 2 แท่งที่ปิดที่ 16:00 และ 20:00 จุดต่ำสุดนั้นไม่สามารถรองรับคำสั่ง H=1 ที่ 13:00 ได้ มันจะเข้าสู่บริบทก็ต่อเมื่อข้อมูล 20:00 พร้อมใช้งานแล้ว หากการส่งมอบใช้เวลา 2 วินาที การตัดสินใจที่ 20:00:00 ยังคงต้องใช้สถานะเก่าอยู่
การตั้งค่าสังเคราะห์ที่ถูกต้อง: จุดสูงสุดที่ทราบแล้วของ H=4 ดำเนินไปถึง 110→116 และจุดต่ำสุด 100→105 โซนแนวรับที่เสนอคือ 104.7–105.3 H=1 แตะ 105.1 และปิดที่ 106.2 เหนือจุดสูงสุดย่อยที่ได้รับการยืนยันแล้วของ 106 จุดเข้าซื้อที่ 106.3 พร้อมจุดหยุดขาดทุน 104.7 มีความเสี่ยงที่วางแผนไว้ที่ 1.6 เป้าหมายการวิจัยที่ 109.5 คือ 2R ก่อนหักค่าใช้จ่าย
เส้นทางความล้มเหลว: การทะลุแนวต้าน H=1 เกิดขึ้น แต่ราคากลับร่วงลงต่ำกว่า 104.7 ในภายหลัง แนวโน้มขาขึ้นของ H=4 เป็นเพียงการอธิบายประวัติที่ทราบมาก่อน ไม่ใช่การรับประกันว่า 105 จะคงอยู่ การเปลี่ยนไปใช้ H=8 หลังจากขาดทุนเพื่อโต้แย้งว่าบริบทโดยรวมเป็นขาลง จะเปลี่ยนกฎหลังจากสังเกตผลลัพธ์ที่เกิดขึ้น
กรณีทดสอบเวลาควรขยับสัญญาณ H=1 เดิมไปก่อนและหลัง H=4 available_at ไม่กี่วินาที บริบทที่ใช้ได้ต้องเปลี่ยนเฉพาะขอบเวลาที่กำหนด อีกกรณีที่แท่ง H=4 หายไปต้องคงจุดหมุนใหม่เป็นยังไม่ยืนยัน ไม่แอบแทนด้วยแท่งปิดภายหลังโดยไม่บันทึกช่องข้อมูลขาด
ตรึงบทบาทและจุดยึดของแต่ละมาตราส่วนไว้
การกำหนดค่าที่สมบูรณ์จะกำหนดโซนให้กับโครงสร้างขนาดใหญ่ กำหนดทริกเกอร์ให้กับโครงสร้างขนาดเล็ก และกำหนดนโยบายหยุดการขาดทุนไว้ล่วงหน้า การหยุดการขาดทุนในขนาดเล็กอาจสร้างระยะห่างความเสี่ยงเริ่มต้นที่แคบกว่า แต่ก็อาจอ่อนไหวต่อการเคลื่อนไหวปกติภายในโครงสร้างขนาดใหญ่ การหยุดการขาดทุนในขนาดใหญ่จะเปลี่ยนขนาดของตำแหน่งและมักจะเปลี่ยนระยะเวลาการถือครอง ไม่ควรเลือกใช้ทั้งสองแบบย้อนหลังสำหรับการซื้อขายแต่ละครั้ง
เมื่อสร้างผู้สมัคร ให้เก็บ ID ของจุดอ้างอิงบริบท ราคา ความกว้างโซน เวลาที่บริบทพร้อม และจุดสูงสุดย่อยของกรอบเล็กที่ยืนยันแล้วตอนสร้าง บริบทใหม่อาจยกเลิกผู้สมัครที่ยังไม่มีการจับคู่คำสั่งตามกฎคงที่ แต่ห้ามเขียนเหตุผลของสัญญาณก่อนหน้าใหม่
รหัสเทียมนี้เป็นโครงร่างโครงสร้าง: การเปิดใช้งานผู้สมัครและการประเมินทริกเกอร์ควรมีไทม์สแตมป์ที่แตกต่างกัน ในรูปแบบแท่งเทียนที่ช้ากว่าอย่างเคร่งครัด กำหนดให้ต้องมี t>candidate.created_at และไมโครไฮที่ได้รับการยืนยันไม่เกินการสร้าง กำหนดสิ่งที่เกิดขึ้นหากแท่งเทียนการสร้างได้ผ่านไฮนั้นไปแล้ว ให้ปฏิเสธผู้สมัครที่ล้าสมัยหรือลงทะเบียนรูปแบบการเปิดใช้งานทันที
ตั้งค่า TTL เป็นเวลาซื้อขายที่ผ่านไป หรือแท่งเทียน H=1 สถานะ H=4 ที่เก่ามากจะไม่ถือเป็นหลักฐานใหม่เพียงเพราะมันยังคงเป็นบันทึกที่ล่าสุด การหมดอายุของบริบท ข้อมูลที่ขาดหายไป และการเปลี่ยนผ่านสู่ภาวะขาลงอย่างแท้จริง ควรมีรหัสเหตุผลแยกต่างหาก เพื่อให้สามารถวัดการสูญเสียโอกาสจากแต่ละนโยบายได้
อย่านับปริมาณซื้อขายเดียวกันซ้ำ
ปริมาณการซื้อขาย H=4 ประกอบด้วยกิจกรรมของแท่งเทียน H=1 ที่เป็นส่วนประกอบ ดังนั้นปริมาณการซื้อขาย H=1 และ H=4 ที่เพิ่มขึ้นจึงไม่ใช่การสังเกตการณ์ที่เป็นอิสระต่อกัน คะแนนสามารถนับเงื่อนไขที่ตรงตามข้อกำหนดได้ แต่ค่าน้ำหนักที่กำหนดขึ้นเองไม่สามารถเปลี่ยนคะแนนนั้นให้กลายเป็นความน่าจะเป็นที่ปรับเทียบแล้วของการชนะได้
คุณสมบัติที่เน้นเฉพาะเจาะจงมากขึ้นจะเปรียบเทียบกิจกรรมการดึงกลับของ H=1 กับเส้นฐาน H=1 ในเวลาเดียวกัน โดยคงโครงสร้าง H=4 ไว้ หากใช้ปริมาณบางส่วนของ H=4 ให้เปรียบเทียบกับปริมาณบางส่วนในอดีตหลังจากผ่านไปจำนวนนาทีเท่ากัน ปริมาณทั้งหมดในอดีตของ H=4 ไม่สามารถนำมาเปรียบเทียบกับแท่งราคาปัจจุบันของ H=4 ที่เพิ่งเปิดได้อย่างยุติธรรม
ตารางการป้อนข้อมูลมีความสำคัญพอๆ กับสูตร การแก้ไขปริมาณ แท่งกราฟที่ล่าช้า และคำจำกัดความของช่วงเวลาที่แตกต่างกัน อาจทำให้ช่วงเวลา H=4 ที่กำหนดไว้เหมือนกัน มีผลรวมที่แตกต่างกันออกไปจากแท่งกราฟ H=1 ในพื้นที่สี่แท่ง ควรเก็บรักษาแหล่งที่มาของการรวมข้อมูลและเปรียบเทียบผลรวมเพื่อตรวจสอบความถูกต้องก่อนที่จะประเมินการยืนยันใดๆ ที่คาดการณ์ไว้
การวิเคราะห์แบบ Ablation ควรเพิ่มคุณลักษณะด้านปริมาณทีละอย่าง โดยใช้ชุดผู้สมัครและกฎการดำเนินการเดียวกัน ตรวจสอบว่าการปรับปรุงยังคงอยู่หรือไม่ภายใต้การควบคุมปัจจัยด้านเวลาของวัน ความผันผวน และสภาพคล่อง แทนที่จะสันนิษฐานว่าเงื่อนไขปริมาณสีเขียวหลายเงื่อนไขให้การยืนยันที่เป็นอิสระ
วัดค่าส่วนเพิ่มของบริบทในกรอบเวลาที่สูงขึ้น
เปรียบเทียบตัวตรวจจับ H=1 เดียวกันสามแบบ: ไม่กรองบริบท ใช้ทิศ H=4 เท่านั้น และใช้ทิศ H=4 พร้อมความใกล้โซน ให้ความเสี่ยง กฎจับคู่ และวันทดสอบตรงกัน รายงานจำนวนสัญญาณที่ถูกปฏิเสธ ระดับการรับความเสี่ยง และค่าคาดหวังสุทธิ เพราะการเปลี่ยนกลุ่มย่อยของการซื้อขายก็ทำให้อัตราชนะดีขึ้นได้
เรียกใช้ข้อมูลการวัดข้ามขอบเขต H=4 การปิดตามกำหนด การเปลี่ยนแปลงเวลาออมแสง และการสังเกตการณ์ที่ขาดหายไป เล่นซ้ำตามลำดับการรับข้อมูลและเปรียบเทียบกับการเชื่อมต่อเชิงเวลาแบบกลุ่ม หากการประมวลผลแบบกลุ่มระบุโครงสร้าง H=4 ได้เร็วกว่าการเล่นซ้ำ ให้แก้ไขการเชื่อมต่อก่อนที่จะเพิ่มตัวบ่งชี้อื่น
เปรียบเทียบฐานข้อมูลที่มีกรอบเวลาเดียวและหลายระดับด้วยเช่นกัน การซิงโครไนซ์ที่ง่ายกว่าอาจอธิบายถึงประโยชน์ที่เห็นได้ชัดโดยไม่จำเป็นต้องใช้ปฏิทินแท่งกราฟตัวที่สอง บันทึกคู่กรอบเวลาและการตั้งค่าอายุสูงสุดเป็นการทดลองวิจัย และตรึงค่าเหล่านั้นไว้ก่อนการทดสอบขั้นสุดท้าย
ควรรายงานความล้มเหลวที่เกิดจากบริบทที่ไม่ทันสมัยแยกต่างหากจากการซื้อขายที่ขาดทุนที่เกิดจากบริบทที่ถูกต้อง กรณีแรกอาจบ่งชี้ถึงปัญหาการซิงโครไนซ์หรือนโยบายการหมดอายุ ในขณะที่กรณีหลังเกี่ยวข้องกับคุณค่าในการคาดการณ์ของสมมติฐาน การจำแนกประเภทที่ชัดเจนจะช่วยป้องกันไม่ให้การขาดทุนทุกครั้งถูกอธิบายให้หายไปโดยการเลือกมาตราส่วนอื่น
ข้อผิดพลาดที่พบบ่อย
ให้ H1 ใช้ราคาปิดสุดท้ายของ H4 เร็วเกินไป
การเติมค่า H=4 ที่เสร็จสมบูรณ์แล้วลงในแท่ง H=1 ที่ประกอบขึ้นทั้งหมด จะทำให้ข้อมูลรั่วไหล
ไม่สนใจความล่าช้าของจุดหมุน
แม้แท่ง H=4 จะปิดแล้ว ก็ยังยืนยันจุดสุดขั้วที่ต้องรอแท่งขวาเพิ่มเติมไม่ได้
การเปลี่ยนบริบทหลังจากขาดทุนจากการซื้อขาย
เลือกช่วงเวลาตามบริบทก่อนช่วงเวลาการประเมิน และเก็บรักษาการกำหนดค่าที่ล้มเหลวไว้
รายการตรวจสอบก่อนใช้วิธีนี้
ทำเครื่องหมายแต่ละข้อหลังตรวจสอบกับข้อมูลของคุณแล้ว ความคืบหน้าจะบันทึกในเบราว์เซอร์นี้ แต่ไม่ได้รับรองว่ากลยุทธ์ทำกำไรได้
คำถามที่พบบ่อย
สามกรอบเวลาที่เป็นขาขึ้นจะทำให้สัญญาณมีความแรงขึ้นสามเท่าหรือไม่?
ไม่ พวกมันมีเส้นทางราคาพื้นฐานเดียวกัน ข้อมูลเพิ่มเติมและการปรับเทียบความน่าจะเป็นใดๆ ต้องวัดจากข้อมูลนอกกลุ่มตัวอย่าง
การกำหนดช่วงเวลาเดียวเหมาะสมกว่าหรือไม่ เพื่อความง่าย?
การใช้กรอบเวลาเดียวที่มีหลายมาตรวัดเป็นพื้นฐานที่มีประโยชน์ ควรเพิ่มกรอบเวลาอื่นเฉพาะในกรณีที่มีวัตถุประสงค์ที่กำหนดไว้ และทดสอบว่ากรอบเวลาใหม่นั้นช่วยปรับปรุงผลลัพธ์ที่เกี่ยวข้องหรือไม่
แหล่งวิจัย
แต่ละแหล่งสนับสนุนคำจำกัดความหรือหลักฐานที่อธิบายไว้ข้างกัน รหัสเทียม ตัวอย่างสมมติ และพารามิเตอร์ที่เสนอต้องผ่านการตรวจสอบแยกต่างหาก
- Pine Script: TimeframesTradingView. อ่านนิยามและหน่วยของกรอบเวลาแล้ว ตรวจสอบเมื่อ: .
- Other timeframes and dataTradingView. อ่านตัวอย่างการขอข้อมูลกรอบใหญ่ที่ยืนยันแล้ว ตรวจสอบเมื่อ: .
- pandas.merge_asofpandas. อ่านการจับคู่ย้อนหลัง ค่าคลาดเคลื่อน และกรณีเวลาตรงกัน ตรวจสอบเมื่อ: .
วิธีการที่เกี่ยวข้อง
หมายเหตุความเสี่ยง
เนื้อหานี้ใช้เพื่อการศึกษาและออกแบบงานวิจัย ไม่ใช่คำแนะนำทางการเงิน Backtest เป็นการจำลองข้อมูลในอดีต ไม่รับประกันผลในอนาคตและไม่ส่งคำสั่งซื้อขายจริง วิธีการในคลังนี้ไม่ได้หมายความว่ามีเป็นฟีเจอร์ในแอปทั้งหมด ดู ระเบียบวิธี และ ศูนย์การเรียนรู้.
ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง
ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก
ดาวน์โหลด Backtest บน App Store