
- Neural net trend filter ใช้โมเดล LSTM วิเคราะห์ราคา EURUSD เพื่อแยกสัญญาณจริงจากสัญญาณหลอก
- เราทดสอบด้วยข้อมูล 5 ปี พบว่ากรอง noise ได้ดีในสภาวะ sideways แต่มี lag ใน trend ที่เปลี่ยนเร็ว
- ข้อจำกัดคือต้อง retrain ทุก 3 เดือน เพราะตลาด EURUSD เปลี่ยนพฤติกรรมบ่อย
ผมใช้ neural network กับงานเทรดมา 3 ปีแล้ว โดยเฉพาะโมเดลประเภท recurrent neural network (RNN) ที่ออกแบบมาเพื่อข้อมูลอนุกรมเวลา (time series) เช่น ราคา EURUSD การนำ neural net trend filter มาใช้ไม่ใช่เรื่องใหม่ แต่สิ่งที่ผมอยากแชร์คือประสบการณ์จริงในการ implement และทดสอบบนข้อมูลจริง ไม่ใช่แค่ทฤษฎี
โหลดข้อมูล M15 จาก MT5 (3 ปี) → Normalize ด้วย Min-Max Scaling → สร้าง features: RSI(14), MACD, ATR(20)
2 layer LSTM (64 units) + Dropout(0.3) + Dense(1) → Loss: MAE → Optimizer: Adam(1e-3)
Train 80% (2.4 ปี) → Validate 20% (8 เดือน) → Walk-forward test ทุก 3 เดือน
Neural net trend filter คืออะไร และทำงานอย่างไร?
Neural net trend filter คือระบบที่ใช้โมเดล deep learning (โดยเฉพาะ LSTM) วิเคราะห์ข้อมูลราคา EURUSD เพื่อแยกแยะว่าราคาปัจจุบันกำลังอยู่ใน "เทรนด์จริง" หรือแค่ "สัญญาณรบกวน" (noise) แนวคิดหลักคือ LSTM จะเรียนรู้รูปแบบทางสถิติจากข้อมูลในอดีต แล้วใช้รูปแบบนั้นทำนายว่าแนวโน้มในอนาคตจะเป็นอย่างไร
ผมอธิบายให้เข้าใจง่าย ๆ คือ ถ้าเราใช้ moving average 200 วัน เป็น filter แบบดั้งเดิม มันจะบอกเราว่า "ตอนนี้ราคาอยู่เหนือหรือใต้เส้น" แต่ neural net trend filter จะให้ข้อมูลมากกว่านั้น มันจะบอกว่า "ความน่าจะเป็นที่เทรนด์นี้จะต่อเนื่องอีก 5 แท่งเทียนคือ 73%" ซึ่งเป็นข้อมูลที่มีประโยชน์กว่ามากสำหรับการตัดสินใจเข้าออเดอร์
โมเดลที่ผมนิยมใช้คือ LSTM (Long Short-Term Memory) ซึ่งเป็นประเภทหนึ่งของ RNN ที่ออกแบบมาเพื่อจำข้อมูลระยะยาวได้ดี LSTM มี "gate" 3 ตัว (input, forget, output) ที่ควบคุมว่าข้อมูลใดควรจำ ข้อมูลใดควรลืม ทำให้มันจัดการกับข้อมูลอนุกรมเวลาได้มีประสิทธิภาพกว่าโมเดลแบบ feed-forward ทั่วไป
ทำไมต้องใช้ neural network แทน moving average?

ต้องเตรียมข้อมูลและ features อะไรบ้าง?
การเตรียมข้อมูลคือหัวใจของ neural net trend filter ที่ประสบความสำเร็จ ผมใช้ข้อมูล EURUSD M15 จาก MetaTrader 5 เป็นเวลา 3 ปี (ประมาณ 150,000 แท่งเทียน) และสร้าง features ดังนี้: - **ราคา**: Open, High, Low, Close (normalize ด้วย Min-Max Scaling) - **Momentum indicators**: RSI(14), Stochastic(14,3,3), MACD(12,26,9) - **Volatility indicators**: ATR(20), Bollinger Band width - **Volume-based**: Relative volume (เทียบกับค่าเฉลี่ย 20 แท่ง) - **Lag features**: ราคาและ indicators ล่าช้า 1, 5, 20 แท่ง ผมพบว่า features ที่สำคัญที่สุดสำหรับ neural net trend filter คือ ATR(20) และ RSI(14) ATR ช่วยโมเดลเข้าใจว่า volatility ปัจจุบันเป็นอย่างไร (ซึ่งส่งผลต่อความน่าเชื่อถือของสัญญาณ) ส่วน RSI ช่วยระบุสภาวะ overbought/oversold ที่อาจบ่งบอกถึงการเปลี่ยนแปลงของเทรนด์ผล backtest เป็นอย่างไร และข้อจำกัดคืออะไร?

จะ implement neural net trend filter ในระบบเทรดจริงได้อย่างไร?

ข้อควรระวังเมื่อใช้ neural net trend filter กับ EURUSD
สุดท้ายนี้ ผมอยากย้ำข้อควรระวังสำคัญ 3 ข้อ: 1. **Overfitting**: Neural network มีแนวโน้มที่จะ "จำ" ข้อมูล training แทนที่จะ "เรียนรู้" pattern จริง วิธีป้องกันคือใช้ validation set แยก และใช้ regularization (dropout, L2 penalty) 2. **Data leakage**: ต้องมั่นใจว่าข้อมูลที่ใช้ train ไม่มีการ "รั่วไหล" จากอนาคตไปอดีต เช่น การ normalize ด้วยค่า min/max ของทั้ง dataset (รวม validation/test) ซึ่งเป็น error ที่พบบ่อย 3. **Regime change**: ตลาด EURUSD เปลี่ยนพฤติกรรมบ่อย (เช่น จาก low volatility เป็น high volatility) Neural net ที่ train ด้วยข้อมูล low volatility อาจทำงานไม่ดีใน high volatility และ vice versa สำหรับเทรดเดอร์ไทยที่ต้องการเริ่มต้น ผมแนะนำให้ศึกษาพื้นฐาน machine learning ก่อน (โดยเฉพาะ supervised learning และ time series) แล้วค่อย ๆ พัฒนา neural net trend filter ของตัวเอง อย่าพึ่งพาโมเดลสำเร็จรูปจาก internet เพราะแต่ละคนมี style การเทรดและ risk tolerance ที่แตกต่างกัน ถ้าคุณสนใจเรียนรู้เพิ่มเติมเกี่ยวกับ AI ในงานเทรด ผมมีบทความอื่น ๆ ที่เกี่ยวข้อง เช่น การ build trading bot ด้วย Python หรือการ backtest strategy ด้วย Python ที่อาจช่วยคุณได้เขียนโดย อ.บอม · ทีม THE TERMINAL | AI x Trading