ระบบอัตโนมัติและการคัดกรองในการวิเคราะห์ทางเทคนิค — เครื่องมือ ขั้นตอน และกับดัก
เครื่องมือคัดกรองควรใช้กฎเดียวกันกับรายการสินทรัพย์ทั้งหมดที่บันทึกไว้ คำถามสำคัญหลังสแกนจึงเป็น: ผลว่างหมายถึงไม่มีชุดเงื่อนไข หรือไม่มีข้อมูล? บทนี้พาจากการนิยาม ชุดเงื่อนไขการเทรด ไปสู่รหัสเทียมที่ครบถ้วน ทะเบียนแจ้งเตือน และการทดสอบนอกตัวอย่างที่ใช้เลือกพารามิเตอร์ เราแยกการระบุสิ่งที่เข้าเกณฑ์ออกจากการส่งคำสั่ง ระบบอัตโนมัติประหยัดงานได้ แต่ก็ทำข้อผิดพลาดซ้ำอย่างรวดเร็วและสม่ำเสมอได้เช่นกัน

- เครื่องมือคัดกรองเลือกสิ่งที่เข้าเกณฑ์ คุณค่าอาจอยู่ที่ลดเวลาตรวจโดยยังครอบคลุมรายการเดิม การประเมินผลทางการเงินต้องมีกฎเข้า ออก และต้นทุนที่ตรึงไว้ด้วย
- การแจ้งเตือนมีขอบเขตกำหนดไว้ ไม่ได้แทนการสแกนเงื่อนไขนอกขอบเขตนั้น เวลาหน้าจอที่ลดลงวัดได้ แต่เราไม่สมมติว่าวินัยหรือผลลัพธ์ดีขึ้นโดยอัตโนมัติ
- Backtest เป็นแบบจำลอง ตัวทดสอบอาจรวม สเปรดย้อนหลัง คอมมิชชัน และ สลิปเพจที่สมมติ ไม่อาจสร้างราคาที่พร้อมทุกจุดหรือการตอบสนองในอนาคตของโบรกเกอร์ได้ทั้งหมด รวมถึง รีโควต การเข้ากับประวัติของแบบจำลองไม่ได้พิสูจน์ ความได้เปรียบในอนาคต.
- ระดับระบบอัตโนมัติเป็นข้อตกลงเพื่ออธิบาย แจ้งเตือน ตัวกรอง และระบบส่งคำสั่ง มีความรับผิดชอบต่างกัน execution อัตโนมัติเต็มรูปแบบต้องจัดการข้อผิดพลาด รายการซ้ำ และสถานะบัญชีเพิ่ม สัญญาณอย่างเดียวไม่พอ

1. ทำไมต้องอัตโนมัติ และทำอะไรให้เป็นอัตโนมัติกันแน่
สกุลเงินแปดสกุล USD, EUR, GBP, JPY, CHF, AUD, NZD และ CAD สร้างคู่ที่ไม่แยกลำดับได้ 8 × 7 / 2 = 28 คู่ นี่คือขอบเขตที่เลือก ไม่ใช่ Forex ทั้งตลาดหรือการวัดสินทรัพย์ที่ “ติดตามกว้างขวางที่สุด” โบรกเกอร์อาจเสนอรายการต่างกัน บันทึกสัญลักษณ์ ทิศเสนอราคา และเวอร์ชันรายการก่อนสแกน เราประเมินตัวกรอง ค่าเฉลี่ยเคลื่อนที่, ออสซิลเลเตอร์ และ บริเวณ S/R ภายใต้ข้อตกลงข้อมูลเดียวกัน
คุณไม่ได้ทำให้การตัดสินใจเข้าเป็นอัตโนมัติ แต่ทำให้ การค้นหาเป็นอัตโนมัติ ตัวคัดกรองไม่ได้บอก “ซื้อ” แต่บอก “ลองดูตรงนี้” สิ่งที่ทำต่อขึ้นกับบริบท กรอบเวลาสูง การบริหารความเสี่ยง และประสบการณ์ของคุณ
ตัวคัดกรองตรวจซ้ำตามกฎได้โดยไม่เลือกเฉพาะกราฟโปรด แต่เฉพาะในขอบเขตการตั้งค่า รายการ 28 คู่ในตั้งค่าไม่ได้พิสูจน์ว่าทุกคู่ได้รับข้อมูลปัจจุบัน รายงานต้องมีระเบียนสำหรับคู่ไม่มีสัญญาณและคู่ที่ประเมินไม่ได้ด้วย
RSI ต่ำกว่า 30 เป็นผลของเงื่อนไข ไม่ใช่คำสั่งซื้อ หากใช้ พฤติกรรมราคา หรือการวิเคราะห์บริบทเพิ่มเติมตัดสินใจเข้า ต้องบันทึกการปฏิเสธด้วย มิฉะนั้นการทดสอบตัวคัดกรองจะครอบคลุมเฉพาะการเทรดที่เลือกมาสะดวก
2. ช่วงระดับอัตโนมัติ: จากแจ้งเตือนถึงอัลกอริทึม
ห้าระดับด้านล่างจัดขอบเขตหน้าที่ เป็นข้อตกลงหลักสูตร ไม่ใช่อันดับเส้นทางเหมาะที่สุดสำหรับเทรดเดอร์ส่วนใหญ่ ระดับสูงต้องมีการตรวจเพิ่ม แต่ไม่จำเป็นต้องดีกว่าสำหรับงานเฉพาะ
| ระดับ | สิ่งที่เครื่องทำ | สิ่งที่เทรดเดอร์ทำ | ตัวอย่าง |
|---|---|---|---|
| 1. แจ้งเตือนราคา | แจ้งเมื่อราคาถึงระดับ | วิเคราะห์ ตัดสินใจ ส่งคำสั่ง | แจ้งเตือน EUR/USD = 1.0700 |
| 2. แจ้งเตือนตัวชี้วัด | แจ้งเมื่อตัวชี้วัดผ่านเงื่อนไข | วิเคราะห์บริบท ตัดสินใจ | RSI(14) < 30 บน D1 |
| 3. ตัวคัดกรอง | กรองรายการสินทรัพย์ตามเกณฑ์ | ตรวจผล วิเคราะห์ ตัดสินใจ | TradingView ตัวคัดกรอง |
| 4. ระบบกึ่งอัตโนมัติ | สร้างสัญญาณ + พารามิเตอร์ที่เสนอ | อนุมัติหรือปฏิเสธ จัดการสถานะ | ตัวชี้วัดที่เขียนเอง + แจ้งเตือน Pine Script |
| 5. อัตโนมัติเต็มรูปแบบ | วิเคราะห์ เปิด จัดการ ปิด | ติดตาม แทรกแซงเมื่อฉุกเฉิน | Expert Advisor (EA) ใน MT4/MT5 |
ตัวกรองหรือแจ้งเตือนสำเร็จรูปไม่จำเป็นต้องเขียนโปรแกรมเสมอ แต่ยังต้องตั้งค่า มีแหล่งข้อมูล และทดสอบการทำงาน execution กึ่งอัตโนมัติและอัตโนมัติเพิ่มอีกปัญหา: เงื่อนไขที่ระบุถูกต้องอาจได้ execution ต่างออกไป หรือไม่ได้เลย
บทความนี้เน้นระดับ 1 ถึง 4 อัตโนมัติเต็มรูปแบบ (EA) กล่าวถึงโดยหลักในบริบทกับดัก เพราะมักเป็นจุดที่คนไปถึงเมื่อรีบใช้หุ่นยนต์เร็วเกินไป
3. เกณฑ์คัดกรองในการใช้งานจริง
ตัวคัดกรองที่ไม่ดีไม่ได้แสดงคู่แย่ แต่แสดงคู่ที่ดูดีมากเกินไป ซึ่งแย่กว่าเพราะเปลืองความสนใจและสร้างความรู้สึกผิดว่า “วันนี้ตลาดให้อะไรบางอย่าง” พารามิเตอร์ต้องเลือกมากพอเพื่อลดสัญญาณรบกวน แต่ไม่แคบจนตัดชุดเงื่อนไขสมเหตุผลส่วนใหญ่ ต่อไปคือตัวกรองที่ใช้กันบ่อยที่สุดใน Forex[3].
รายการตรวจเพื่อทำกฎให้เป็นวัตถุวิสัย
ก่อนเงื่อนไขเข้าเครื่องสแกน ต้องเปลี่ยนจากภาษาสัญชาตญาณเป็นภาษาเครื่อง ทุกข้อด้านล่างที่คุณไม่กำหนดชัด เครื่องจะกำหนดแทน ซึ่งมักต่างจากที่คิด:
| องค์ประกอบ | คำถามควบคุม |
|---|---|
| ขอบเขตสินทรัพย์ | สแกนสินทรัพย์ใด (รายการปิด ไม่ใช่ “ทุกอย่าง”)? |
| แหล่งข้อมูล | ฟีดของใคร และราคาใด (bid, ask, mid)? เป็นฟีดเดียวกับที่เทรดหรือไม่? |
| กรอบเวลาและเวลาประเมิน | ใช้แท่งใด เฉพาะปิดแล้วหรือไม่? คำนวณเงื่อนไขเมื่อใดอย่างแน่นอน? |
| ตัวชี้วัดพร้อมวิธีคำนวณ | พารามิเตอร์ใด และการนำไปใช้ของใคร (RSI แบบ Wilder ≠ RSI บน SMA)? |
| ตัวดำเนินการและเกณฑ์ | ข้ามเกณฑ์ หรืออยู่ต่ำกว่า/สูงกว่า? ค่าคลาดเคลื่อนเท่าใด? |
| ความถี่สแกน | หนึ่งครั้งต่อแท่งปิด วันละครั้งตามเวลา หรืออย่างต่อเนื่อง? |
| ข้อมูลขาด | กฎทำอย่างไรกับแท่งขาด ช่องว่าง การเปลี่ยนสัญลักษณ์? |
| การตัดรายการซ้ำ | หากเงื่อนไขจริงหกแท่งติด จะเตือนหกครั้งหรือครั้งเดียว? |
| เงื่อนไขรีเซ็ต | อะไรยกเลิกสัญญาณและอนุญาตให้กฎส่งสัญญาณใหม่? |
มาตรวัดแยกกันสามอย่าง เวลาสแกนและความครอบคลุมข้อมูลวัดความสะดวกและความเชื่อถือได้ ความตรงกับรูปแบบอ้างอิงที่กำกับอย่างอิสระวัดการตรวจพบเงื่อนไข ผลทางการเงินต้องใช้กลยุทธ์ทั้งหมด รวมสิ่งที่เข้าเกณฑ์แต่ถูกปฏิเสธ ราคาตอบสนอง และต้นทุน การถึง TP ไม่ใช่นิยาม “ผลถูกต้อง” ของตัวคัดกรองด้วยตัวเอง และการไม่เพิ่มอัตราชนะไม่ได้ลบการประหยัดเวลา เปรียบเทียบกับรูปแบบไม่กรองบนชุดเดียวกันที่กันไว้ล่วงหน้า
ตัวกรองแนวโน้ม
- ราคาเทียบกับ EMA/SMA. ราคาที่สูงกว่า EMA 200 ซึ่งกำลังขึ้นบน D1 อาจนิยามตัวกรองทิศทางได้ ตัดสิ่งที่ไม่ผ่านเงื่อนไขนี้ ไม่ใช่การเทรด “สวนแนวโน้ม” ทั้งหมดภายใต้ทุกนิยามตลาด ราคาเท่าค่าเฉลี่ยหรือความชันราบต้องกำหนดการตัดสินใจชัดเจน
- การตัดกันของค่าเฉลี่ยเคลื่อนที่ เงื่อนไข EMA 50 ก่อนหน้า ≤ EMA 200 และปัจจุบัน > EMA 200 ตรวจการเปลี่ยนผ่าน ไม่ใช่ อัตราแลกเปลี่ยนข้ามสกุล หรือหลักฐานว่าราคาจะเปลี่ยนทิศในอนาคต ทั้งสองค่าต้องมาจากแท่งครบถ้วนของชุดเดียวกัน
- ADX เหนือเกณฑ์ ตัวอย่างเกณฑ์ตามธรรมเนียม: ADX(14) > 25 ถือเป็นตลาดมีแนวโน้ม, < 20 เป็นพักตัว โดยจำว่า ADX วัดความแรง ไม่ใช่ทิศ มีประโยชน์หลักในฐานะตัวกรองเพื่อตัดออก ต่ำกว่าเกณฑ์ กฎตามแนวโน้มจะตัดสินทรัพย์ตามพารามิเตอร์ที่เลือก
ตัวกรองโมเมนตัมและออสซิลเลเตอร์
- RSI ในบริเวณสุดขั้ว ตัวอย่างเกณฑ์ของ RSI(14) คือ 30 และ 70 ความถี่ขึ้นกับสินทรัพย์ กรอบเวลา คาบ และวิธีตั้งต้น ภาวะขายมากเกินไม่ใช่สัญญาณซื้อเดี่ยว เช่นเดียวกับซื้อมากเกินไม่ใช่สัญญาณขาย หากไม่มีงานวิจัย เราไม่ให้คุณค่าข้อมูลแก่จุดสุดขั้ว D1 มากกว่า H1
- ไดเวอร์เจนซ์ ต้องนิยามสวิง การจับคู่จุดสุดขั้วราคาและออสซิลเลเตอร์ และเวลายืนยัน เมื่อมีนิยามเหล่านี้ แม้รูปแบบซับซ้อนก็คำนวณได้ การประเมินไดเวอร์เจนซ์ “หลายคลื่น” เองโดยไม่มีกฎยังมีการเลือกตามดุลยพินิจที่ทำซ้ำอย่างเป็นธรรมในการทดสอบได้ยาก
- MACD histogram – เปลี่ยนเครื่องหมาย Histogram ข้ามศูนย์จากด้านล่าง ในวิธีคำนวณนี้หมายถึงความสัมพันธ์เส้น MACD กับเส้นสัญญาณเปลี่ยน ไม่ใช่หลักฐานว่าทิศราคาเปลี่ยน เขียนโค้ดง่าย มักใช้เป็นตัวกรองเบื้องต้นเพื่อวิเคราะห์ต่อ
ตัวกรองราคาและโครงสร้าง
- ความใกล้ S/R กำหนดบริเวณและค่าคลาดเคลื่อนในหน่วยเดียวกับราคา แจ้งเตือนที่บริเวณที่ทำเครื่องหมายเองอาจทำให้ตรวจง่าย แต่ประสิทธิผลต้องทดสอบ ไม่ได้ตามมาจากตั้งค่าง่าย
- ทะลุกรอบ N แท่ง เช่น ราคาปิดแท่งที่ครบถ้วน > จุดสูงสุดของ 20 แท่งครบถ้วนก่อนหน้า ไม่รวมแท่งที่ทดสอบในหน้าต่างหาค่าสูงสุด ความเท่ากันไม่ใช่ทะลุในฉบับเคร่งครัด นี่คือข้อตกลง Donchian แบบหนึ่ง ไม่ใช่คำมั่นกำไรอัตโนมัติ
- ฟีโบนัชชี. กำหนดจุดต้นและปลายสวิงที่ยืนยันแล้ว กับค่าคลาดเคลื่อนรอบระดับย่อ การยืนยันที่ล่าช้าอธิบายใน บทความ 5.11 การคำนวณระดับไม่ได้พิสูจน์ว่าราคาจะตอบสนอง
จากสัญชาตญาณสู่เงื่อนไข – กฎเต็มและสิ่งที่หายไปเมื่อแปลงภาษา
สัญชาตญาณ: “ซื้อเมื่อเด้งแนวรับในขาขึ้น D1” ความคิดเดียวกันที่เขียนให้สแกนเนอร์ทำได้:
รหัสเทียม: สิ่งเข้าเกณฑ์ “ทดสอบแนวรับ” ไม่ใช่คำสั่ง
การตั้งค่าที่ตรึง: เวอร์ชัน, 28 คู่, ฟีด BID, D1, ปฏิทิน,
EMA: α=2/201 เริ่มด้วย SMA ของ C 200 ค่าแรก; Wilder ATR(14):
seed = ค่าเฉลี่ย TR 14 ค่าแรกที่มี C ก่อนหน้า จากนั้น α=1/14;
ช่วงตั้งต้นอย่างน้อย 500 แท่งครบถ้วนเป็นทางเลือกแบบจำลอง ไม่รับประกันการลู่เข้า
สถานะสัญลักษณ์: ระดับ S, ATR A, ช่วงระบุบริบท, พร้อม/ไม่พร้อม
เมื่อเริ่ม t บันทึกภาพบริบทที่แก้ไม่ได้จากข้อมูลที่ทราบก่อน start_t:
บันทึกข้อมูลเข้าของ t โดยไม่เปลี่ยนสถานะพร้อมที่กำลังใช้งาน การลองซ้ำใช้ภาพนี้
สถานะก่อน t และคลังจุดศูนย์กลางมาจากแท่งล่าสุดที่ประมวลผลก่อนหน้า
เลือกแฟรกทัลล่างเคร่งครัดล่าสุดที่มี 2 แท่งแต่ละข้าง
ยืนยันและได้รับก่อน start_t อายุไม่เกิน 60 แท่ง;
จุดต่ำเท่ากันไม่เกิดแฟรกทัลเคร่งครัด ไม่มี = NO_LEVEL
ระบุบริบทใหม่ด้วยฟีดและจุดศูนย์กลางแฟรกทัล เก็บจุดศูนย์กลางที่ยกเลิก
ในทะเบียน ไม่สร้างบริบทใหม่จากจุดศูนย์กลางเดิม
สำหรับบริบทใหม่ A := ATR ที่ทราบก่อน start_t; คงค่าเดิม
จนหมดอายุ ถูกยกเลิก หรือมีจุดศูนย์กลางใหม่ที่ยืนยันแล้ว
หลัง 60 แท่งจากจุดศูนย์กลาง บันทึก EXPIRED; ไม่แจ้งเตือน
หาก A ≤ 0 หรือค่าขาด: NO_VALUE โดยไม่มีสัญญาณ
บันทึกบริเวณ [S − 0.2A; S + 0.2A] และการยกเลิก C < S − 0.5A
แฟรกทัลใหม่ที่ยืนยันสร้างบริบทใหม่ พร้อมก่อนทดสอบ
หลังสิ้นสุด t สำหรับทุกสัญลักษณ์ในขอบเขตทั้งหมด:
Key := (version, feed, symbol, D1, end_UTC)
ดึง OHLC t ครบถ้วนและ known_at พร้อมภาพบริบทก่อน start_t ที่บันทึก
แฮชข้อมูลเข้าครอบคลุม OHLC ประวัติตัวชี้วัด บริบท การตั้งค่า และเวอร์ชันข้อมูล
หากคีย์และแฮชนี้มีแล้ว: คืนผลเดิมโดยไม่ประเมินหรือเปลี่ยนสถานะ
หากคีย์มีแล้วแต่แฮชต่าง: เพิ่มการแก้ไข และเล่นย้อนหลังแยก
จากสถานะที่ตรึงก่อน t; ไม่ประเมิน t ด้วยสถานะที่ t เปลี่ยนแล้ว
การแก้ประวัติก่อน t ต้องเล่นใหม่จากข้อมูลเข้าแรกที่เปลี่ยน
เก็บผล/known_at เดิม กำกับผลเล่นใหม่ว่าเป็นการแก้ไขภายหลัง
ไม่ส่งการแก้ไขเป็นแจ้งเตือนต้นฉบับใหม่ จบการทำงานสัญลักษณ์นี้
ในการประเมินครั้งแรก ใช้สำเนาสถานะก่อน t และภาพบริบท;
ตรวจ L ≤ min(O,C) ≤ max(O,C) ≤ H
ตรวจความต่อเนื่องช่วงซื้อขาย ฟีด องค์ประกอบ ขั้นราคา และช่วงตั้งต้น
ข้อมูลผิด: บันทึก NO_DATA; คงสถานะ; ไม่แจ้งเตือน
หาก C_t < S − 0.5A: บันทึก INVALIDATED ลบบริบท; จบสัญลักษณ์
หากสถานะไม่พร้อม:
หาก C_t ≥ S + A AND L_t > S + 0.2A: เตรียมพร้อมสำหรับแท่งถัดไป;
บันทึก REARM หรือ DISARMED; ไม่แจ้งเตือนในแท่งเดียวกัน
หากสถานะพร้อม:
trend := C_t > EMA200_t AND EMA200_t > EMA200_(t−20)
test := H_t ≥ S − 0.2A AND L_t ≤ S + 0.2A AND C_t > S
signal := trend AND test
บันทึก SIGNAL หรือ NO_SIGNAL พร้อมตัวถูกดำเนินการครบ
เมื่อมีสัญญาณ ยกเลิกความพร้อมบริบท; เตือนใหม่ได้หลัง REARM ในอนาคตเท่านั้น
ทุกทางแยกที่จบบันทึกผล ข้อมูลเข้า สถานะก่อนและหลัง t
บันทึกระเบียนและสถานะครั้งเดียวในธุรกรรมเดียวด้วยคีย์ไม่ซ้ำ;
หากลองซ้ำแล้วชนคีย์ คืนระเบียนที่มีโดยไม่แก้สถานะรอบสอง
ใช้คีย์นี้ระบุการแจ้งเตือน รวมเมื่อกลับมาส่งต่อหลังหยุด
ประมวลผลเวลาปิดแท่งตามลำดับเวลา ช่องว่างข้อมูลบล็อกแจ้งเตือนถัดไป
จนสร้างบริบทใหม่ ไม่เปลี่ยนช่องว่างให้เป็น NO_SIGNAL
หลังสแกน รายงานจำนวนที่คาด/ประเมิน/ข้อมูลขาด/เข้าเกณฑ์ แม้เข้าเกณฑ์ = 0
แจ้งเตือนรวม end_t, known_at, version, S, A และเงื่อนไข; ไม่มีฟังก์ชันส่งคำสั่ง
นี่คือต้นทุนชัดเจนของการแปลงภาษา: “การเด้ง” กลายเป็นแตะบริเวณที่ตั้งค่าคลาดเคลื่อนตามอำเภอใจ 0.2 × ATR; “แนวรับ” กลายเป็นแฟรกทัลที่ยืนยันช้าสองแท่ง (เวลายืนยันสวิง → บทความ 5.11); คุณภาพการเด้ง บริบท W1 และรูปลักษณ์แท่งถูกทิ้งนอกกฎ และยังต้องแยกการเตรียมแจ้งเตือนใหม่ (ราคาออกห่างบริเวณ) ออกจากการยกเลิกแนวรับเอง ซึ่งสัญชาตญาณมักรวมสองการตัดสินใจไว้ด้วยกัน นี่ไม่ใช่ข้อเสียของสัญกรณ์ แต่เป็นราคาของการไม่กำกวม — ทุกสิ่งที่ไม่เขียนไว้ ไม่มีอยู่สำหรับสแกนเนอร์ ดังนั้นผลสแกนจึงเป็นรายการเพื่อวิเคราะห์ ไม่ใช่รายการเทรด
บริบทมหภาคและตัวกรองต้นทุน – สิ่งที่ตัวคัดกรองอย่างเดียวไม่แสดง
ตัวกรองปฏิทิน สเปรด หรือโรลโอเวอร์เป็นอีกกฎหนึ่ง หน้าต่าง 30 หรือ 60 นาทีไม่มีความเหมาะที่สุดที่พิสูจน์ไว้ในที่นี้ บันทึกว่าครอบคลุมเหตุการณ์ใด ได้วันที่จากไหน และบล็อกสิ่งเข้าเกณฑ์ใหม่ คำสั่งใหม่ หรือเปลี่ยนการจัดการสถานะเดิมด้วย
- ตัวกรองปฏิทิน ตัวอย่างขั้นตอนอาจตัดสิ่งเข้าเกณฑ์ใหม่สองชั่วโมงก่อนเหตุการณ์ที่เลือก นี่คือพารามิเตอร์ให้ทดสอบ ไม่ใช่ข้อบังคับสากล ตรวจวันที่กับผู้เผยแพร่ และแยกเวลาตามกำหนดจากเผยแพร่จริง “ผลกระทบสูง” เป็นการจัดประเภทของผู้ให้ปฏิทิน
- ตัวกรองสเปรด ต้องระบุเกณฑ์ หน่วย และฐานเปรียบเทียบ การมากกว่าสองเท่าของระดับที่วัดก่อนหน้าสำหรับคู่และเวลานั้นอาจบล็อกคำสั่งใหม่ แต่ไม่อธิบายสาเหตุสเปรดกว้างหรือป้องกันสถานะเดิม
- ตัวกรอง ATR ATR > 1.2 × ค่าเฉลี่ย N ค่าก่อนหน้า อธิบายการเกินเกณฑ์ที่เลือก ค่าต่ำกว่าเกณฑ์ไม่แปลว่า “ตลาดบาง” โดยอัตโนมัติ การเปลี่ยน SL, TP และปริมาณต้องมีกฎบันทึก ไม่ได้ตามจาก ATR อย่างเดียวเสมอ
ตัวคัดกรองไม่ใช่ผู้ลั่นไก การวิเคราะห์ รูปแบบกราฟ, บริบทหลายกรอบเวลา และการบริหารความเสี่ยงยังเป็นหน้าที่ของคุณ
ตัวกรองอาจให้จำนวนผลต่างกันตามสภาวะ หากสลับชุดตามแนวโน้มและชุดเทรดในกรอบ ต้องบันทึกกฎสลับก่อนทดสอบและใช้ข้อมูลที่พร้อมในเวลานั้น การเลือกตัวกรองดีที่สุดย้อนหลังให้แต่ละช่วงประวัติเป็นการปรับหาค่าดีที่สุดอีกครั้ง สัปดาห์ว่างที่มีข้อมูลครบเป็นผลที่ถูกต้อง ไม่ใช่เหตุให้ผ่อนเกณฑ์เฉพาะหน้า
ระดับเดิม สถานะแจ้งเตือนที่เปลี่ยนต่อกัน
ลองเดินตามกฎโดยไม่เปลี่ยนเกณฑ์หลังเห็นผล แนวรับ S = 1.1000 มาจากแฟรกทัลที่ยืนยันก่อนวันทดสอบแรก ATR A = 0.0040 หรือ 40 pip ตรึงไว้ในตอนนั้น กำหนดบริเวณ [1.0992; 1.1008] ยกเลิกที่ C < 1.0980 และเตรียมใหม่ที่ C ≥ 1.1040 และ L > 1.1008 นี่คือพารามิเตอร์แบบจำลอง ไม่ใช่ค่าที่แนะนำสำหรับ EUR/USD จุดศูนย์กลางแฟรกทัลและ A คงเดิมตลอดตัวอย่าง
| ขั้น | L / H / C | สถานะก่อน | ผล |
|---|---|---|---|
| 1 | 1.1007 / 1.1015 / 1.1010 | เตรียมพร้อม | กรอบตัดกับบริเวณ C > S: แจ้งและยกเลิกความพร้อม |
| 1 — ลองซ้ำ | คีย์และแฮชข้อมูลเข้าเดียวกับ 1 | ระเบียน SIGNAL ที่มีแล้ว | คืนผลก่อนหน้า ไม่ประเมิน เปลี่ยนสถานะ หรือแจ้งใหม่ |
| 2 | 1.1010 / 1.1042 / 1.1040 | ไม่พร้อม | C เท่าเกณฑ์เตรียมใหม่ L อยู่เหนือบริเวณ: เตรียมสำหรับขั้นถัดไป ไม่แจ้ง |
| 3 | 1.1007 / 1.1025 / 1.1010 | เตรียมพร้อม | ทดสอบใหม่: แจ้งครั้งที่สอง ปลายแท่งและคีย์ต่างกัน |
| 4 | 1.0975 / 1.1014 / 1.0980 | ไม่พร้อม | ความเท่ากันไม่ยกเลิกตามกฎเคร่งครัด ไม่เตรียมใหม่และไม่แจ้ง |
| 5 | 1.0974 / 1.0982 / 1.0979 | ไม่พร้อม | C < 1.0980: บริบทถูกยกเลิก |
ในขั้น 1 และ 3 ตัวกรอง EMA ที่ประกาศผ่าน: ราคาปิดเหนือ EMA และ EMA ปัจจุบันเหนือค่าเมื่อ 20 แท่งก่อน ตารางไม่ได้สร้างช่วงตั้งต้น 500 แท่งกลับมา สองเงื่อนไขนี้เป็นข้อมูลเข้าของแบบจำลองตรรกะ ไม่ใช่ค่าตลาดที่มีเอกสารยืนยัน การลองขั้น 1 ซ้ำต้องคืน SIGNAL เดิม ไม่คำนวณใหม่ด้วยสถานะที่ตอนนี้ไม่พร้อมแล้วและเขียนทับเป็น DISARMED เมื่อแก้ข้อมูล เราสร้างสถานะก่อนแท่งนั้นและสถานะถัดไปที่ขึ้นต่อกันใหม่แยกต่างหาก โดยเก็บการทำงานเดิม ขั้น 2 ไม่อาจทั้งเตรียมและแจ้ง เพราะสถานะตอนเริ่มประเมินไม่พร้อม ลำดับทางแยกเป็นส่วนของนิยาม ไม่ใช่รายละเอียดเทคนิคย่อย
หลังขั้น 5 แฟรกทัลเก่ายังอยู่ในคลังในสถานะถูกยกเลิก สแกนวันถัดไปห้ามเปลี่ยนชื่อเป็น “แนวรับล่าสุด” แล้วสร้างแจ้งใหม่จากศูนย์กลางเดิม ต้องมีแฟรกทัลใหม่ที่ยืนยันแล้ว การหมดอายุหลัง 60 แท่งเป็นอีกสถานะ เกิดแม้ราคาไม่ผ่านระดับยกเลิก หากข้อมูลขาดระหว่างขั้น เราไม่รู้ว่าเตรียมใหม่หรือยกเลิกในช่องว่างหรือไม่ ต้องรายงานการขาดช่วงและพักแจ้งใหม่จนสร้างบริบทใหม่
การแก้ high/low อาจเปลี่ยนคุณสมบัติแฟรกทัล เก็บภาพข้อมูลเดิม ผลที่พร้อมในตอนนั้น และการแก้ภายหลังที่เชื่อมกัน การประเมินว่า “กฎทำงานอย่างไรบนข้อมูลสุดท้าย” กับ “ในเวลานั้นส่งอะไรได้จริง” เป็นการทดลองต่างกันสองอย่าง ทำทั้งคู่ได้ แต่ห้ามปนบันทึก CSV สถานะ ที่แนบใช้ตรวจวิธีนำไปใช้ได้โดยไม่วางคำสั่ง
4. TradingView – ตัวคัดกรอง แจ้งเตือน Pine Script
ตัวคัดกรองในตัว
TradingView มีตัวกรองสกุลเงินและแจ้งเตือน แต่ขอบเขตที่แน่นอนขึ้นกับเครื่องมือและแพ็กเกจปัจจุบัน ตรวจคอลัมน์ กรอบเวลา และแหล่งข้อมูล “ปริมาณ” ใน spot FX ไม่ใช่บันทึกธุรกรรมรวมศูนย์ อาจหมายถึงจำนวนอัปเดตของฟีดหนึ่ง สองแหล่งอาจให้ผลต่างกัน ยังเปรียบเทียบได้ แต่ต้องระบุข้อมูลและวิธี
ชุดตัวกรองเริ่มต้นที่ใช้ได้: กรอบ D1, RSI(14) ต่ำกว่า 35 หรือเหนือ 65, ราคาสูงกว่า/ต่ำกว่า EMA 200, การเปลี่ยนแปลงเปอร์เซ็นต์ใน 5 ช่วงซื้อขายล่าสุด > 1% การตั้งเช่นนี้มักให้คู่ไม่กี่คู่ต่อวัน จำนวนจริงขึ้นกับสภาวะ ตลาดมีแนวโน้มผ่านมากกว่า ตลาดพักตัวผ่านน้อยกว่า
แจ้งเตือนใน TradingView
แจ้งเตือนบอกว่าเงื่อนไขเกิด อาจต้องรอปิดหรือตอบสนองระหว่างแท่ง ทั้งสองกรณีต้องบันทึกเวลาข้อมูล เวลาตรวจพบ และเวลารับข้อความ เราไม่สมมติว่าอัลกอริทึมอื่นทุกตัวเทรดไปแล้ว หรือทุกข้อความล่าช้าเท่ากัน
ขีดจำกัดแจ้งเตือนขึ้นกับแพ็กเกจและเปลี่ยนตามเวลา ค่าประกอบตัวอย่าง (ราคาปัจจุบันที่ tradingview.com/pricing): Essential ให้แจ้งราคา 20 รายการ + 20 รายการสำหรับเทคนิค; Plus อย่างละ 100; Premium 400; Ultimate 1,000 บัญชีฟรีให้ครั้งละไม่กี่รายการ สำหรับผู้ติดตาม 10 ถึง 15 คู่ นี่เป็นข้อจำกัดจริงและเหตุผลที่พบบ่อยในการอัปเกรดแพ็กเกจเสียเงิน
Pine Script – ตัวชี้วัดและกลยุทธ์ที่เขียนเอง
Pine Script เป็นภาษาสคริปต์ของ TradingView ไม่ต้องมีประสบการณ์เขียนโปรแกรมระดับ Python เพราะไวยากรณ์ง่ายกว่า เอกสารดี และชุมชนเผยแพร่สคริปต์สำเร็จรูปหลายพันชุดที่ปรับใช้ได้ สิ่งที่ทำได้:
- ตัวชี้วัดที่เขียนเอง – เช่น วาดลูกศรเมื่อ RSI < 30 และราคาอยู่ในบริเวณย่อฟีโบนัชชี 50 ถึง 61.8% และ EMA 50 > EMA 200 สามเงื่อนไขที่ปกติต้องตรวจเองหลายนาทีบนกราฟ สคริปต์ทำได้ทันที
- แจ้งเตือนจากตัวชี้วัดที่เขียนเอง – สคริปต์สร้างแจ้งอัตโนมัติเมื่อเงื่อนไขเกิดพร้อมกัน คุณได้รับข้อความบนโทรศัพท์แล้วเปิดกราฟที่พร้อมวิเคราะห์
- ทดสอบกลยุทธ์ย้อนหลัง – Pine Script มีโมดูล
strategy()ในตัว ใช้ทดสอบตรรกะบนประวัติ ผลอยู่ในแท็บ “Strategy Tester”: เส้นทุน drawdown อัตราชนะ และ profit factor
Pine Script คำนวณตัวชี้วัด แจ้งเตือน และคำสั่งจำลองในอีมูเลเตอร์ TradingView การเชื่อมโบรกเกอร์ในตัวเพื่อจัดคำสั่งไม่ได้แปลว่าสคริปต์กลยุทธ์ส่งการเทรดของตนเข้าโบรกเกอร์ execution อัตโนมัติหลัง webhook ต้องมีชั้นแยกที่ตั้งถูกต้อง ต้องระบุรายการซ้ำ การตอบรับ และข้อผิดพลาด สภาพแวดล้อมขึ้นกับข้อมูลและข้อกำหนด หากไม่มีการวัด เราไม่ถือแพลตฟอร์มใดรับประกันสลิปเพจต่ำกว่า
เหตุการณ์ RSI ในรหัสเทียม นี่อธิบายตรรกะ ไม่ใช่โค้ดพร้อมวางหรือระบบส่งคำสั่ง วิธีนำไปใช้ต้องรักษาข้อตกลงความครบถ้วนและเวลา กับกฎตั้งต้นใน บทความ 5.8.
รหัสเทียม — แจ้งเท่านั้น ไม่มีคำสั่ง
การตั้งค่า: เวอร์ชันกฎ ขอบเขตสินทรัพย์ ฟีด BID กรอบ D1,
ขอบเขตวัน วิธีคำนวณ RSI(14) และ EMA(200) ประวัติอย่างน้อย 500 แท่ง
หลังทุกเวลาสิ้นสุด D1 ที่คาด สำหรับทุกสัญลักษณ์:
ตรวจความครบถ้วน OHLC ความต่อเนื่องปฏิทิน และเวลาพร้อมใช้
หากข้อมูลขาด: บันทึก NO_DATA; คงสถานะเกณฑ์; จบสัญลักษณ์
คำนวณ RSI และ EMA ด้วยวิธีเดียวกันที่ประกาศ บน D1 ครบสองแท่งต่อกัน
หากผลไม่นิยาม: บันทึก NO_VALUE; จบสัญลักษณ์
Event := RSI ก่อนหน้า ≥ 30 AND RSI ใหม่ < 30 AND C ใหม่ < EMA ใหม่
Key := (version, feed, symbol, D1, end_UTC)
บันทึกผลแม้ event = FALSE พร้อมเวลาข้อมูลและแฮช
หาก event และยังไม่ส่ง key: บันทึกแจ้งเตือน ส่งข้อความ
ทำงานซ้ำด้วย key เดิมไม่ส่งแจ้งใหม่
แก้ประวัติ: เพิ่มเวอร์ชันแก้ไข ไม่แทนการตัดสินใจเดิม
หากมีช่องว่างข้อมูลระหว่างแท่ง: ห้ามถือว่าเกิดการข้ามต่อเนื่อง
เหตุการณ์ถัดไปต้องมีคู่แท่งครบถ้วนต่อกันคู่ใหม่
RSI = 30 บนแท่งก่อนอนุญาตการเปลี่ยนผ่าน แต่ความเท่ากันบนแท่งปัจจุบันไม่ผ่าน นี่คือการเลือกตัวดำเนินการชัดเจน แท่งถัดไปที่ยังต่ำกว่า 30 ไม่ใช่การข้ามใหม่ และต้องตัดผลซ้ำจากการสแกนซ้ำแยกต่างหาก ช่องว่างข้อมูลไม่อนุญาตให้สร้าง RSI ที่ขาดหรือยอมรับการข้ามที่ไม่ได้สังเกต
การตรวจพบและตอบสนอง Close พร้อมใช้เมื่อแท่งครบและได้รับแล้ว จากนั้นจึงมีแจ้งเตือน การตัดสินใจ และความพยายาม execution อีมูเลเตอร์ค่าเริ่มต้น TradingView จับคู่คำสั่งใหม่ไม่เร็วกว่าทิกถัดไป และมีตัวเลือกจำลอง execution ที่ราคาปิด ตัวเลือกนั้นไม่พิสูจน์ว่าราคานี้ทำได้หลังรับแจ้ง การใช้ราคาปิด HTF ในอนาคตก่อนช่วงจบเป็นการมองล่วงหน้า ไม่ว่าการตั้งค่าชื่ออะไร ลำดับเวลาอยู่ใน บทความ 5.11.
5. MT4/MT5 – สแกนเนอร์ ตัวชี้วัด EA
MetaTrader ยังเป็นแพลตฟอร์ม execution หลักของโบรกเกอร์ Forex จำนวนมาก จุดแข็งด้านอัตโนมัติคือ MQL4/MQL5 และการสร้าง Expert Advisor (EA) ซึ่งเป็นโปรแกรมเปิดและปิดสถานะอัตโนมัติได้
ตัวชี้วัดและสแกนเนอร์ที่เขียนเอง
ใน MQL4/MQL5 คุณเขียน (หรือดาวน์โหลดจาก MQL5 Market) ตัวชี้วัดที่สแกนหลายสินทรัพย์จาก Market Watch และแสดงแดชบอร์ด: คู่เงิน ทิศแนวโน้ม ค่า RSI ระยะจาก MA สำคัญ เครื่องมือที่นิยม เช่น “Multi-Currency Dashboard” และ “Scanner RSI” มีคุณภาพต่างกันมาก ควรตรวจบทวิจารณ์และทดสอบบัญชีทดลองก่อนพึ่งพา
ข้อแตกต่างสำคัญจาก TradingView: ตัวชี้วัด MT4/MT5 ทำงานในเครื่อง (คอมพิวเตอร์หรือ VPS) ไม่ใช่คลาวด์ สแกนตามความเร็วการเชื่อมต่อกับเซิร์ฟเวอร์โบรกเกอร์ และต้องเปิดแพลตฟอร์ม หากปิดแล็ปท็อปออกไปเดิน แจ้ง MT4 จะไม่ทำงาน (เว้นแต่แพลตฟอร์มอยู่บน VPS) TradingView สแกนฝั่งเซิร์ฟเวอร์ จึงแจ้งได้แม้คอมพิวเตอร์ปิด สำหรับสวิงเทรดเดอร์ที่ไม่อยากติดโต๊ะ นี่เป็นความต่างชัดเจนในชีวิตประจำวัน
Expert Advisor – อัตโนมัติเต็มรูปแบบ
EA เป็นโปรแกรมที่เทรดเองได้ ความเป็นไปได้กว้างมาก ตั้งแต่ “ซื้อเมื่อ EMA 50 ข้ามขึ้นเหนือ EMA 200” จนระบบซับซ้อนที่จัดสถานะแบบไดนามิก ใช้ trailing stop และวิเคราะห์หลายกรอบเวลา
ประเมิน EA สำเร็จรูปต้องมีกฎที่บันทึก ประวัติเปลี่ยน ข้อมูล ต้นทุน และผลที่รวมช่วงอ่อนแอ กราฟเรียบอย่างเดียวไม่พิสูจน์การฉ้อโกงหรือการฟิต แต่ถ้าไม่มีข้อมูลเหล่านี้ก็ตัดสองความเป็นไปได้ออกไม่ได้ ส่วนที่เหลือจะแสดงว่าควรตรวจอะไร
MT5 เทียบกับ MT4
MT5 มีตัวทดสอบหลายสัญลักษณ์ ขณะที่ตัวมาตรฐาน MT4 ใช้สัญลักษณ์ที่เลือก เรื่องนี้สำคัญกับกลยุทธ์พอร์ต แต่ไม่ได้ตัดสินคุณภาพข้อมูลหรือแบบจำลอง execution ตรวจสินทรัพย์ที่รองรับ โหมดทดสอบ และเงื่อนไขโบรกเกอร์ ชื่อแพลตฟอร์มอย่างเดียวไม่ใช่การประเมิน execution
6. ขั้นตอน: จากสแกนสู่รายการติดตาม
ขั้นตอนด้านล่างแยกสแกน ตรวจ และตอบสนอง เป็นตัวอย่างจัดงานสำหรับ สวิงเทรด ไม่ใช่ผลศึกษาประสิทธิผล ทุกขั้นเหลือบันทึก รวมการปฏิเสธ
- W1 หลังสัปดาห์จบ ทบทวนบริบทและบริเวณที่ยืนยันไว้ก่อนของ S/R ประเมินเองหรืออัตโนมัติได้หากนิยามเป็นทางการ บันทึกเวลาระบุและขอบเขตบริเวณ อย่าย้ายภายหลังให้เข้าผล
- เช้าวันจันทร์: คัดกรอง D1 ใช้ตัวคัดกรองที่ปรับตามสไตล์ (เช่น RSI < 35 ราคาใกล้ EMA 200, ADX > 25) ได้คู่ไม่กี่คู่ เปิด D1 แต่ละคู่แล้วตรวจเองว่าเข้าบริบททบทวนรายสัปดาห์หรือไม่ ใกล้ระดับจากกรอบสูงหรือไม่
- รายการติดตามและความเสี่ยงเปิดรับ จำนวนคู่ขึ้นกับกำลังตรวจ ไม่ใช่ช่วง “อุดมคติ” 2–5 ซื้อ EUR/USD ซื้อ GBP/USD และขาย USD/CHF มีขา short USD ร่วม แต่สกุลอื่นต่างกัน ไม่ใช่สถานะเดียวกันเหมือนทุกอย่าง วัดสหสัมพันธ์บนผลตอบแทนที่จัดแนว ระบุช่วงและหน้าต่าง DXY ซ้ำกับอัตราเหล่านี้บางส่วน ส่วน COT มีวันที่สถานะและเผยแพร่แยก การกำหนดขนาดสถานะ อยู่ในแผนเทรดเท่านั้น
- แจ้งเตือนและรอ ตั้งแจ้งคู่ที่ติดตาม: ตามราคา (ถึงบริเวณ) ตามตัวชี้วัด (RSI เข้าบริเวณสุดขั้ว) หรือตามวัตถุวาด (แตะเส้นแนวโน้ม) ไม่ต้องนั่งจ้องกราฟ แต่รอข้อความ
- แจ้ง → วิเคราะห์ → ตัดสินใจ เมื่อมีแจ้ง เปิดกราฟ ทำ การวิเคราะห์หลายกรอบเวลา (D1 → H4) และมองหาการยืนยันจาก พฤติกรรมราคา หากมีชุดเงื่อนไขก็เข้า หากไม่มีก็ปล่อยแล้วรอต่อ ไม่มีชุดเงื่อนไขไม่ใช่ปัญหา แต่เป็นข้อมูล
บันทึกเวลาตรวจจริงและความครอบคลุม แจ้งเตือนไม่รับประกันการประเมินบริบทถูกหรือรายการครบ การเปลี่ยนข้อมูลหลังแทรกแซงหรือประกาศอาจเปลี่ยนผลกฎ การตรวจต้องมีระเบียนใหม่ ไม่ใช่แทนค่าก่อนหน้า
จำนวนสิ่งเข้าเกณฑ์ควรเหมาะกับกำลังตรวจ ถือผลว่างว่าไม่มีชุดเงื่อนไขได้หลังตรวจความครอบคลุมและความสดข้อมูลเท่านั้น ความล้มเหลว แท่งไม่ครบ และประวัติไม่พอมีสถานะแยก “วันนี้ไม่มี” เป็นการตีความ ไม่ใช่ข้อความวินิจฉัยระบบ
7. เช้าวันจันทร์ – คัดกรอง 28 คู่เป็นอย่างไร
ตัวอย่างตรวจวันจันทร์: แหล่งข้อมูลใช้วันสิ้นสุด 17:00 America/New_York และห้าแท่ง D1 เต็มในสัปดาห์ปกติ ใช้ D1 ครบถ้วนล่าสุดที่ได้รับ หากใช้ UTC อาจมีแท่งวันอาทิตย์สั้นก่อนวันจันทร์ จึงไม่สมมติสากลว่าไม่มี D1 ใหม่ช่วงสุดสัปดาห์
8:15. ในตัวคัดกรอง TradingView กรอง D1 (ข้อมูลจากปิดช่วงวันศุกร์): RSI(14) < 35 ราคาต่ำกว่า EMA 200, ADX(14) > 20 เป้าหมายคือคู่ที่ขายมากเกินในขาลง
ตัวกรองแบบจำลองให้สี่คู่ โดยข้อมูลครบทั้ง 28 การตรวจใช้แหล่งเดียวกัน เวลาสิ้นสุด D1 และการตั้งต้นตัวชี้วัดเดียวกัน:
- AUD/USD RSI สมมติ 28 และราคาต่ำกว่า EMA 200 ผ่านตัวกรอง เมื่อมีบริเวณ W1 ที่บันทึกไว้ก่อน สิ่งเข้าเกณฑ์จึงไปวิเคราะห์ต่อ ความใกล้แนวรับอย่างเดียวไม่ใช่คำสั่งซื้อ
- NZD/USD ผ่านตัวกรอง แต่กฎเพิ่มต้องใกล้บริเวณ W1 ซึ่งที่นี่ไม่มี บันทึกว่าปฏิเสธตอนตรวจความถูกต้อง ไม่ใช่ใส่ป้าย “สัญญาณหลอก” หลังขาดทุน
- EUR/GBP ในแบบจำลอง สแกนเนอร์รายงาน ADX 21 และฟีดที่สอง 18 เทียบกับเกณฑ์ > 20 นี่ไม่ใช่การวัดเดียวกันที่สอดคล้อง บันทึกแหล่งและพักเปรียบเทียบจนตรวจ OHLC ขอบเขตวัน และการตั้งต้น อย่าเหมาผลต่าง ADX สามจุดว่ามาจากฟีดอย่างเดียวโดยไม่คำนวณใหม่
- GBP/CHF RSI สมมติ 31 และ ADX 27 ผ่านตัวกรอง การใกล้ระดับย่อ 61.8% ต้องมีสวิงที่ทราบก่อนและค่าคลาดเคลื่อนระบุ แจ้งราคาและ RSI ยังเป็นคนละเงื่อนไข
แบบจำลอง: 4/28 = 14.2857% ของสินทรัพย์ผ่านตัวกรอง และ 2/28 = 7.1429% เหลือในรายการติดตาม ไม่ได้วัดเวลาทำงาน หากสองชุดข้อมูลขาด รายงานที่ถูกต้องคือ “เข้าเกณฑ์ 4 จากประเมิน 26 ครอบคลุม 26/28 = 92.8571%” ไม่ใช่ “4 จาก 28” เพราะผลของสองคู่ที่ขาดยังไม่ทราบ
8. แจ้งเตือน – ไม่พลาดโดยไม่ต้องเฝ้า
แจ้งเตือนแยกการรอเงื่อนไขออกจากการตรวจกราฟ ผลต่อเวลาทำงานคำนวณได้ แต่ไม่ได้รับประกันลดการเทรดหุนหัน เพราะเมื่อได้รับแจ้งยังต้องทำตามแผน
คำสั่งตลาดเทียบกับลิมิต – กฎสั้น ๆ
คำสั่งตลาดไม่รับประกันราคาหรือ execution ในทุกสภาวะ ลิมิตจำกัดราคาตามกฎผลิตภัณฑ์ แต่อาจไม่ถูกจับคู่ หากไม่มีข้อมูล เราไม่สมมติว่าลิมิต “มักชนะ” บน D1 การเลือกคำสั่งและฝั่ง bid/ask ที่กระตุ้นอธิบายใน บทความ 2.7.
ประเภทแจ้งเตือน
- ราคา “แจ้งเมื่อ EUR/USD ถึง 1.0700” ตั้งที่ S/R ระดับย่อฟีโบนัชชี และบริเวณสนใจ ไม่ต้องเขียนโค้ด
- ตัวชี้วัด “RSI(14) < 30 บน D1” หรือ “MACD histogram เปลี่ยนเครื่องหมาย” ใน TradingView: คลิกตัวชี้วัด → Create Alert ใน MT4/MT5: ผ่านตัวชี้วัดที่เขียนเพิ่มพร้อมแจ้ง (ระวัง แจ้ง MT4 ต้องเปิดแพลตฟอร์มหรือ VPS เพราะทำงานในเครื่อง)
- วัตถุวาด TradingView ตั้งแจ้งบนเส้นแนวโน้มและบริเวณที่วาดได้ ราคาแตะเส้นรายสัปดาห์ก็แจ้งเข้าโทรศัพท์ ผสานการวิเคราะห์ที่วาดเองกับการแจ้งอัตโนมัติ
- เงื่อนไขผสม แจ้งหลายเงื่อนไข: “ราคาต่ำกว่า EMA 200 และ RSI < 35 และ ADX > 25” ต้องใช้ Pine Script หรือ MQL แต่ตั้งครั้งเดียว
ผสานแจ้งเตือนอย่างไรในทางปฏิบัติ
ตามบริเวณ + ตามตัวชี้วัด สุดสัปดาห์วาดบริเวณบน W1/D1 และตั้งแจ้งราคา พร้อมตั้งแจ้งตัวชี้วัด (RSI < 30) ในคู่ติดตาม เมื่อทั้งสองเกิดเวลาใกล้กัน เงื่อนไขจะเลือกมากขึ้น แต่ไม่จำเป็นต้องเป็นการยืนยันอิสระ เพราะทั้งคู่คำนวณจากราคาเดียว วิธีตามบริเวณเหมาะกับ การวิเคราะห์แนวรับแนวต้าน ส่วนตามตัวชี้วัดใช้กับกลยุทธ์ออสซิลเลเตอร์
ลดการซ้ำที่ไม่จำเป็นและเงื่อนไขหมดอายุ จำนวนแจ้งที่เปิดขึ้นกับกระบวนการตรวจ คุณสแกนทั้งขอบเขตแล้วส่งเฉพาะเหตุการณ์ใหม่ที่ตัดซ้ำได้ ไม่จำเป็นต้องตัดสินทรัพย์เพื่อลดข้อความ
ตัดซ้ำ: หนึ่งเงื่อนไข หนึ่งแจ้ง เงื่อนไข “RSI < 30” จริงหกแท่งต่อกันคือแจ้งหกครั้ง เว้นแต่กำหนดต่าง ต้องแยกเหตุการณ์ข้าม (RSI ข้าม 30 ลง) ออกจากสถานะ (RSI อยู่ ต่ำกว่า 30) สำหรับแจ้ง มักต้องการการข้าม ประเมินหนึ่งครั้งต่อแท่งปิด (“Once Per Bar Close”) และเตรียมใหม่เมื่อค่า RSI กลับเหนือเกณฑ์เท่านั้น หากไม่กำหนด เครื่องจะส่งรบกวนจนเหนื่อยและเพิกเฉยทุกข้อความ
เวลาเซิร์ฟเวอร์และผลสแกน D1 ตัวคัดกรอง D1 ที่โบรกเกอร์เซิร์ฟเวอร์ GMT+2/+3 และ GMT+0 คำนวณตัวชี้วัดบนแท่งที่แบ่งต่างกัน กฎเดียวกันจะให้รายการคู่ต่างกันในเช้าเดียว สแกนบนฟีดเดียวกับที่เทรด กลไกขอบเขตแท่งและเวลาเซิร์ฟเวอร์ → บทความ 5.11 และ บทความ 4.1.
ในแบบจำลองสมมติ กำหนดบริเวณ W1 [1.0680; 1.0720] ก่อนทดสอบ และกำหนด RSI(14) ข้ามลงใต้ 30 บน D1 ครบถ้วนแยกกัน เงื่อนไขรวมต้องมีหน้าต่างเวลาระบุ เช่น ทั้งสองเหตุการณ์วันเดียว ไม่ใช่เลือก “เวลาใกล้กัน” ย้อนหลังตามใจ เมื่อผ่านแล้วจึงตรวจ H4 ครบถ้วนตามกฎ รูปแบบ นี่เป็นตัวกรองที่เลือกมากขึ้น แต่ทั้งสองสัญญาณมาจากราคา จึงไม่อิสระโดยอัตโนมัติ
9. Backtest – ทดสอบอะไรและตีความผลอย่างไร
Backtest คือการตรวจว่ากลยุทธ์จะทำอย่างไรบนข้อมูลย้อนหลัง[1] ไม่ได้บอกว่าจะได้เงินเท่าใด บอกเพียงว่ากฎทำงานตามสมมติฐานบนประวัติหรือไม่ นั่นมีคุณค่า แต่ไม่เหมือนความได้เปรียบจริง ทางเลือกที่ทดสอบบัญชีเงินจริงทันทีเพียงแต่แพงกว่า
สิ่งที่ควรทดสอบ
การทดสอบประวัติต้องมีกฎทำซ้ำได้และข้อมูลที่พร้อมในแต่ละเวลา แม้อสมการง่ายก็ยังไม่ครบหากขาดแหล่ง กรอบเวลา การตั้งต้น และราคาตอบสนอง
- กฎเข้าจากตัวชี้วัด “ซื้อเมื่อ RSI(14) ลงใต้ 30 บน D1 และ EMA 50 > EMA 200” ไม่กำกวมและเขียนโปรแกรมได้ ไม่มีพื้นที่ให้ตีความ
- กฎออกและ SL/TP SL คงที่ 50 pip, TP 100 pip หรือ trailing stop 2× ATR วัดและเปรียบเทียบได้
- เปรียบเทียบรูปแบบ RSI < 30 ทำงานดีกว่าบน D1 หรือ H4? SL 40 pip ให้ profit factor ดีกว่า 60 pip หรือไม่? Backtest จะตอบ ภายใต้ข้อควรระวังที่จะอธิบายต่อ
สิ่งที่ทดสอบย้อนหลังได้ไม่ดีคือสิ่งที่ต้องใช้ดุลยพินิจมนุษย์:
- พฤติกรรมราคา เรขาคณิตแท่งเทียน บริเวณ และเวลายืนยันนิยามเป็นตัวเลขได้ ส่วน “ดูน่าเชื่อ” ตามดุลยพินิจต้องมีวิธีประเมินแยกที่บันทึก เราไม่สมมติว่าสายตามีความได้เปรียบเหนือกฎที่พิสูจน์แล้ว
- บริบทโครงสร้าง การกำหนด คลื่น 2 ด้วยตนเองต้องมีกฎ เวอร์ชันป้าย และเวลาสร้าง เปลี่ยนป้ายภายหลังไม่อาจปรับผลทดสอบก่อนหน้าให้ดีขึ้น
- การตัดสินใจตามดุลยพินิจ บันทึกการปฏิเสธสิ่งเข้าเกณฑ์ล่วงหน้าได้ หากไม่มี เราไม่รู้ว่าดุลยพินิจช่วยผลหรือเลือกเฉพาะกรณีสำเร็จ ไม่มีฐานให้อ้างว่าบริบทที่อัลกอริทึมไม่เห็นอย่างเดียวอธิบายความสามารถทำกำไร
คุณภาพข้อมูล – เรื่องที่ไม่ค่อยมีใครพูด
ผล backtest เชื่อถือได้เท่าข้อมูลที่ใช้ ใน Forex นี่เป็นเรื่องจริงจัง ตลาดกระจายศูนย์ ข้อมูลโบรกเกอร์คุณอาจต่างอีกแห่ง (สเปรดต่าง OHLC ต่างเล็กน้อย) OHLC สูญเสียข้อมูลการเคลื่อนภายในแท่ง หาก SL และ TP แคบ ไม่ทราบว่าแตะอันใดก่อน
โหมด “Every tick based on real ticks” ของ MT5 ใช้ tick ที่มี แต่ไม่รับประกันว่ามีครบทุกจุด MetaQuotes อธิบายการสร้าง tick เมื่อข้อมูลขาด และปฏิเสธ tick ที่ขัดกับข้อมูลนาที ตรวจรายงานข้อมูล สเปรดย้อนหลังเป็นคนละเรื่องกับความล่าช้า execution สเปรด “ปัจจุบัน” คงที่ในอีกโหมดเป็นสถานการณ์หนึ่ง ไม่ใช่ค่าประมาณต่ำกว่าเสมอ เพราะปัจจุบันอาจสูงหรือต่ำกว่าประวัติที่ทดสอบ
Bid/ask mid และราคาผู้ให้บริการ อย่าอนุมานประเภทราคาเพียงเพราะ API ฟรี เมทาดาทาต้องระบุ bid, ask, mid, ธุรกรรม หรือชุดอื่น สำหรับแบบจำลองซื้อที่คำนวณเทียบ mid ต้นทุนสเปรดเป็น pip คือ (สเปรดเข้า + สเปรดออก)/2 เมื่อทั้งสองเท่ากับ 1 pip และเข้าออกครบ 200 รอบ ผลต่างคือ 200 pip ก่อนต้นทุนเพิ่ม หากใช้ ask เข้าจริงและ bid ออกจริง ผลต่างนั้นอยู่ในราคาแล้ว Dukascopy และ TrueFX เป็นตัวอย่างแหล่งให้ตรวจ ชื่อผู้ให้บริการไม่ลบความจำเป็นในการตรวจคอลัมน์ ความครอบคลุม และช่องว่าง
ราคาปิดแท่งกับระหว่างแท่งเป็นคนละกฎ เหตุการณ์แตะอาจเกิดแล้วหายก่อนแท่งจบ เหตุการณ์ที่ต้องใช้ปิดต้องรอครบและรับข้อมูล ที่นี่ไม่มีชุดข้อมูลรองรับข้ออ้างก่อนหน้าว่าผลดีกว่า 30% หรือ “ครึ่งสัญญาณหายไป” การทดสอบระหว่างแท่งต้องมีข้อมูลและแบบจำลองลำดับการเคลื่อน ห้ามสร้างลำดับตามใจจาก OHLC อย่างเดียว
ต้นทุนการถือมีเครื่องหมายและหน่วย สวอปอาจลบหรือบวกตามผลิตภัณฑ์และฝั่งสถานะ เราไม่อนุมานเครื่องหมายของ short USD/MXN หรือ long USD/TRY จากชื่อสกุลเงินอย่างเดียว การทดสอบต้องใช้ข้อกำหนดย้อนหลังและตัวคูณวัน ไม่ใช่ตารางปัจจุบันเท่านั้น เช่น ผลราคา +80 USD คอมมิชชัน −7 USD และต้นทุนการถือ −18 USD ให้ +55 USD; หากต้นทุนการถือเป็น +18 USD ผลคือ +91 USD สเปรดที่อยู่ในราคาจริงแล้วไม่เก็บซ้ำ หน่วยและการแปลงละเอียดอยู่ใน บทความ 2.8.
หนึ่งแท่ง สองผลที่เป็นไปได้
แบบจำลองซื้อเปิดอยู่แล้วที่ execution 1.1000 แท่งถัดไปมี bid OHLC: O = 1.1000, H = 1.1030, L = 1.0980, C = 1.1010 โดย TP = 1.1020, SL ปกติ = 1.0990 สมมติ execution ไม่มีช่องว่างและตรงระดับ ไม่มีต้นทุนเพิ่ม เส้นทาง O→H→L→C ถึง TP ก่อน: +20 pip ส่วน O→L→H→C ถึง SL ก่อน: −10 pip ทั้งสองมี OHLC เหมือนกัน
ที่มูลค่าสถานะ 10,000 EUR ผลคือ +20 หรือ −10 USD ไม่ใช่สองผลที่เป็นไปได้ของการเทรดจริงครั้งเดียว แต่แสดงสองเส้นทางที่เข้ากับข้อมูลไม่ครบ ราคาเข้าและออกจริงรวมฝั่งตลาดแล้ว จึงไม่บวกสเปรดซ้ำ ตัวทดสอบที่สมมติลำดับจาก OHLC เลือกข้อตกลงอย่างหนึ่ง ต้องเปิดเผยในรายงาน กรอบต่ำหรือ tick อาจตัดสินได้มากกรณีขึ้น แต่ข้อมูลขาดก็ยังขาด
Mid และ execution — สองการคำนวณสำหรับรอบเข้าออกเดียวกัน
แบบจำลอง EUR/USD: mid เข้า 1.1000 สเปรดเข้า 2 pip จึงมี ask 1.1001; ซื้อจริง 1.1002 ส่วน mid ออก 1.1020 สเปรดออก 4 pip จึงมี bid 1.1018; ขายจริง 1.1017 มูลค่าสถานะ 10,000 EUR กำไรตาม mid คือ 20 USD ต้นทุนครึ่งสเปรดคือ 1 + 2 = 3 USD สลิปเพจเทียบ ask/bid คือ 1 + 1 = 2 USD ผลตาม execution คือ (1.1017 − 1.1002) × 10,000 = 15 USD ตรงกับ 20 − 3 − 2
คอมมิชชันครบรอบ 2 USD และต้นทุนการถือพร้อมเครื่องหมาย −1 USD ให้สุทธิ 12 USD สมมติใช้อัตราแปลงร่วม 4.00 PLN/USD ผลคือ 48 PLN แต่ทะเบียนจริงควรใช้อัตราและเวลาลงบัญชีแต่ละจำนวน เราไม่คำนวณ 15 − 3 − 2 ซ้ำ CSV แยกจุดอ้างอิงออกจากราคาจริง.
ตีความผลอย่างไร
มาตรวัด backtest สำคัญ:
| มาตรวัด | บอกอะไร | ต้องระวังอะไร |
|---|---|---|
| Profit Factor (PF) | ผลรวมผลสุทธิบวก / ค่าสัมบูรณ์ของผลรวมผลลบ | ศูนย์ไม่เข้าผลรวมทั้งสอง หากไม่มีขาดทุน อัตราส่วนไม่นิยาม ไม่ใช่หลักฐานความได้เปรียบอนันต์ PF 1.5 ไม่ใช่เกณฑ์สากล |
| Drawdown สูงสุด | ทุนลดลงจากยอดก่อนหน้ามากที่สุด | เป็นเงินหรือเปอร์เซ็นต์ของยอด ขึ้นกับความถี่เก็บตัวอย่าง ผลจากการเทรดที่ปิดอย่างเดียวอาจพลาดความเสี่ยงสถานะที่ยังเปิด |
| อัตราชนะ | สัดส่วนผลบวกในตัวอย่างที่กำหนด | 30% ของผลที่ +3R และ 70% ที่ −1R ให้ก่อนต้นทุน +0.2R ต่อครั้ง ต้นทุน 0.25R ครบรอบเปลี่ยนค่าคาดหวังเป็น −0.05R อัตรา R:R และอัตราชนะอย่างเดียวไม่พิสูจน์ความสามารถทำกำไรอนาคต |
| จำนวนการเทรด | จำนวนตัวอย่างและความหลากหลายที่แท้จริง | 100 ครั้งใน USD เคลื่อนเดียวกัน ≠ 100 ข้อสังเกตอิสระ ตรวจกลุ่ม สภาวะ และความไม่แน่นอน ไม่มีจำนวนขั้นต่ำวิเศษ |
| Sharpe Ratio | ค่าเฉลี่ยผลตอบแทนส่วนเกินจากเกณฑ์อ้างอิง / ส่วนเบี่ยงเบนมาตรฐานผลตอบแทน | ความถี่ เกณฑ์อ้างอิง การแปลงเป็นรายปี และความขึ้นต่อกันตามเวลาสำคัญ > 1 หรือ > 2 ไม่ใช่การทดสอบคุณภาพหรือหลักฐาน overfitting |
ตัวอย่าง: backtest ที่ทำไม่ดีและวิธีแก้
แบบจำลองหาค่าที่ดีที่สุด: เกณฑ์ RSI ตั้งแต่ 10 ถึง 30 เพิ่มทีละ 1, SL ตั้งแต่ 30 ถึง 80 pip เพิ่มทีละ 1 และ TP ตั้งแต่ 80 ถึง 200 pip เพิ่มทีละ 1 ตารางค่ามี 21 × 51 × 121 = 129,591 ชุดผสม ไม่ใช่ไม่กี่สิบ นับการลองที่เลิกและการเปลี่ยนกฎเองด้วย ตัวอย่าง PF ดีที่สุด 2.8 บนข้อมูล 2020–2025 เป็นผลการเลือกจากชุดนั้น ไม่ใช่หลักฐานว่าชุด RSI 22 / SL 43 / TP 167 มีความได้เปรียบ
ยอดผลการทำงานแหลมรอบชุดเดียวเป็นสัญญาณให้ตรวจความไว ไม่พิสูจน์ overfitting ด้วยตัวเอง เพราะต้นทุน ตัวอย่างน้อย และสภาวะเปลี่ยนอาจมีผล รายงานทั้งตารางและกฎเลือก ไม่ใช่แค่จุดดีที่สุด
หลังเลือกพารามิเตอร์บนทั้งช่วง 2020–2025 ห้ามเปลี่ยนชื่อ 2024–2025 เป็นชุดทดสอบกันไว้ ต้องใช้ข้อสังเกตอนาคตใหม่หรือแผนอื่นที่กำหนดล่วงหน้า ชุดฝึก ตรวจเลือก และทดสอบมีหน้าที่แยก หลังใช้ชุดทดสอบ ห้ามกลับไปปรับบนชุดนั้นอีก
ความต่างระหว่างทดสอบกับทำงานจริงอาจมาจากแบบจำลองต้นทุน ข้อมูล execution หรือเงื่อนไขเปลี่ยน ไม่ใช่ทุกการทดลองจริงที่แย่ลงพิสูจน์ overfitting และไม่ใช่ทุก backtest มองดีเกินตามนิยาม การเทียบต้องใช้กฎเดียวและบันทึกสัญญาณ คำสั่ง และ execution จริง
Forward test ตรวจการทำงานบนข้อสังเกตใหม่ ระยะเวลาไม่ได้พิสูจน์ความเป็นตัวแทน หลายเดือนอาจมีเหตุการณ์น้อยและสภาวะเดียว บัญชีทดลองตรวจตรรกะและความพร้อมได้ แต่ execution ไม่จำเป็นต้องตรงบัญชีจริง แยกผลที่แย่ลงเป็นความต่างข้อมูล execution ต้นทุน และการแจกแจงเหตุการณ์
สลับลำดับผลที่ปิด เช่น 1,000 ลำดับของการเทรด 150 ครั้ง แสดงเส้นทางทุนแบบมีเงื่อนไขสำหรับตัวอย่างเดิมและกฎขนาดสถานะคงเดิม ไม่สร้างช็อกใหม่หรือการแจกแจงเปลี่ยน และอาจลบความขึ้นต่อกันตามเวลา หากใช้ความเสี่ยงเปอร์เซ็นต์หรือสถานะพร้อมกัน ต้องรักษาโครงสร้างเหล่านั้น เปอร์เซ็นไทล์ที่ 95 ของการจำลองไม่ใช่ขีดจำกัด drawdown อนาคตที่รับประกัน เครื่องมือแบบฝึกนี้คือ ตัวจำลอง Monte Carlo.
10. Python สำหรับคัดกรองและทดสอบย้อนหลัง
Python รองรับทะเบียนข้อมูลและการทดสอบของคุณได้ ต้นทุนและความยากขึ้นกับคุณภาพแหล่ง ขอบเขต และการดูแล สแกนเนอร์ที่เขียนเองต้องจัดข้อผิดพลาด เวอร์ชันส่วนพึ่งพา และการติดตาม บทความนี้ให้ข้อตกลงตรรกะ ไม่ใช่โค้ดพร้อมใช้งานจริงหรือคำมั่นระบบราคาถูกพร้อมเดิน
สิ่งที่ Python ให้ต่างจาก TradingView และ MT4/MT5:
- แหล่งข้อมูลใดก็ได้ ดึงข้อมูลจาก API โบรกเกอร์ (OANDA, Interactive Brokers) แหล่งฟรี (yfinance สำหรับดัชนี ccxt สำหรับคริปโต) หรือผู้ขายข้อมูล ไม่จำกัดตามแพลตฟอร์ม
- การวิเคราะห์สถิติขั้นสูง ทดสอบนัยสำคัญ ปรับ Bonferroni สำหรับหลายการเปรียบเทียบ แสดงการแจกแจงผลตอบแทน สิ่งที่ Pine Script ทำไม่ได้หรือยุ่งยากมาก ใน Python พร้อม scipy และ statsmodels ใช้โค้ดไม่กี่บรรทัด
- ความยืดหยุ่นของ backtest ไลบรารี backtrader และ vectorbt ทดสอบกลยุทธ์พอร์ต (หลายคู่พร้อมกัน) การจัดสรรทุนไดนามิก และกลยุทธ์ที่มีสหสัมพันธ์ระหว่างสินทรัพย์ได้ Pine Script และ MQL มีข้อจำกัดในส่วนนี้
- กระบวนการจากคัดกรองถึง execution ทั้งขั้นตอน ดึงข้อมูล คัดกรอง สร้างสัญญาณ ส่งแจ้ง (อีเมล Telegram) และแม้ส่งคำสั่งผ่าน API โบรกเกอร์ ทำในสคริปต์เดียวได้
- วิเคราะห์ความรู้สึก เทรดเดอร์บางคนทดลองวิเคราะห์ความรู้สึกจากข่าวและรายงานเศรษฐกิจอัตโนมัติ แล้วป้อนเข้าสู่ขั้นคัดกรอง มีเครื่องมือสำหรับสิ่งนี้ ตั้งแต่สคริปต์ง่ายถึง API โมเดลภาษา แต่ในการใช้งานรายย่อยยังเป็นการทดลองมากกว่าโซลูชันสำเร็จ
กระบวนการในรหัสเทียม — ข้อมูล สแกน และคลังบันทึก ไม่มีโทเคน API หรือฟังก์ชัน execution ตรรกะเดียวกันนำไปใช้ในสภาพแวดล้อมใดก็ได้
รหัสเทียมกระบวนการ — ไม่มีฟังก์ชันส่งคำสั่ง
โหลดการตั้งค่าที่ตรึงและรายการสัญลักษณ์ครบที่มีเวอร์ชัน
กำหนดเวลาปิดแท่งที่คาดจากปฏิทินแหล่งข้อมูล ไม่ใช่นาฬิกาคอมพิวเตอร์
แต่ละสัญลักษณ์ ดึงข้อมูลพร้อม component, start, end, complete,
received_at, revision และรหัสแหล่งข้อมูล
เก็บภาพข้อมูลที่แก้ไม่ได้และ checksum
ตรวจ OHLC หน่วยราคา ความต่อเนื่องช่วงซื้อขาย และช่วงตั้งต้นตัวชี้วัด
เมื่อผิด บันทึก NO_DATA พร้อมสาเหตุ ไม่สร้าง NO_SIGNAL
บนภาพข้อมูลถูกต้อง คำนวณกฎเกณฑ์ครบถ้วน
บันทึกผลทุกสัญลักษณ์ รวมที่ไม่ผ่านเงื่อนไข
ตัดแจ้งซ้ำตามเวอร์ชัน ฟีด สัญลักษณ์ กรอบเวลา และ end_UTC
เมื่อแก้ข้อมูล เพิ่มระเบียนใหม่ที่เชื่อมกับภาพก่อนหน้า
สรุปจำนวนคาด ประเมิน ขาด เข้าเกณฑ์ และเวลาสแกน
เก็บการตัดสินใจด้วยมือพร้อมเวลาแยก ไม่เขียนทับผลตัวกรอง
รายงานกระบวนการล้มเหลวและสัญลักษณ์ขาด แม้ไม่มีสิ่งเข้าเกณฑ์
ก่อนเลือกแหล่ง ตรวจสิทธิ์ใช้งาน ความครอบคลุมสินทรัพย์ ฝั่งราคา ตราประทับเวลา ความครบถ้วน การแก้ไข และ bid/ask ที่มี เราไม่จัด Yahoo ทั้งหมดหรือ API ฟรีด้วยป้ายเดียว ไลบรารีอ่านข้อมูลไม่เพิ่มคุณภาพอัตโนมัติหรือให้ราคา execution
ลองขอข้อมูลซ้ำเป็นคนละงานกับลองส่งคำสั่งซ้ำ สแกนสร้างคีย์เดิมแล้วคืนผลเดิมได้ปลอดภัย ชั้น execution ต้องมีรหัสคำสั่งแยกและตรวจสถานะก่อนลองใหม่ ซึ่งนอกขอบเขตตัวคัดกรองนี้
11. กับดักระบบอัตโนมัติ
ระบบอัตโนมัติประหยัดเวลาและลดความผิดพลาดอารมณ์ แต่เพิ่มปัญหาของตน แผนที่รวมกับดัก backtest เป็นดังนี้ หัวข้อถัดไปขยายข้อสำคัญ:
| กับดัก | กลไก | วิธีจำกัด |
|---|---|---|
| แบบจำลอง mid | สำหรับ execution สองครั้ง ผลต่างคือครึ่งสเปรดเข้าบวกครึ่งสเปรดออก | ตรวจประเภทราคา ไม่บวกสเปรดซ้ำกับ ask/bid execution จริง |
| สเปรดคงที่ | สถานการณ์สมมติที่อาจต่ำหรือสูงเกิน | ประวัติ bid/ask และรายงานข้อมูลขาด โหมด “real ticks” อย่างเดียวไม่รับประกันครบ |
| ละสลิปเพจและคอมมิชชัน | ผลสุทธิต่ำกว่าก่อนต้นทุน โดยเฉพาะกรอบต่ำ | จำลองสลิปเพจอย่างระมัดระวัง นับคอมมิชชันใน R |
| ใช้ข้อมูลอนาคต | สัญญาณใช้ข้อมูลที่ยังไม่พร้อม ณ เวลาตัดสินใจ (ราคาปิดแท่งที่กำลังสร้าง สวิงในอนาคต) | เฉพาะแท่งปิด ตอบสนองจากทิก/ราคาเปิดถัดไป |
| Overfitting | พารามิเตอร์ฟิตกับสัญญาณรบกวนของประวัติชุดเดียว | พารามิเตอร์น้อย ทดสอบนอกตัวอย่าง และ walk-forward |
| ลองหลายครั้ง | การเลือกแบบดีที่สุดเพิ่มความเสี่ยงค้นพบลวง | ลงทะเบียนทุกการลอง ใช้วิธีปรับเหมาะสมและชุดทดสอบที่ยังไม่ใช้ |
| อคติจากผู้รอด | เห็นเฉพาะระบบที่รอด | ประเมินกระบวนการ ไม่ใช่ผลที่คัดไว้ |
| วาดประวัติใหม่ | ตัวชี้วัดวาดประวัติที่ปิดแล้วใหม่ | Forward test ตัวชี้วัด หลีกเครื่องมือคล้าย ZigZag ในกฎ |
| ละสวอป | ต้นทุนถือสถานะกินผลสวิง | รวม swap point ทดสอบบนข้อมูลพร้อมต้นทุน |
Overfitting (ฟิตกับอดีต)
Overfitting คือฟิตทางเลือกเข้าคุณสมบัติตัวอย่างเฉพาะที่ไม่คงอยู่นอกชุดนั้น ไม่ใช่อีกชื่อของขาดทุนทุกครั้งในวันแรก ความไวพารามิเตอร์ จำนวนการลอง และข้อสังเกตใหม่ช่วยประเมินปัญหา
สัญญาณเตือน overfitting:[5]
- กลยุทธ์มีพารามิเตอร์อิสระมากเทียบกับจำนวนครั้งและประวัติที่มี
- เปลี่ยนเล็กน้อย (RSI 14 → RSI 15) แล้วผลต่างรุนแรง เรียกความเปราะบาง
- Backtest ช่วงหนึ่งดีมาก อีกช่วงขาดทุน
- PF หรือ Sharpe สูงต้องประเมินความไม่แน่นอน จำนวนรูปแบบที่ลอง และความขึ้นต่อกันของผล ตัวอย่างต่ำกว่า 100 หรือเกิน 500 ครั้งอย่างเดียวไม่กำหนดว่ามีความได้เปรียบ ตรวจระยะสังเกต ขาดทุนใหญ่หายาก และผลบนข้อมูลที่ไม่ใช้เลือกกฎด้วย
ทดสอบนอกตัวอย่างมีความหมายเฉพาะเมื่อชุดนั้นไม่ได้ร่วมเลือกกฎ ใน walk-forward การฟิตหน้าต่างก่อนตามด้วยประเมินหน้าต่างหลัง ต้องบันทึกเกณฑ์ การอัปเดต และการรวมผลล่วงหน้าทั้งหมด การบังคับทุกหน้าต่างต้องบวกไม่ใช่กฎสถิติสากล
การขุดข้อมูลหาผลที่ต้องการ
เมื่อทดสอบสมมติฐานศูนย์ที่จริงอย่างอิสระ 50 ครั้งที่ระดับ 5% โอกาสปฏิเสธผิดอย่างน้อยหนึ่งครั้งคือ 1 − 0.95^50 = 92.3055% และจำนวนคาดหวังคือ 2.5 เป็นความเสี่ยงสูง ไม่ใช่ความแน่นอน รูปแบบบนข้อมูลเดียวกันมักขึ้นต่อกัน จึงห้ามถือการคำนวณอิสระเป็นความน่าจะเป็นที่วัดของรูปแบบเหล่านั้น
บันทึกกลุ่มการลองก่อนเลือกผู้ชนะ หากทดสอบ 50 ครั้งและระดับทั้งกลุ่ม 5% Bonferroni ให้เกณฑ์ 0.05/50 = 0.001 ต่อ p-value ที่ใช้ได้ ควบคุมความเสี่ยงปฏิเสธผิดอย่างน้อยหนึ่งครั้งโดยไม่ต้องให้การทดสอบอิสระ FDR ตอบอีกคำถาม ตัวอย่างถัดไปแสดงความต่าง ไม่มีการปรับ p-value ใดพิสูจน์ความสามารถทำกำไรของกลยุทธ์
Bonferroni, FDR และขอบเขตการอนุมาน
แบบจำลองการทดสอบที่ใช้ได้ห้ารายการในกลุ่มที่นิยามล่วงหน้า: p-value เรียงคือ 0.0004; 0.008; 0.019; 0.021; 0.070 Bonferroni ที่ α = 0.05 ให้ 0.01 และปฏิเสธสองรายการแรก Benjamini–Hochberg ที่ q = 0.05 เทียบกับ i × q / 5: 0.01; 0.02; 0.03; 0.04; 0.05 ดัชนีสูงสุดที่ผ่านคือ 4 จึงปฏิเสธสี่รายการแรก
FWER ควบคุมโอกาสปฏิเสธผิดอย่างน้อยหนึ่งครั้ง ส่วน FDR ควบคุมค่าคาดหวังของสัดส่วนการปฏิเสธผิดในบรรดาที่ปฏิเสธทั้งหมด โดยสัดส่วนเป็นศูนย์เมื่อไม่มีการปฏิเสธ BH คลาสสิกต้องมีสมมติฐานความขึ้นต่อกันเหมาะสม เช่น อิสระหรือขึ้นต่อกันทางบวกแบบระบุ เราไม่ใช้กับรูปแบบ FX ที่สัมพันธ์ตามใจโดยไม่ตรวจ q = 5% ไม่ได้หมายถึงแต่ละกลยุทธ์ที่เลือกมีโอกาสสำเร็จ 95% บทความผู้เขียน (1995) และ เอกสารวิธี อธิบายขอบเขตกระบวนการ การทดสอบที่ใช้ได้ต้องกำหนดคำถาม ข้อมูล การแจกแจงอ้างอิง และสถิติล่วงหน้า p-value ที่นี่เป็นข้อมูลเข้าสมมติ
แบ่งตัวอย่างต้องรวมเวลาของป้ายผลลัพธ์
ในแผนสมมติที่ตรึงก่อนวิเคราะห์ ชุดฝึกคือ 2018–2022 ตรวจเลือก 2023 และทดสอบที่ยังไม่เห็น 2024–2025 หากป้ายผลลัพธ์มีระยะถึงห้าช่วงซื้อขาย ข้อสังเกตฝึกปลายธันวาคม 2022 ที่ทราบผลในมกราคม 2023 ไม่อยู่ในชุดฝึกที่จบ 31 ธันวาคม ต้องลบป้ายที่ข้ามขอบเขตหรือย้ายเส้นแบ่งตามเวลาจบจริง แยกเพียงวันที่เข้าไม่พอ
ราคาย้อนหลังก่อนขอบเขตใช้ตั้งต้นตัวชี้วัดตอนเริ่มทดสอบได้หากทราบในตอนนั้น แต่ตัวปรับสเกล เกณฑ์ หรือการเลือกสินทรัพย์ห้ามฟิตจากส่วนข้อมูลอนาคต ชุดตรวจเลือกใช้เลือก ชุดทดสอบใช้ประเมินครั้งเดียว เมื่อเปลี่ยนกฎตามชุดทดสอบ ชุดนั้นใช้ไปแล้ว Walk-forward ต้องใช้หลักเดียวทุกหน้าต่างพร้อมวิธีอัปเดตที่บันทึกก่อน การปรับเทียบความน่าจะเป็นต้องมีส่วนข้อมูลแยก แปดเหตุการณ์จากสิบคำพยากรณ์ 0.8 ในกลุ่มเล็กไม่พิสูจน์การปรับเทียบทั่วไปหรือกำไร
Precision, recall และต้นทุนจากการพลาด
แบบจำลอง 100 กรณีที่กำกับอิสระ รูปแบบอ้างอิงบวก 20 ลบ 80 ตัวคัดกรองแจ้ง 15: ตรงอ้างอิง 12 และลวง 3; พลาดบวก 8 ดังนั้น precision = 12/15 = 80%, recall = 12/20 = 60%, specificity = 77/80 = 96.25% ผลการเงินไม่ได้ตามจากสามมาตรวัดนี้ ป้ายอ้างอิงต้องอิสระจากตัวกรอง เราไม่ติดป้ายบวกให้ทุกกำไรภายหลังที่เลือกเอง
หากอ้างอิงใช้ผลในอนาคต ป้ายพร้อมเมื่อระยะผลสิ้นสุดเท่านั้น ไม่อาจมีอิทธิพลต่อสัญญาณก่อนหน้า หรือเข้าไปฝึกก่อนเวลา ดาวน์โหลด แบบจำลองที่คำนวณใหม่ ตัวเลขทั้งหมดในบล็อกนี้เป็นสมมติ
อคติจากผู้รอดใน EA สำเร็จรูป
ดูเฉพาะระบบที่ยังขายและเผยแพร่ทำให้ละการลองที่ถอนตัว การเทียบต้องทราบประชากรและมีทะเบียนเวอร์ชันไม่สำเร็จด้วย เราไม่ทราบจำนวน EA “หลายพัน” ที่ถอน หรือผลตัวอย่างอินฟลูเอนเซอร์ จึงไม่ใช้ตัวเลขเป็นหลักฐาน
ภาพลวงของการควบคุม
ระบบอัตโนมัติต้องติดตามสถานะกระบวนการ ความสดข้อมูล และข้อผิดพลาดที่ไม่จัดการ การทำงานกลางคืนอย่างเดียวไม่กำหนดสลิปเพจหรือจำนวนขาดทุน แจ้งเตือนควรรายงานข้อมูลขาดหรือสแกนหยุดด้วย ไม่ใช่เฉพาะชุดเงื่อนไขผ่าน
กล่องดำ
ขาดเอกสารทำให้ยากจะรู้ว่าผลเปลี่ยนจากข้อมูล กฎ หรือ execution ระบบอาจหยุดทำตามคาด ต้องมีเงื่อนไขหยุดและขั้นตอนประเมิน “ใช้ได้มาตลอด” ไม่พอ
ตัวชี้วัดที่วาดประวัติใหม่
แยกค่าที่เปลี่ยนบนแท่งเปิด การยืนยันสวิงล่าช้า การแก้ข้อมูล และการเขียนสัญญาณก่อนหน้าใหม่ เก็บภาพค่าพร้อมเวลาประเมินแล้วเทียบประวัติภายหลัง ชื่อ ZigZag ไม่ตัดสินทุกการใช้ ปัญหาคือใช้จุดก่อนยืนยันหรือซ่อนการเปลี่ยน
บริษัท prop และระบบอัตโนมัติ
กฎบริษัท prop เป็นเงื่อนไขสัญญา ต่างตามโปรแกรมและขั้น เราไม่อ้างว่าหลายแห่งห้ามอัตโนมัติทั้งหมด ตัวอย่างเช่น FTMO อธิบายการอนุญาตอัลกอริทึมและ EA ภายใต้ข้อจำกัดโปรแกรม ตรวจข้อกำหนดปัจจุบัน ลักษณะบัญชี (รวมบัญชีจำลอง) ขีดจำกัด และวิธีต้องห้าม การยอมรับตัวคัดกรองไม่เท่ากับยอมรับทุกวิธี execution อัตโนมัติ
12. สิ่งที่ยังไม่ควรทำอัตโนมัติในช่วงแรก
ก่อนทำ execution อัตโนมัติ ต้องอธิบายงานนอกสัญญาณด้วย รายการต่อไประบุงานที่ต้องมีกฎและทดสอบแยก เราไม่สมมติว่าทำด้วยมือมีประสิทธิผลกว่าทุกครั้ง
- จัดการสถานะ ขนาดสถานะ เลื่อน SL ปิดบางส่วน ต้องมีบริบทและดุลยพินิจ EA ทำตรงสิ่งที่สั่ง แต่ “ตรงสิ่งที่สั่ง” กับ “สิ่งที่ควรทำตอนนี้” มักต่างกัน เรียนจัดการด้วยมือก่อนทำอัตโนมัติ
- ปฏิทินมหภาค ตัวคัดกรองคำนึงถึง NFP ได้หากรับกำหนดการถูกและกฎบล็อก ไม่ทำนายสเปรดหรือเนื้อหาประกาศที่ยังไม่เผยแพร่ การไม่มีปฏิทินเป็นข้อจำกัดที่ระบุ ไม่ใช่คุณสมบัติของระบบอัตโนมัติทุกระบบ
- เลือกขอบเขตสินทรัพย์ กำหนดและใส่เวอร์ชันรายการก่อนทดสอบ การตัดคู่ผลแย่หลังดูผลคือการเลือกอีกครั้ง วัดลักษณะคู่บนข้อมูลที่ระบุ แทนกำหนดคุณสมบัติคงที่ให้คู่เงิน
- สุดสัปดาห์และช่วงหยุด ตัวกรองสเปรดอาจพักคำสั่งใหม่ แต่ไม่จำกัดขาดทุนช่องว่างของสถานะเดิม ลดมูลค่าสถานะช่วยลดความไวราคา stop ปกติไม่รับประกันราคา ป้องกันด้วยออปชันต้องมีข้อตกลงและบัญชีแยก ไม่ใช่เพียงป้าย “hedge” ความเสี่ยงช่วงหยุดอธิบายใน บทความ 4.4.
- สถานะบัญชี ตรวจผลิตภัณฑ์ โหมด hedging/netting มาร์จินคำสั่งใหม่ และกฎปิดเมื่อหลักประกันไม่พอ ลำดับบังคับปิดขึ้นกับผู้ให้บริการ เราไม่สมมติสากลว่าปิดขาดทุนใหญ่สุดก่อน มาร์จินและการคุ้มครองลูกค้าอยู่แยกใน บทความ 2.6 ความสามารถรับคำสั่งขณะหนึ่งไม่รับประกันรักษาสถานะในภายหลัง
ทำงานที่นิยามชัดและทำซ้ำให้เป็นอัตโนมัติ พร้อมเก็บร่องรอย สแกน แจ้ง ตัดสินใจ และ execution เป็นขั้นต่อเนื่องที่มีข้อผิดพลาดและขีดจำกัดแยก การทำกฎซ้ำเร็วไม่เพิ่มคุณภาพ เพียงทำให้ใช้และทดสอบสม่ำเสมอ
13. เปรียบเทียบเครื่องมือ
| เครื่องมือ | ภาษาสคริปต์ | คัดกรอง | แจ้งเตือน | ทดสอบย้อนหลัง | execution อัตโนมัติ | ต้นทุน (โดยประมาณ) |
|---|---|---|---|---|---|---|
| TradingView — แพ็กเกจพื้นฐาน | Pine Script | ตัวกรองแพลตฟอร์ม | ตามแพ็กเกจปัจจุบัน | อีมูเลเตอร์กลยุทธ์ | สคริปต์กลยุทธ์เองไม่ส่งคำสั่งโบรกเกอร์ผ่านระบบในตัว | ตรวจแพ็กเกจและข้อมูล |
| TradingView — แพ็กเกจเสียเงิน | Pine Script | ขอบเขตขึ้นกับเครื่องมือ | ตามแพ็กเกจปัจจุบัน | อีมูเลเตอร์กลยุทธ์ | Webhook ต้องมีชั้น execution แยก การเชื่อมโบรกเกอร์ไม่เปลี่ยนสคริปต์เป็น EA อัตโนมัติ | ราคาปัจจุบัน |
| MT4 | MQL4 | ตัวชี้วัดที่เขียนเพิ่ม | มี (หน้าต่างแจ้ง push อีเมล) | Strategy Tester (1 สัญลักษณ์) | Expert Advisor | USD 0 (จากโบรกเกอร์) |
| MT5 | MQL5 | ตัวชี้วัดที่เขียนเพิ่ม | มี (หน้าต่างแจ้ง push อีเมล) | Strategy Tester (หลายสกุลเงิน) | Expert Advisor | USD 0 (จากโบรกเกอร์) |
| cTrader | C# / เครื่องมือแพลตฟอร์ม | ตามการตั้งค่า | ตามการตั้งค่า | ทดสอบ cBot | cBot — ตรรกะ execution แยก | เงื่อนไขแพลตฟอร์มและผู้ให้บริการ |
| สภาพแวดล้อมที่เขียนเอง | เช่น Python | กฎที่ผู้เขียนกำหนด | โครงสร้างพื้นฐานที่จัดเอง | แบบจำลอง / ไลบรารีของผู้เขียน | ชั้น API แยก | ข้อมูล การดูแล และโครงสร้างพื้นฐาน |
ตารางบอกขอบเขตหน้าที่ ไม่ใช่อันดับคุณภาพ สิทธิ์ใช้เครื่องมือ การเข้าถึงข้อมูล VPS และต้นทุนธุรกรรมเป็นคนละรายการ ตรวจขีดจำกัดแพ็กเกจและราคาจากเอกสารปัจจุบัน
- กรอบเวลาหลัก: D1 — ใช้คัดกรองและวิเคราะห์ รับบริบทจาก W1
- รายการติดตาม: สแกน 8 ถึง 12 คู่ ในสัปดาห์หนึ่งมี 2 ถึง 5 คู่เข้าสู่รายการติดตามเชิงรุก
- สองตัวกรอง เช่น EMA 200 และ RSI 14 เป็นการแปลงราคาที่นิยามชัด เกณฑ์เป็นข้อตกลงให้ประเมิน ไม่ใช่การกำจัดสัญญาณรบกวนส่วนใหญ่ที่พิสูจน์แล้ว
- เริ่มด้วยแจ้ง 1 ประเภท: แจ้งราคาบนบริเวณ S/R จากกราฟสัปดาห์ เพิ่มแจ้งตัวชี้วัดภายหลัง
- เริ่มด้วย EA 0 ตัว เรียนเทรดเองโดยใช้ตัวคัดกรองและแจ้งช่วยก่อน หุ่นยนต์ค่อยตามมา และอาจไม่จำเป็นเลย
- ฝึกกระบวนการและ forward test สองหรือสามเดือนในบัญชีทดลองอาจเป็นช่วงฝึกที่สมมติไว้สำหรับการทำงาน บันทึก และทำตามกฎ ไม่ใช่ขั้นต่ำยืนยันที่เพียงพอ จำนวนและช่วงข้อสังเกตขึ้นกับความถี่เหตุการณ์ ความขึ้นต่อกัน และความแปรปรวน บัญชีทดลองไม่สร้างเงื่อนไข execution บัญชีจริงอัตโนมัติ และเวลาที่ผ่านไปไม่รับประกันความเป็นตัวแทนหรือกำไร
ขนาดสถานะ — นอกขอบเขตบทความนี้
เลือกชุดเงื่อนไขโดยไม่มีขนาดสถานะเหมาะสมคือทำเพียงครึ่งงาน แต่สูตร วิธีคิดต้นทุนในงบเสี่ยง และตัวอย่างคำนวณอยู่ใน ส่วนที่ 9 ส่วน เครื่องคำนวณขนาดสถานะแบบโต้ตอบ และ ตัวจำลอง Monte Carlo อยู่ในส่วนเครื่องมือ
คำถามที่พบบ่อย – ระบบอัตโนมัติและการคัดกรองทางเทคนิค
ต้องเขียนโปรแกรมเป็นจึงจะใช้ตัวคัดกรองได้หรือไม่?
ไม่ ตัวคัดกรองใน TradingView และแดชบอร์ด MT4/MT5 ทำงานแบบ “คลิกตัวกรอง ตั้งเกณฑ์ รับรายการ” Pine Script และ MQL เพิ่มความสามารถ เช่น เงื่อนไขเขียนเองและแจ้งแบบผสม แต่คัดกรองพื้นฐานไม่ต้องเขียนโค้ด
ควรซื้อ Expert Advisor (EA) สำเร็จรูปหรือไม่?
ประเมินต้องมีกฎที่บันทึก ประวัติการลองและเปลี่ยนครบ แบบจำลองต้นทุน และข้อสังเกตใหม่ แม้ประวัติบัญชีตรวจยืนยันแล้วก็ไม่รับประกันความเป็นตัวแทนหรือผลอนาคต Backtest หรือบทวิจารณ์น่าดึงดูดอย่างเดียวไม่แทนการตรวจเหล่านี้
ควรตั้งแจ้งพร้อมกันกี่รายการ?
ไม่มีจำนวนสากล บันทึกกำลังตรวจและเงื่อนไขหมดอายุ ลดการซ้ำด้วยตัดรายการซ้ำ สแกนขอบเขตทั้งหมดได้โดยไม่แจ้งหลังทุกแท่งที่ยังอยู่สถานะเดิม
Backtest Forex เชื่อถือได้แค่ไหน?
ขึ้นกับข้อมูล กฎ และแบบจำลอง execution OHLC ไม่บอกลำดับ SL/TP ในแท่งเดียว โหมด real tick อาจเติมช่องว่างด้วยข้อมูลสร้าง Backtest ไม่พยากรณ์ผล ส่วน forward test ตรวจข้อสังเกตใหม่ภายใต้ข้อจำกัดความยาวและความหลากหลายของตัวอย่าง
คัดกรองด้วย TradingView หรือ MT4/MT5?
เทียบแหล่งและขอบเขตแท่ง ตัวกรองที่มี การทำงานแจ้ง และขอบเขตตัวทดสอบ แจ้ง TradingView ทำบนเซิร์ฟเวอร์ ส่วนตัวชี้วัด MT ในเครื่องต้องเปิดแพลตฟอร์มหรือ VPS สคริปต์กลยุทธ์ TradingView อย่างเดียวไม่ใช่ระบบเทรดกับโบรกเกอร์ผ่านระบบในตัว
Python ดีกว่า Pine Script ในการ backtest หรือไม่?
สภาพแวดล้อมเขียนเองให้ควบคุมข้อมูลและแบบจำลอง แต่ย้ายความรับผิดชอบความถูกต้องไปที่ผู้เขียน ตัวทดสอบแพลตฟอร์มมีข้อตกลงและข้อจำกัดที่นิยาม การเลือกไม่ได้ลบการใช้ข้อมูลอนาคต หน่วยผิด หรือต้นทุนที่ละ
ต้องสแกนทุกวันหรือไม่?
หากกฎประเมินทุกครั้งที่ D1 ปิด สแกนควรครอบคลุมทุกครั้งนั้น ตรวจเฉพาะจันทร์และพฤหัสบดีจะพลาดเงื่อนไขใหม่วันอื่น เว้นแต่ระบบอัตโนมัติยังบันทึก ต้องแยกความถี่ตรวจด้วยมือกับความถี่สแกนครบ
แหล่งอ้างอิง
แหล่งปฐมภูมิ
- Robert Pardo, The Evaluation and Optimization of Trading Strategies, ฉบับที่ 2, Wiley, 2008 – วิธี backtest วิเคราะห์ walk-forward และรู้จำ overfitting งานสำคัญในการตรวจกลยุทธ์อัตโนมัติ
- Ernest P. Chan, Quantitative Trading: How to Build Your Own Algorithmic Trading Business, ฉบับที่ 2, Wiley, 2021 – คู่มือสร้างกลยุทธ์เชิงปริมาณ ตั้งแต่คัดกรองถึง execution ด้วยอัลกอริทึม
- Perry J. Kaufman, Trading Systems and Methods, ฉบับที่ 6, Wiley, 2020 – ภาพรวมระบบเทรดแบบสารานุกรม ตัวกรองแนวโน้ม คัดกรอง ทดสอบ และหาค่าที่ดีที่สุดของกลยุทธ์
- Andreas F. Clenow, Following the Trend, Wiley, 2013 – แนวทางตามแนวโน้มอย่างเป็นระบบ คัดสินทรัพย์ backtest พอร์ต จัดสถานะ และแง่ปฏิบัติของระบบอัตโนมัติ
อ่านเพิ่มเติม
- David Aronson, Evidence-Based Technical Analysis, Wiley, 2007 – ตรวจวิธี TA ด้วยสถิติ อคติขุดข้อมูล ทดสอบนัยสำคัญ ปัญหาเปรียบเทียบหลายครั้ง (data snooping) หนังสือสำคัญสำหรับผู้ทดสอบกลยุทธ์
- Marcos Lopez de Prado, Advances in Financial Machine Learning, Wiley, 2018 — อ่านเพิ่มเติม ไม่อ้างบทที่ยังไม่อ่านเป็นหลักฐานของกฎ
- Alexander Elder, The New Trading for a Living, Wiley, 2014 — อ่านเพิ่มเติม ไม่อ้างบทที่ยังไม่อ่านเป็นหลักฐานของกฎ
- Kathy Lien, Day Trading and Swing Trading the Currency Market, ฉบับที่ 3, Wiley, 2016 — อ่านเพิ่มเติม ไม่อ้างบทที่ยังไม่อ่านเป็นหลักฐานของกฎ
- Lukas Menkhoff, Mark P. Taylor, "The Obstinate Passion of Foreign Exchange Professionals: Technical Analysis," Journal of Economic Literature, เล่ม 45 ฉบับ 4, 2007 – บททบทวนการใช้ TA ใน Forex เป็นบริบทอภิปรายบทบาทอัตโนมัติในผู้ค้าเงินตรามืออาชีพ
- Andrew W. Lo, Adaptive Markets: Financial Evolution at the Speed of Thought, Princeton University Press, 2017 – สมมติฐานตลาดปรับตัว ทำไมกลยุทธ์ที่เคยใช้ได้จึงอาจหยุดใช้ได้ และผลต่ออัตโนมัติกับ backtest
แหล่งสถาบันและเอกสาร
- Swiss National Bank (2015), “ธนาคารชาติสวิสยุติอัตราแลกเปลี่ยนขั้นต่ำและลดอัตราดอกเบี้ยเป็น −0.75%”, ข่าวประชาสัมพันธ์ 15 มกราคม 2015
- FCA (2015), “ข่าวสำหรับลูกค้าของ Alpari (UK) Limited” – Alpari (UK) เข้าสู่กระบวนการบริหารพิเศษ
- BIS Markets Committee (2017), “เหตุการณ์ ‘flash event’ ของปอนด์ วันที่ 7 ตุลาคม 2016”, มกราคม 2017 — วิเคราะห์เหตุการณ์ สภาพคล่องบาง คำสั่ง ปฏิกิริยาอัลกอริทึม และความต่างแพลตฟอร์ม
- TradingView, เอกสาร Pine Script – เอกสารภาษาทางการ พฤติกรรมสคริปต์บนแท่งปัจจุบันและปิดแล้ว (barstate) แจ้งเตือน strategy()
- MetaQuotes, เอกสารอ้างอิง MQL5 – เอกสาร MQL5 ทางการ ตัวชี้วัด Expert Advisor และ Strategy Tester
- ESMA (2018), “ESMA เห็นชอบห้ามไบนารีออปชันและจำกัด CFD เพื่อคุ้มครองผู้ลงทุนรายย่อย”, 27 มีนาคม 2018 – ชุดมาตรการแทรกแซงผลิตภัณฑ์ จำกัดเลเวอเรจ คุ้มครองยอดติดลบ คำเตือนความเสี่ยง การวิเคราะห์ผู้กำกับระบุว่าบัญชี CFD รายย่อย 74–89% ขาดทุน