LearnForexHub
EA

EA: Ultimate Oscillator Reversal Expert Advisor

เขียนโดย , ผู้ก่อตั้งและบรรณาธิการอัปเดตล่าสุด วิธีที่เราเขียนและตรวจทานบทเรียน

อินดิเคเตอร์แค่พล็อตเส้นหรือส่งการแจ้งเตือน — แต่ Expert Advisor (EA) ส่งคำสั่งซื้อขายแทนคุณจริงๆ EA ฟรีตัวนี้เทรด Ultimate Oscillator ที่กำลังออกจากโซนสุดขั้ว: เมื่อ oscillator ไต่กลับขึ้นเหนือ 30 หลังจากอยู่ในโซน Oversold มาช่วงหนึ่ง มันจะเปิด BUY และเมื่อร่วงกลับลงใต้ 70 หลังจากอยู่ในโซน Overbought มันจะเปิด SELL พร้อม Stop Loss, Take Profit และขนาดโพซิชันที่คำนวณอัตโนมัติทั้งหมดจาก ATR และความเสี่ยงของบัญชี

กลยุทธ์ทำงานอย่างไร

สัญญาณเข้าเทรดสร้างบนการผสมสาม period แบบเดียวกับที่อธิบายไว้ในบทเรียน Ultimate Oscillator สำหรับทุกแท่ง EA คำนวณ Buying Pressure (Close − min(Low, Close ก่อนหน้า)) และ True Range (max(High, Close ก่อนหน้า) − min(Low, Close ก่อนหน้า)) บวกแต่ละฝั่งแยกกันตลอด 7, 14 และ 28 แท่ง หารเพื่อให้ได้สามอัตราส่วน แล้วผสมด้วยการถ่วงน้ำหนัก 4:2:1 ออกมาเป็นค่าเดียวในช่วง 0-100 ทั้ง MetaTrader 4 และ MetaTrader 5 ไม่มีฟังก์ชัน Ultimate Oscillator ในตัว ดังนั้นทั้งหมดนี้จึงคำนวณอยู่ภายในตัว EA เอง

ตัวทริกเกอร์การเทรดคือการ ออก จากโซนสุดขั้วโดยตั้งใจ ไม่ใช่การเข้าโซน เมื่อ oscillator อยู่ใต้ 30 ทั้งสามช่วง look-back เห็นตรงกันว่าผู้ขายกำลังรักษาพื้นที่ที่ยึดมาได้ — นั่นไม่ใช่จังหวะที่จะเข้าซื้อสวน EA รอให้ค่าตัดกลับขึ้นเหนือ 30 ซึ่งเป็นแท่งแรกที่ช่วงที่สั้นที่สุดและถูกถ่วงน้ำหนักมากที่สุดกลับทิศจริง ฝั่ง Overbought ทำงานเหมือนกันในทางกลับกัน: ไม่มีการขายใดๆ ขณะค่ายังอยู่เหนือ 70 คำสั่ง SELL ยิงตอนที่มันตัดกลับลงใต้เส้นนั้น

Stop Loss, Take Profit และขนาดโพซิชัน

PriceTake Profit (TP)Stop Loss (SL)BUY7030Ultimate Oscillator (7, 14, 28 — bounded 0–100)UO
Entry conditions: BUY when the Ultimate Oscillator crosses back above 30 — SELL when it crosses back below 70 — SL and TP are placed automatically from ATR

ทั้ง Stop Loss และ Take Profit ถูกกำหนดขนาดจาก ATR แทนระยะ pip คงที่ ดังนั้น stop จึงสะท้อนว่าคู่เงินนั้นเคลื่อนไหวมากแค่ไหนจริงๆ ในตอนนี้เสมอ ระยะ Stop Loss คือ ATRMultiplier × ATR (default multiplier 2.0, ATR คำนวณตลอด ATRPeriod default 14) และ Take Profit ถูกตั้งที่ RiskRewardRatio × ระยะ Stop Loss (default 2.0) — ทุกการเทรดที่ EA ตัวนี้เปิดมีสัดส่วนผลตอบแทนต่อความเสี่ยงคงที่เท่ากันไม่ว่าคู่เงินหรือ timeframe ใด

การกำหนดขนาดจาก ATR สำคัญกับกลยุทธ์กลับตัวมากกว่ากลยุทธ์ตามเทรนด์ เพราะการเข้าเทรดแบบกลับตัวเกิดขึ้นตรงจุดที่ความผันผวนเพิ่งขยายตัวพอดี stop คงที่ 30 pip ที่สบายๆ ในช่วงตลาดเงียบ กลายเป็นอยู่ภายใน noise ของแท่งเดียวหลังการเทขายรุนแรง — การเทรดจะถูกปิดด้วยการเคลื่อนไหวปกติ แทนที่จะถูกปิดเพราะแนวคิดผิด ขนาดโพซิชันใช้วิธีตามตัวอย่างที่คำนวณไว้ใน พื้นฐานการบริหารความเสี่ยง พอดี: RiskPercent (default 1.0%) ของยอดเงินในบัญชีหารด้วยระยะ Stop Loss ดังนั้น stop ที่กว้างขึ้นตาม ATR จึงให้ lot ที่เล็กลงโดยอัตโนมัติและความเสี่ยงเป็นเงินยังคงที่ ดู ทำความเข้าใจขนาด Lot สำหรับวิธีที่ตัวเลขนั้นถูกปรับให้เข้ากับค่าต่ำสุด สูงสุด และ step ของ broker UseFixedLot มีไว้เป็นทางออกสำหรับใช้ lot คงที่

เงื่อนไขการเข้าเทรด

  • BUY — Ultimate Oscillator อยู่ที่หรือต่ำกว่า OversoldLevel (default 30) บนแท่งก่อนหน้า และปิดเหนือเส้นนั้นบนแท่งที่เพิ่งปิด
  • SELL — oscillator อยู่ที่หรือสูงกว่า OverboughtLevel (default 70) บนแท่งก่อนหน้า และปิดใต้เส้นนั้นบนแท่งที่เพิ่งปิด — เงื่อนไขแบบสะท้อนกลับ

กลไกความปลอดภัยสามอย่างควบคุมทุกการเทรดที่ EA ตัวนี้เปิดได้ ตรงตามมาตรฐานที่ใช้กับทุก EA บนเว็บนี้: มันประเมินเงื่อนไขการเข้าเทรดครั้งเดียวต่อแท่งใหม่หนึ่งแท่งเท่านั้น ติดตามผ่านเวลาเปิดของแท่ง ดังนั้นแท่งเดียวที่เข้าเงื่อนไขจึงไม่สามารถทริกเกอร์การเข้าซ้ำๆ ภายในแท่งเดียวกันได้ มันเปิดโพซิชันได้ครั้งละหนึ่งรายการเท่านั้น ตรวจสอบโดยการนับการเทรดที่เปิดอยู่ซึ่งกรองด้วยคู่เงินและ magic number ของ EA ตัวเองก่อนพิจารณาการเข้าใหม่ และมันเช็ค spread ปัจจุบันเทียบกับ MaxSpreadPoints (default 30) ก่อนส่งคำสั่ง โดยข้ามการเข้าเทรดเมื่อ spread กว้างเกินไป ทุกคำสั่งถูกติดป้ายด้วย MagicNumber (default 20260825) ดังนั้นตรรกะการนับโพซิชันของ EA จึงไม่แตะการเทรดที่เปิดด้วยมือหรือที่ EA ตัวอื่นบนบัญชีเดียวกันเปิดไว้

Parameters

  • FastPeriod / MiddlePeriod / SlowPeriod (default 7 / 14 / 28) — สามช่วง look-back ที่ถูกผสมเข้าเป็นค่าเดียว การถ่วงน้ำหนัก 4:2:1 ตายตัว สิ่งที่คุณควบคุมได้คือความยาวของแต่ละช่วง การเพิ่มทั้งสามเป็นสองเท่าให้ oscillator ที่ช้ากว่ามากซึ่งเหมาะกับ timeframe สูง
  • OversoldLevel (default 30) — ระดับที่ BUY ทริกเกอร์เมื่อ oscillator ตัดกลับขึ้นเหนือมัน การลดลงไปทาง 25 เรียกร้องความสุดขั้วที่ลึกกว่าและเทรดน้อยลง
  • OverboughtLevel (default 70) — ภาพสะท้อนสำหรับการเข้า SELL การเพิ่มขึ้นไปทาง 75 ให้ผลด้านการคัดกรองแบบเดียวกัน

อินพุตอื่น ๆ ทั้งหมดเป็นของ risk engine กลางที่อธิบายไว้ในหน้า EA ทั้งวิธีคำนวณ stop และเป้ากำไร ขนาดโพซิชันจาก RiskPercent และตัวตรวจความปลอดภัยที่คุมทุกคำสั่ง ออร์เดอร์ของ EA ตัวนี้ใช้ magic number 20260825

ทำไม EA รอให้ออกจากโซนก่อน

EA ที่อิง oscillator ทุกตัวต้องตอบคำถามเดียวกัน: คุณจะลงมือขณะที่ค่ายังสุดขั้ว หรือรอตอนที่มันเลิกสุดขั้วแล้ว การลงมือภายในโซนได้ราคาเข้าที่ดีกว่าในการเทรดที่ได้ผล และหายนะในการเทรดที่ไม่ได้ผล เพราะ "Oversold" ไม่มีพื้น คู่เงินสามารถอยู่ใต้ 30 ได้ยี่สิบแท่งติดกันระหว่างการพังจริงๆ และ EA ที่ซื้อตั้งแต่แท่ง Oversold แรกจะเปิด โดนปิด แล้วเปิดใหม่หลายรอบก่อนที่การเคลื่อนไหวนั้นจะจบ การเรียกร้องให้ตัดกลับออกมาก่อนแลกราคาเข้าที่ดีที่สุดไปบางส่วน แต่รับประกันว่าอย่างน้อยหนึ่งแท่งของแรงขาขึ้นจริงได้ปรากฏขึ้นแล้วก่อนที่เงินจะถูกวางลงไป

EA ตัวนี้ยังมีจุดยืนอีกอย่างโดยตั้งใจ: ต่างจาก CMF Trend EA ของเว็บนี้ มันมาพร้อม ตัวกรองเทรนด์แบบไม่มีเลย จึงเทรดทั้งสองทางในทุกสภาวะตลาด นั่นไม่ใช่ความหลงลืม — มันคือสิ่งที่ทำให้มันเป็นตัวอย่างอ้างอิงที่สะอาดของแนวคิดกลับตัว และมันก็เป็นจุดอ่อนเชิงโครงสร้างหลักของมันด้วย เทรดเดอร์ที่พบว่ามันสู้กับเทรนด์ต่อเนื่องบ่อยเกินไปมีทางแก้ที่ตรงไปตรงมา: รันบน timeframe ที่สูงขึ้นซึ่งจุดสุดขั้วเกิดยากกว่า ปรับ OversoldLevel/OverboughtLevel ให้แคบเป็น 25/75 หรือเช็ค โครงสร้างตลาด ของคู่เงินนั้นด้วยตัวเอง แล้วเปิด EnableTrading ไว้เฉพาะตอนที่คู่เงินอยู่ในกรอบจริงๆ ไม่ใช่กำลังเป็นเทรนด์

ข้อควรระวัง

ทดสอบบนบัญชี demo ก่อน ในสภาวะตลาดที่ต่างกันและหลายคู่เงิน ก่อนเสี่ยงด้วยเงินจริง — ผล backtest หรือการรัน demo ที่ดีไม่เคยรับประกันผลในอนาคต EA ตัวนี้ขาดทุนในการเทรดแต่ละครั้งได้และจะขาดทุนแน่นอน และในฐานะระบบสวนเทรนด์ที่ไม่มีตัวกรองเทรนด์ มันจะขาดทุนติดกันหลายครั้งระหว่างการเคลื่อนไหวที่แข็งแรงและต่อเนื่อง นั่นคือพฤติกรรมที่คาดหวังได้ของกลยุทธ์นี้ ไม่ใช่ความผิดพลาด การผสมสาม period ของ Ultimate Oscillator ทำให้มันไปถึงจุดสุดขั้วช้ากว่า RSI หรือ Stochastic ซึ่งแปลว่าสัญญาณน้อยลงแต่ก็มาช้ากว่าด้วย พิจารณาจับคู่กับการเช็คทิศทางบน timeframe ที่สูงกว่า — ดู Trend vs Range — แทนการปล่อยให้มันรันโดยไม่กรองผ่านทุกสภาวะตลาด ทั้งไฟล์ MT4 และ MT5 ด้านล่างเป็น source code: เปิดอ่านให้ครบและเข้าใจว่าทุก parameter ทำอะไรกันแน่ ก่อนติด EA นี้บนบัญชีจริง โปรดถือว่าบทเรียนนี้เป็นสื่อการเรียนรู้ทั่วไป ไม่ใช่คำแนะนำการลงทุนเฉพาะบุคคล

ดาวน์โหลด ultimate-oscillator-reversal-ea.mq4

สำหรับ MetaTrader 4 — นี่คือ source code (.mq4) เปิดและตรวจสอบให้ครบถ้วนก่อนใช้งาน

ดาวน์โหลดไฟล์

ดาวน์โหลด ultimate-oscillator-reversal-ea.mq5

สำหรับ MetaTrader 5 — นี่คือ source code (.mq5) เปิดและตรวจสอบให้ครบถ้วนก่อนใช้งาน

ดาวน์โหลดไฟล์

วิธีติดตั้ง

EA ติดตั้งลงโฟลเดอร์ Experts ไม่ใช่ Indicators — เป็นขั้นตอนที่คนพลาดบ่อยที่สุด

MetaTrader 4

  1. ดาวน์โหลดไฟล์ ultimate-oscillator-reversal-ea.mq4 ด้านบน
  2. เปิด MetaTrader 4FileOpen Data Folder
  3. นำไฟล์ไปวางในโฟลเดอร์ MQL4/Experts
  4. รีสตาร์ท MetaTrader 4 จากนั้นลากจากหน้าต่าง Navigator ไปวางบนกราฟ
  5. เปิด AutoTrading (MT4) หรือ Algo Trading (MT5) ใน toolbar — EA จะไม่เปิดออร์เดอร์ใด ๆ ขณะที่ปิดอยู่ แม้จะแนบบนกราฟแล้วก็ตาม
  6. ตรวจสอบและปรับค่า input parameter ใน settings dialog ก่อนยืนยัน

MetaTrader 5

  1. ดาวน์โหลดไฟล์ ultimate-oscillator-reversal-ea.mq5 ด้านบน
  2. เปิด MetaTrader 5FileOpen Data Folder
  3. นำไฟล์ไปวางในโฟลเดอร์ MQL5/Experts
  4. รีสตาร์ท MetaTrader 5 จากนั้นลากจากหน้าต่าง Navigator ไปวางบนกราฟ
  5. เปิด AutoTrading (MT4) หรือ Algo Trading (MT5) ใน toolbar — EA จะไม่เปิดออร์เดอร์ใด ๆ ขณะที่ปิดอยู่ แม้จะแนบบนกราฟแล้วก็ตาม
  6. ตรวจสอบและปรับค่า input parameter ใน settings dialog ก่อนยืนยัน

ทั้งสองไฟล์เป็นซอร์สโค้ด เปิดอ่านใน MetaEditor ก่อนนำไปรันกับบัญชีใด ๆ เสมอ

บทเรียนที่เกี่ยวข้อง

อินดิเคเตอร์

อินดิเคเตอร์: Ultimate Oscillator คืออะไร? สาม period ในค่าเดียว

Ultimate Oscillator ของ Larry Williams ผสมแรงซื้อจากสามช่วง look-back เข้าเป็นเส้นเดียวในช่วง 0-100 อย่างไร ทำไมมันถึงไปถึงจุดสุดขั้วน้อยกว่า RSI หรือ Stochastic มาก และ setup แบบ divergence ดั้งเดิม พร้อมไฟล์แจ้งเตือน MT4/MT5 พร้อมใช้งาน

ดาวน์โหลดได้ · MetaTrader 4 / MetaTrader 5
อินดิเคเตอร์

อินดิเคเตอร์: ATR คืออะไร? ตั้ง Stop Loss ให้เข้ากับความผันผวน

วัดว่าราคาเคลื่อนไหวจริงมากแค่ไหน แล้วนำไปใช้กำหนด Stop Loss และขนาดโพซิชัน พร้อมไฟล์ MT4/MT5

ดาวน์โหลดได้ · MetaTrader 4 / MetaTrader 5
พื้นฐาน

พื้นฐานการบริหารความเสี่ยง: ขนาดล็อต, Stop Loss, Risk:Reward

หลักการบริหารความเสี่ยงที่ช่วยให้อยู่รอดในตลาดได้ในระยะยาว ก่อนไปศึกษาเรื่องอินดิเคเตอร์