Expert Advisor (EA) ต่างจากไฟล์ดาวน์โหลดอื่นๆ บนเว็บไซต์นี้ — อินดิเคเตอร์ทำได้แค่พล็อตกราฟหรือแจ้งเตือน แต่ EA จะส่งคำสั่งเทรดแทนคุณจริงๆ EA ฟรีตัวนี้เทรดด้วยกลยุทธ์แบบ reversal เดียวที่โปร่งใส สร้างจาก Stochastic Oscillator ตั้งแต่ต้นจนจบ — จุดเข้า Stop Loss, Take Profit และขนาดโพซิชัน คำนวณอัตโนมัติทั้งหมดทันทีที่สัญญาณที่ผ่านเงื่อนไขปรากฏขึ้น
กลยุทธ์ทำงานอย่างไร
สัญญาณเข้าเทรดคือการตัดกันของ %K/%D บน Stochastic Oscillator แต่ไม่ใช่การตัดกันแบบไหนก็ได้ — จะนับก็ต่อเมื่อเกิดขึ้นภายใน zone ที่เป็นค่าสุดขั้วเท่านั้น เงื่อนไข BUY ต้องการให้ %K ตัดขึ้นเหนือ %D ในขณะที่เส้นทั้งสองยังอยู่ต่ำกว่าระดับ Oversold (ค่าเริ่มต้น 20) ส่วนเงื่อนไข SELL ต้องการให้ %K ตัดลงต่ำกว่า %D ในขณะที่เส้นทั้งสองยังอยู่สูงกว่าระดับ Overbought (ค่าเริ่มต้น 80) นี่คือประเด็นเดียวกับที่บทเรียน Stochastic ของเว็บไซต์นี้พูดไว้ว่า "การตัดกันสำคัญพอๆ กับ zone ที่มันเกิดขึ้น" — การตัดกันของ %K/%D ที่เกิดขึ้นกลางช่วง เช่นแถวๆ ค่า 50 สะท้อนแค่สัญญาณรบกวนระยะสั้นทั่วไปเท่านั้น เพราะไม่มีค่าสุดขั้วรองรับว่าการเคลื่อนไหวนั้นกำลังหมดแรง ในทางกลับกัน การตัดกันที่เกิดขึ้นที่ 15 หรือ 85 กำลังเกิดขึ้นตรงจุดที่แนวคิดพื้นฐานของ stochastic บอกว่ามีโอกาสกลับตัวสูงกว่า นั่นคือราคาได้กดดันเข้าไปที่ขอบด้านใดด้านหนึ่งของช่วงล่าสุดอย่างต่อเนื่อง และการตัดกันคือสัญญาณแรกที่แรงกดดันนั้นกำลังลดลง การกรองทุกสัญญาณด้วย zone แบบนี้คือสิ่งที่ช่วยไม่ให้ EA ยิงสัญญาณตามการแกว่งเล็กๆ น้อยๆ ของ %K/%D ที่เกิดขึ้นกลางกราฟหลายสิบครั้งในทุก timeframe
Stop Loss, Take Profit และขนาดโพซิชัน
ทั้ง Stop Loss และ Take Profit คำนวณจาก ATR แทนที่จะใช้ระยะ pip คงที่ — คู่เงินหรือ session ที่ผันผวนมากจะได้ stop ที่กว้างขึ้นโดยอัตโนมัติ ส่วนช่วงที่นิ่งจะได้ stop ที่แคบลง ดังนั้น stop จึงสะท้อนสิ่งที่ตลาดกำลังทำอยู่จริงในขณะนั้น แทนที่จะเป็นตัวเลขที่กำหนดไว้ล่วงหน้าแบบสุ่มๆ ระยะ Stop Loss คือ ATRMultiplier × ATR (ค่า multiplier เริ่มต้น 2.0) วางไว้ฝั่งตรงข้ามกับทิศทางที่เทรดอาจผิดพลาด จากนั้น Take Profit จะถูกตั้งเป็นสัดส่วนคูณของระยะ Stop Loss เดียวกันนี้ — คือ input RiskRewardRatio ค่าเริ่มต้น 2.0 — ทำให้ทุกเทรดที่ EA เปิดมีเป้าหมายผลตอบแทนเป็นสองเท่าของความเสี่ยงเสมอ ไม่ว่าจะเกิดกับคู่เงินหรือ session ไหนก็ตาม
ขนาดโพซิชันคำนวณจาก input RiskPercent (ค่าเริ่มต้น 1.0%) เทียบกับยอดเงินในบัญชีและระยะ Stop Loss — ด้วยวิธีเดียวกับตัวอย่างการคำนวณในพื้นฐานการบริหารความเสี่ยง คือ จำนวนเงินที่ยอมเสี่ยง ÷ ระยะ Stop Loss = ขนาด lot ในวันที่ผันผวน stop ที่กว้างขึ้นจาก ATR จะทำให้ lot เล็กลงโดยอัตโนมัติ ส่วนวันที่นิ่ง stop ที่แคบลงจะทำให้ lot ใหญ่ขึ้น ดังนั้นจำนวนเงินที่เสี่ยงจริงต่อเทรดจึงค่อนข้างคงที่ในแต่ละครั้ง input UseFixedLot มีไว้เป็นทางเลือกสำรองสำหรับเทรดเดอร์ที่อยากใช้ขนาด lot คงที่แทนที่จะคำนวณตามความเสี่ยง
เงื่อนไขการเข้าเทรด
- BUY — %K ตัดขึ้นเหนือ %D ในขณะที่เส้นทั้งสองอยู่ต่ำกว่าระดับ Oversold (ค่าเริ่มต้น 20)
- SELL — %K ตัดลงต่ำกว่า %D ในขณะที่เส้นทั้งสองอยู่สูงกว่าระดับ Overbought (ค่าเริ่มต้น 80)
EA จะประเมินเงื่อนไขเหล่านี้เพียงครั้งเดียวต่อแท่งเทียนใหม่ (ไม่ใช่ทุก tick) เปิดได้ครั้งละ 1 โพซิชันเท่านั้น และจัดการเฉพาะโพซิชันที่มี magic number ของตัวเอง (MagicNumber ค่าเริ่มต้น 20260721) เท่านั้น จึงไม่ไปยุ่งกับเทรดที่คุณเปิดเองด้วยมือในบัญชีเดียวกัน และจะไม่เปิดเทรดซ้อนบนโพซิชันที่เปิดอยู่แล้ว นอกจากนี้ตัวกรอง MaxSpreadPoints ยังบล็อกการเข้าเทรดใหม่เมื่อ spread ในขณะนั้นกว้างเกินไป เพราะสัญญาณที่ดูดีบนกราฟก็ยังเป็นเทรดที่แย่ได้ ถ้าราคาที่ได้จริงเลื่อนห่างจากราคาที่เห็นมากเกินไป
Parameters
- KPeriod / DPeriod / Slowing (ค่าเริ่มต้น 5 / 3 / 3) — การตั้งค่าแบบ "fast stochastic" classic คือใช้ period ย้อนหลังสั้นและ smoothing เบา ทำให้ %K และ %D ตอบสนองไวและตัดกันบ่อย
- Overbought / Oversold (ค่าเริ่มต้น 80 / 20) — ระดับขีดจำกัดของ zone สุดขั้วที่การตัดกันต้องอยู่ภายในจึงจะนับเป็นสัญญาณที่ใช้ได้
- ATRPeriod (ค่าเริ่มต้น 14) — period ย้อนหลังที่ใช้คำนวณ ATR สำหรับระยะ Stop Loss
- ATRMultiplier (ค่าเริ่มต้น 2.0) — ระยะ Stop Loss = ATR × ค่านี้
- RiskRewardRatio (ค่าเริ่มต้น 2.0) — ระยะ Take Profit = ระยะ Stop Loss × ค่านี้
- RiskPercent (ค่าเริ่มต้น 1.0) — เปอร์เซ็นต์ของยอดเงินในบัญชีที่ยอมเสี่ยงต่อการเทรด ใช้คำนวณขนาด lot จะถูกข้ามหาก
UseFixedLotเปิดใช้งานอยู่ - UseFixedLot / FixedLotSize — สลับจากการคำนวณขนาดตามความเสี่ยงไปใช้ lot คงที่ สำหรับเทรดเดอร์ที่ต้องการขนาดโพซิชันคงที่ไม่ว่าระยะ stop จะเป็นเท่าไร
- MaxSpreadPoints (ค่าเริ่มต้น 30) — ข้ามการเข้าเทรดใหม่หาก spread กว้างกว่าค่านี้ เพื่อหลีกเลี่ยงการเปิดเทรดที่ราคาไม่ดีช่วงสภาพคล่องต่ำ
- EnableTrading — สวิตช์เปิด/ปิดหลัก ใช้พักการทำงานของ EA ได้โดยไม่ต้องถอดออกจากกราฟ
- MagicNumber (ค่าเริ่มต้น 20260721) — ติดแท็กทุกคำสั่งที่ EA ตัวนี้ส่ง เพื่อให้ logic การนับโพซิชันไม่ไปยุ่งกับเทรดที่เปิดเองด้วยมือ หรือเทรดของ EA ตัวอื่นในบัญชีเดียวกัน
Stochastic เทียบกับ RSI สำหรับ EA แบบ Reversal
Stochastic และ RSI ต่างก็ล่าหาการเทรดแบบเดียวกัน คือการกลับตัวใกล้ค่าสุดขั้ว แต่ใช้กลไกคนละแบบ และความต่างนี้ส่งผลต่อพฤติกรรมของ EA ที่สร้างจากแต่ละตัว RSI วัดขนาดของแท่งขึ้นเทียบกับแท่งลงในช่วงที่ผ่านมา ทำให้มันค่อนข้างเรียบและเคลื่อนที่ช้า ส่วน stochastic วัดตำแหน่งของราคาปิดล่าสุดภายในช่วง high-low ล่าสุด ทำให้มันไวและวุ่นวายกว่า การตั้งค่า fast-stochastic (5, 3, 3) ที่ EA ตัวนี้ใช้เป็นค่าเริ่มต้นยิ่งเน้นความต่างนี้มากขึ้น — มันจะสร้างสัญญาณตัดกันมากกว่า EA ที่ใช้ RSI อย่างเห็นได้ชัดในช่วงราคาเดียวกัน เพราะ %K กับ %D ตัดกันบ่อยกว่าที่ RSI ตัดกับเส้นสัญญาณของตัวเองจริงๆ ตัวกรอง zone ที่อธิบายไว้ข้างต้นคือสิ่งที่ช่วยไม่ให้ความไวที่มากขึ้นนี้กลายเป็นสัญญาณรบกวนล้วนๆ — การกำหนดให้การตัดกันต้องเกิดภายใน 20 หรือ 80 ช่วยตัดสัญญาณอ่อนๆ ที่ไม่น่าเชื่อถือส่วนใหญ่ทิ้งไป เหลือไว้เพียงกลุ่มสัญญาณที่น่าเชื่อถือมากขึ้นจำนวนน้อยลง
ความไวนี้ให้ผลสองด้านขึ้นอยู่กับสภาพตลาด ในตลาดที่แกว่งตัวอยู่ในกรอบจริงๆ EA ตัวนี้ทำงานได้ดี — ราคาแกว่งไปมาระหว่างขอบของกรอบ stochastic แตะค่าสุดขั้วซ้ำๆ อย่างชัดเจน และสัญญาณ oversold-buy หรือ overbought-sell แต่ละครั้งมักมีการเคลื่อนไหวแบบ mean-reversion จริงๆ รองรับ แต่ในตลาดที่เป็นเทรนด์แรง ความไวแบบเดียวกันนี้กลับกลายเป็นจุดอ่อน — stochastic อาจค้างอยู่แถว 80 เป็นช่วงยาวระหว่างขาขึ้นที่แรง (หรือค้างแถว 20 ระหว่างขาลงที่แรง) และเพราะ %K กับ %D ถูกบีบอยู่ใกล้ค่าสุดขั้วเดียวกัน มันจึงยังคงตัดกันไปมาได้ แม้ราคาจะเดินหน้าไปตามทิศทางเทรนด์ต่อไป ทำให้เกิดสัญญาณสวนเทรนด์ที่ขาดทุนซ้ำๆ EA ตัวนี้ไม่มีตัวกรองเทรนด์ในตัว จึงเหมาะกับสภาวะตลาดที่แกว่งอยู่ในกรอบมากกว่า หรือควรตรวจสอบกับแนวทางจากบทเรียนเทรนด์กับตลาดไซด์เวย์ของเว็บไซต์นี้ก่อนเปิดใช้งานกับคู่เงินที่กำลังเป็นเทรนด์แรงชัดเจนในทิศทางใดทิศทางหนึ่ง
การติดตั้งและตั้งค่า
EA ติดตั้งในโฟลเดอร์ที่ต่างจากอินดิเคเตอร์ — เป็นขั้นตอนที่คนพลาดบ่อยที่สุด
- ดาวน์โหลดไฟล์ด้านล่างสำหรับ platform ของคุณ
- เปิด MetaTrader → คลิก
File→Open Data Folder - นำไฟล์ไปวางในโฟลเดอร์
MQL4/Experts(MetaTrader 4) หรือMQL5/Experts(MetaTrader 5) — ไม่ใช่ โฟลเดอร์ Indicators - รีสตาร์ท MetaTrader แล้วลาก EA จากหน้าต่าง Navigator ไปวางบนกราฟ
- เปิดใช้งาน AutoTrading (MT4) หรือ Algo Trading (MT5) บนแถบเครื่องมือ — EA จะไม่ส่งคำสั่งเทรดใดๆ เลยถ้าปิดสวิตช์นี้อยู่ แม้จะติดอยู่บนกราฟแล้วก็ตาม
- ตรวจสอบและปรับ parameter ในหน้าต่างตั้งค่าของ EA ก่อนยืนยัน
ข้อควรระวัง
ทดสอบบนบัญชีเดโมก่อนเสมอ ในสภาวะตลาดที่หลากหลาย ก่อนนำเงินจริงไปเสี่ยง — ผลงานที่ผ่านมา ไม่ว่าจาก backtest หรือบัญชีจริง ไม่เคยรับประกันผลลัพธ์ในอนาคต ไม่มีกลยุทธ์ใด ไม่ว่าจะอัตโนมัติหรือเทรดเอง ที่ชนะทุกครั้ง และ EA ตัวนี้สามารถขาดทุนในบางเทรดได้เช่นกัน ตัวกรอง zone ช่วยลดความถี่ในการยิงสัญญาณอ่อนๆ ที่ไม่น่าเชื่อถือ แต่ไม่ได้กำจัดเทรดที่ขาดทุนออกไปทั้งหมด และไม่มีการป้องกันกรณีที่เทรนด์แรงทำให้ stochastic ค้างอยู่ที่ค่าสุดขั้วเป็นช่วงยาว ไฟล์ทั้งสองเป็น source code — เปิดและตรวจสอบให้ครบถ้วน และเข้าใจว่า parameter แต่ละตัวทำอะไร ก่อนนำไปใช้งาน เนื้อหานี้เป็นการศึกษาทั่วไป ไม่ใช่คำแนะนำการลงทุนส่วนบุคคล
ดาวน์โหลด EA
วิธีติดตั้ง — MetaTrader 4
- ดาวน์โหลดไฟล์
stochastic-crossover-ea.mq4ด้านล่าง - เปิด MetaTrader 4 → คลิก
File→Open Data Folder - นำไฟล์ไปวางในโฟลเดอร์
MQL4/Experts - รีสตาร์ท MetaTrader 4 แล้วลาก EA จากหน้าต่าง Navigator ไปวางบนกราฟ
วิธีติดตั้ง — MetaTrader 5
- ดาวน์โหลดไฟล์
stochastic-crossover-ea.mq5ด้านล่าง - เปิด MetaTrader 5 → คลิก
File→Open Data Folder - นำไฟล์ไปวางในโฟลเดอร์
MQL5/Experts - รีสตาร์ท MetaTrader 5 แล้วลาก EA จากหน้าต่าง Navigator ไปวางบนกราฟ
ไฟล์ทั้งสองเป็น source code — โปรดเปิดและตรวจสอบโค้ดทั้งหมดก่อนใช้งาน เพื่อความปลอดภัยของคุณเอง