LBX botbas x LBXEA NEWS TRADING CLASS
Volatility Breakout · Risk First · MT5
LIVE CLASS · botbas x LBX

ใช้ EA เทรดข่าว
Volatility Breakout
แบบไม่ล้างพอร์ต

เรียนรู้แนวคิด “ไม่ทายข่าว แต่รอให้ราคาแสดงแรงจริง” แล้วให้ EA จัดการจังหวะ Breakout ตามกติกา พร้อมระบบจำกัดความเสียหายที่กำหนดไว้ก่อนข่าวออก

คำว่า “ไม่ล้างพอร์ต” ในบทเรียนนี้หมายถึงการออกแบบระบบเพื่อจำกัดความเสียหาย ไม่ใช่การรับประกันว่าจะไม่ขาดทุนหรือไม่เกิดเหตุการณ์ผิดปกติ
01รอ Breakout ไม่ทายทิศ
02มี Hard Stop / Time Stop
03ไม่ Martingale
04จำกัด Risk ต่อข่าว
โค้ชบาส · botbas x LBX โค้ชบาส
Program Trading Education จาก “ความผันผวน” ให้เป็น “กติกา”

โฟกัสที่ระบบเข้า–ออกและความเสี่ยง ไม่ใช่การเดาว่าข่าวจะออกดีหรือแย่

01 · Volatility Breakout คืออะไร?

ช่วงก่อนข่าวสำคัญ ตลาดมักบีบตัวหรือเคลื่อนไหวในกรอบ ก่อนจะเกิดการขยายตัวของความผันผวนเมื่อข้อมูลใหม่เข้าสู่ตลาด แนวคิด Volatility Breakout คือให้ระบบรอจนราคาทะลุกรอบที่กำหนด แล้วค่อยตัดสินใจตามกติกา

พื้นฐานก่อนใช้ EA

ภาพจำลอง: Compression → Expansion → Breakout

PRE-NEWS RANGE NEWS BREAKOUT

หัวใจของแนวคิด

  • ไม่ทำนายข่าว: ระบบไม่จำเป็นต้องรู้ล่วงหน้าว่าตัวเลขจะดีหรือแย่
  • รอราคา Confirm: ให้ราคาออกจากกรอบก่อนจึงเริ่มทำงาน
  • มี Breakout Buffer: ลดการโดน Trigger จาก Noise ใกล้ขอบกรอบ
  • เปิดเพียงฝั่งเดียว: เมื่อฝั่งหนึ่ง Trigger อีกฝั่งต้องถูกยกเลิกตาม Policy
  • กำหนดจุดยอมแพ้ก่อนเข้า: Stop Loss, Time Stop และ Max Loss ต้องกำหนดล่วงหน้า
ภาพประกอบพื้นฐาน Volatility Breakout
ภาพประกอบบทที่ 1 — ตัวอย่างการเคลื่อนไหวก่อนข่าว, จุด Breakout และข่าวสำคัญที่มักทำให้ Volatility เพิ่มขึ้น

02 · ทำไม EA เทรดข่าวถึง “ล้างพอร์ต” ได้?

ปัญหาหลักไม่ได้มีแค่ทิศทางผิด แต่คือสภาพการ Execute เปลี่ยนรวดเร็วในวินาทีข่าวออก ทำให้ระบบที่ออกแบบสำหรับตลาดปกติอาจรับความเสี่ยงมากกว่าที่คิด

Know the Failure Modes

Spread Widening

Bid/Ask กว้างขึ้นจนระยะเข้าและ Stop ที่เคยพอดีอาจไม่เหมาะสม หรือคำสั่งถูกเปิดด้วยต้นทุนสูงกว่าปกติ

Slippage / Gap

คำสั่ง Stop หรือ Market อาจ Fill ต่างจากราคาที่เห็น โดยเฉพาะช่วงที่ Liquidity หายหรือราคาเคลื่อนหลายจุดใน Tick เดียว

Whipsaw

ราคา Breakout ด้านหนึ่งก่อนกลับแรงอีกด้าน ทำให้ระบบที่ไม่มี Cancel-Opposite และ Stop ชัดเจนเสียหายซ้ำได้

Double Trigger

ถ้าคำสั่งสองฝั่งไม่ได้จัดการแบบ Atomic อาจเปิดทั้ง Buy และ Sell ในช่วงความผันผวนสูงจนกลายเป็น Exposure ที่ไม่ได้ตั้งใจ

Lot ใหญ่เกิน

การคิด Lot จาก “อยากได้กำไร” แทนการคิดจาก “เงินที่ยอมเสียได้” ทำให้เหตุการณ์เดียวสร้าง Drawdown รุนแรง

Martingale หลังแพ้

ช่วงข่าวไม่ใช่เวลาที่เหมาะกับการไล่ Lot เพื่อเอาคืน เพราะความผันผวนและต้นทุน Execute ยังอาจสูงต่อเนื่อง

ตัวอย่าง Breakout Whipsaw และ Trailing Stop ช่วงข่าว
ภาพประกอบบทที่ 2 — เปรียบเทียบ Breakout, Whipsaw และการจัดการหลังเข้า เพื่อให้เห็นว่าช่วงข่าวไม่ได้มีแต่กราฟที่วิ่งสวยเสมอไป
กติกาสำคัญของคลาสนี้ ระบบตัวอย่างจะไม่ใช้ Martingale, ไม่เพิ่ม Lot เพื่อแก้ไม้, ไม่เปิด Sequence ไม่จำกัด และไม่ปล่อย Order ไม่มี Stop โดยตั้งใจให้ Risk ถูกกำหนดก่อนสัญญาณเกิด

03 · โครงสร้างระบบ: ก่อนข่าว → ตอนข่าว → หลังข่าว

EA ที่ดีควรมี State ชัดเจน ไม่ใช่เปิดทิ้งไว้ด้วยกติกาเดียวตลอดเวลา เพราะความเสี่ยงของตลาดเปลี่ยนก่อนและหลัง Event

State Machine
PREPARE

ตรวจ Symbol, เวลา Server, ข่าว, Spread ปกติ และ Risk Budget

ARM

กำหนดกรอบราคา, Breakout Buffer และเงื่อนไขอนุญาตให้ตั้งคำสั่ง

TRIGGER

ราคา Breakout → เปิด 1 ฝั่ง และ Cancel ฝั่งตรงข้ามทันที

MANAGE

ใช้ Hard Stop, TP/Trailing ตาม Policy และตรวจ Max Slippage / Exposure

COOLDOWN

ยกเลิกคำสั่งค้าง หยุดรับ Signal ใหม่ และรอ Spread/Volatility กลับปกติ

โครงสร้างการทำงาน EA ก่อนข่าว ระหว่างข่าว และหลังข่าว
ภาพประกอบบทที่ 3 — โครงสร้าง EA แบบ 3 State: ก่อนข่าว, ระหว่างข่าว และหลังข่าว เพื่อให้ผู้เรียนเห็นลำดับการทำงานชัดเจน
สิ่งที่ EA ควรรู้ก่อนวางคำสั่งข่าวอะไร, Currency ไหน, เวลากี่โมงตาม Server, Spread ณ ตอนนี้, กรอบราคาเท่าไร, Stop ห่างเท่าไร และ Risk Budget ของรอบนี้เหลือเท่าไร
สิ่งที่ห้ามพึ่งระหว่างข่าวการคลิกแก้มือแบบ Manual ที่ไม่มีแผน, การเพิ่ม Lot เพราะกลัวพลาด, การย้าย Stop หนีตลาด และการปล่อย Pending Order ค้างหลัง News Window หมด

04 · กติกาเข้า Volatility Breakout

ตัวอย่างนี้เป็น Framework เพื่อการเรียน ไม่ใช่ค่าตายตัวสำหรับทุก Symbol หรือ Broker ผู้ใช้ต้องทดสอบค่าที่เหมาะกับข้อมูลจริงของตนเอง

Entry Framework
ตัวอย่างการตั้งค่า EA และจังหวะเข้า Volatility Breakout
ภาพประกอบบทที่ 4 — ตัวอย่าง Inputs ของ EA, กราฟช่วงข่าว และตัวอย่างผลการเทรด เพื่อเชื่อมโยงค่าตั้งกับพฤติกรรมบนกราฟ
องค์ประกอบหน้าที่สิ่งที่ผู้เรียนต้องสังเกต
Pre-News Rangeกำหนด High / Low ก่อนข่าวกรอบแคบเกินไปอาจ Trigger จาก Noise; กว้างเกินไปอาจเข้าไกลหลังราคาไปแล้ว
Breakout Bufferเพิ่มระยะเหนือ High / ใต้ Lowช่วยลด False Trigger แต่ทำให้ราคา Entry ไกลขึ้น จึงต้องทดสอบสมดุล
Max Spreadบล็อก Entry หากต้นทุน Execute สูงผิดปกติต้องวัดเป็น Points ตาม Digits ของ Symbol และโบรกเกอร์จริง
One-Cancels-OtherTrigger ฝั่งหนึ่งแล้ว Cancel อีกฝั่งลดโอกาส Double Trigger แต่ต้องทดสอบความเร็วและ Fail-safe
Hard Stop Lossจำกัด Risk ของ TradeStop คือคำสั่งออก ไม่ใช่การรับประกันราคา Fill ในช่วง Gap/Slippage
Time Stopปิดเมื่อ Breakout ไม่เดินภายในเวลาที่กำหนดช่วยลดการติดอยู่ในตลาดหลังแรงข่าวหมดและกลับเข้าสู่ Noise

05 · Risk System: เป้าหมายคือ “เสียได้ แต่ไม่เสียจนระบบพัง”

ระบบ News Trading ที่ดีต้องเริ่มจากจำนวนเงินสูงสุดที่ยอมเสียได้ก่อนคำนวณ Lot ไม่ใช่เริ่มจากกำไรที่ต้องการ

Risk First

Risk ต่อ Event

กำหนด % สูงสุดต่อข่าวหนึ่งครั้ง ตัวอย่างเพื่อการศึกษาอาจเริ่มจากระดับต่ำและเพิ่มหลังมีข้อมูลทดสอบเพียงพอ

Max Daily Loss

เมื่อขาดทุนรวมถึง Limit ให้ EA Lock ตัวเอง ไม่เปิดข่าวถัดไปเพื่อไล่คืน

Max Trades

หนึ่งข่าว = หนึ่ง Setup ที่ชัดเจน ไม่เปิดซ้ำไม่จำกัดเพราะราคาสวิงไปมา

No Martingale

ไม้แพ้ไม่ใช่เหตุผลให้เพิ่ม Lot ไม้ถัดไป ทุก Entry ใช้ Risk Policy เดิมหรือเล็กลง

ภาพประกอบการบริหารความเสี่ยงแบบไม่ล้างพอร์ต
ภาพประกอบบทที่ 5 — หลัก Risk ต่อครั้ง, Hard Stop, ไม่ใช้ Martingale, จำกัดเวลาถือ และกระจายความเสี่ยง
ตัวอย่าง Framework เพื่อการเรียนรู้ Risk ต่อข่าว 0.25–1.00% ของ Equity, หยุดหลังแพ้ติดต่อกัน 2 ครั้ง, Max Daily Loss 1–2%, เปิดได้ครั้งละ 1 Position และไม่มีการเพิ่ม Lot เพื่อแก้ไม้ — ตัวเลขทั้งหมดเป็น “ตัวอย่าง” ต้องทดสอบกับ Symbol, Broker และพฤติกรรมระบบจริงก่อนใช้งาน

06 · Case Study จำลอง: ข่าวแรงแต่ระบบไม่ไล่ราคา

ใช้ตัวอย่างเชิงกระบวนการเพื่อให้ผู้เรียนเห็นว่า “ระบบรอด” มาจากการจำกัดทางเลือกที่ผิด ไม่ใช่จากการทายข่าวถูกทุกครั้ง

Simulation

สถานการณ์ A · Breakout ผ่านเงื่อนไข

  • Spread ยังไม่เกิน Limit
  • ราคาออกจากกรอบและผ่าน Breakout Buffer
  • Trigger ฝั่ง Buy → Cancel Sell Pending
  • ติด Hard Stop ทันที
  • ราคาวิ่งต่อ → จัดการด้วย TP/Trailing ตาม Policy

สถานการณ์ B · ข่าวแรงเกินกรอบความเสี่ยง

  • Spread พุ่งเกิน Limit หรือราคา Gap ข้าม Entry
  • EA ปฏิเสธ Entry แทนการไล่ซื้อ/ขาย
  • ไม่มีการเพิ่ม Lot ชดเชย “โอกาสที่พลาด”
  • เข้าสู่ Cooldown และรอ Event ถัดไป
  • การ “ไม่เทรด” ถือเป็นผลลัพธ์ที่ถูกต้องได้
ตัวอย่าง NFP CPI Whipsaw และ Trailing Stop
ภาพประกอบบทที่ 6 — ตัวอย่างสถานการณ์ NFP, CPI, Whipsaw และ Trailing Stop สำหรับใช้ฝึกอ่านพฤติกรรมระบบย้อนหลัง

ภาพจำลอง Execution Guardrail

PRE-NEWS RANGE BUY STOP + BUFFER SELL STOP + BUFFER CANCEL OPPOSITE

07 · ตัวอย่างคำนวณ Risk Budget ก่อนข่าว

เครื่องมือนี้ใช้สอนแนวคิดการกำหนด Lot จากจำนวนเงินที่ยอมเสียได้ ผู้ใช้ต้องใส่ “มูลค่า 1 Point ต่อ 1 Lot” ให้ตรงกับ Symbol และบัญชีของตนเอง

Educational Calculator

สูตรตัวอย่าง: Risk Budget = Equity × Risk% และ Lot ≈ Risk Budget ÷ (Stop Points × Point Value ต่อ 1 Lot)

Risk Budget สูงสุด$50.00
Lot โดยประมาณ0.17 lot
คำเตือนตรวจ Contract Size / Tick Value / Min Lot ของโบรกเกอร์จริง

08 · วิธีอ่าน Dashboard ของ News_Volatility Breakout_EA

Dashboard คือหน้าสรุปสถานะของ EA แบบ Real-time ผู้เรียนควรอ่านจากบนลงล่างเพื่อดูว่า EA อยู่ขั้นไหนของกระบวนการข่าว, กำลังวาง Pending หรือยัง, มี Position เปิดหรือไม่ และ Risk Guard ยังอนุญาตให้ระบบทำงานต่อหรือไม่

EA Dashboard Guide
Dashboard News Volatility Breakout EA บน MT5
ตัวอย่าง Dashboard จาก EA จริง — ภาพนี้อยู่ในสถานะ WAITING ยังไม่ถึงช่วง PREPARE จึงยังไม่มี Range, Buy L1, Sell L1 หรือ Lot ที่คำนวณแล้ว
เขียว = ผ่าน / พร้อม / ปกติ น้ำเงิน = ข้อมูลระบบ / Trailing ม่วง = Risk / Policy เหลือง = ระวัง / Event Active แดง = Block / Lock / ผิดเงื่อนไข

ตีความภาพตัวอย่างนี้

  • STATE = WAITING — EA ยังรอเข้าสู่ช่วงเตรียมก่อนข่าว
  • NEWS = NFP | 2026.10.02 19:30 — ข่าวและเวลาที่ตั้งไว้ตาม Server Time ของโบรกเกอร์
  • COUNTDOWN — เวลาที่เหลือจนถึงเวลาข่าว แสดงเป็นวินาที
  • SYMBOL = XAUUSD — EA ทำงานกับกราฟ XAUUSD ที่ติดตั้งอยู่
  • ACCOUNT = HEDGING — รองรับหลาย Position แยกกัน เหมาะกับ Ladder + Trailing รายไม้
  • RANGE H/L = WAIT RANGE — ยังไม่ถึงช่วงที่ EA Finalize กรอบราคาก่อนข่าว
  • SPREAD = 27.0 pts — Spread ปัจจุบันยังถูกแสดงเพื่อให้ตรวจเทียบกับ Max Spread Input
  • LADDER = 3 levels x 100 pts — เตรียม Pending สูงสุด 3 ระดับต่อฝั่ง โดยแต่ละระดับห่างกัน 100 points
  • RISK / EVENT = 0.50% TOTAL LADDER — Risk 0.50% คือ Risk Budget ของ Ladder ทั้งชุดเมื่อใช้โหมด Risk Percent
  • GUARD = READY — ยังไม่มี Daily Lock หรือเงื่อนไขป้องกันที่ Block ระบบ
ช่องบน Dashboard ตัวอย่าง ความหมาย ผู้เรียนควรดูอะไร
STATE WAITING State Machine ปัจจุบันของ EA เช่น WAITING, PREPARE, ARMED, MANAGE, COOLDOWN, DONE หรือ LOCKED ใช้ดูว่า EA อยู่ขั้นไหนของกระบวนการข่าว ถ้ายัง WAITING จะยังไม่วาง Pending
NEWS NFP | 2026.10.02 19:30 ชื่อข่าวและเวลาข่าวที่กำหนดใน InpNewsTimeServer ต้องตรวจให้ตรงกับ Broker Server Time ไม่ใช่เวลาไทยโดยอัตโนมัติ
COUNTDOWN 620593 sec จำนวนวินาทีที่เหลือก่อนถึงข่าว ถ้าข่าวผ่านไปแล้วจะแสดงเวลาหลังข่าวในรูปแบบ +วินาที ช่วยตรวจว่าตั้งเวลาข่าวผิดวัน/ผิด Timezone หรือไม่
SYMBOL XAUUSD Symbol ของกราฟที่ EA ถูกติดตั้ง Input เรื่อง Points, Spread, Buffer, Stop และ Spacing ต้องเหมาะกับ Symbol นี้
ACCOUNT HEDGING ประเภทบัญชี MT5 ปัจจุบัน ถ้าใช้ Multi-Level และต้องการ Trailing แยกแต่ละไม้ ควรเป็น HEDGING
RANGE H / L WAIT RANGE High / Low ของกรอบก่อนข่าวจากข้อมูล M1 ตามช่วง InpRangeMinutesBefore เมื่อเข้าสู่ ARM จะเห็นระดับราคาจริงแทน WAIT RANGE
SPREAD 27.0 pts Spread ปัจจุบันเป็น Points ถ้าเกิน InpMaxSpreadPoints EA จะไม่ ARM ชุด Pending ใหม่
BUY L1 - ราคา Buy Stop ระดับแรก = Range High + Breakout Buffer เครื่องหมาย “-” หมายถึงยังไม่ได้สร้าง Trade Plan
SELL L1 - ราคา Sell Stop ระดับแรก = Range Low - Breakout Buffer เมื่อ ARM แล้ว ควรตรวจว่าระยะจากราคาปัจจุบันสมเหตุสมผลและไม่ใกล้ตลาดเกินไป
LADDER 3 levels x 100 pts จำนวนระดับ Pending ต่อฝั่ง × ระยะห่างระหว่างแต่ละ Level ยิ่งจำนวน Level มาก Exposure อาจเพิ่มเร็ว จึงต้องใช้ Risk Budget รวมเป็นตัวควบคุม
PENDING B / S 0 / 0 จำนวน Buy Pending / Sell Pending ที่ยังค้างอยู่ ก่อน Trigger อาจเห็น 3 / 3; เมื่อ BUY Trigger ควรเห็น Sell Pending ถูก OCO ยกเลิก
LOT / ORDER - Lot ของ Pending แต่ละไม้ที่ EA คำนวณ โหมด Risk Percent จะคำนวณ Lot จาก Risk รวมของ Ladder ทั้งชุด ไม่ใช่ Risk % ต่อไม้
POSITIONS 0 จำนวน Position ของ EA ที่เปิดอยู่บน Symbol นี้ บัญชี HEDGING อาจมี 1–3 Position หาก Ladder ฝั่งเดียว Trigger หลายระดับ
TRAILING START 180 | DIST 100 เริ่ม Trailing เมื่อกำไรของไม้ถึง 180 points และวาง SL ตามหลังราคาประมาณ 100 points แต่ละ Position ในบัญชี HEDGING จะคำนวณ Trailing จากราคาเปิดของตัวเอง
FLOAT P/L 0.00 USD กำไร/ขาดทุนลอยตัวของ Position ที่ EA เปิดอยู่ ใช้ดูสถานะ Event ปัจจุบันร่วมกับ Emergency Event Loss Guard
DAILY P/L 0.00 USD ผลรวมกำไร/ขาดทุนของ EA วันนี้ ทั้ง Realized + Floating ตาม Magic/Symbol ที่ระบบติดตาม ถ้าลดถึง InpMaxDailyLossPercent ระบบจะเข้า DAILY LOCK
RISK / EVENT 0.50% TOTAL LADDER Risk Budget ของ Event นี้ เมื่อใช้ Risk Percent Mode จะเฉลี่ย Lot ต่อ Order เพื่อควบคุม Risk รวมของ Ladder อย่าอ่านว่า 0.50% ต่อไม้ — ในโหมดนี้คือ 0.50% ของชุดทั้งหมดตามโมเดลการคำนวณของ EA
GUARD READY สถานะ Safety Guard เช่น READY, EVENT ACTIVE/USED หรือ DAILY LOCK ถ้าเป็น LOCK ต้องหาสาเหตุก่อนเปิดรอบใหม่ ไม่ควรแก้ด้วยการเพิ่ม Lot หรือปิดระบบป้องกันทันที

สถานะ STATE ทั้งหมด

WAITING

ยังไม่ถึงช่วงเตรียมก่อนข่าว EA แสดงข้อมูลแต่ยังไม่วาง Pending

PREPARE

เข้าสู่ช่วงเตรียมระบบ ตรวจ Spread, Range, Risk และความพร้อมก่อน ARM

ARMED

วาง Buy Stop / Sell Stop Ladder แล้ว กำลังรอราคา Trigger

MANAGE

มี Position เปิดแล้ว EA จัดการ OCO, SL, Break-even, Trailing, Time Stop และ Emergency Guard

COOLDOWN

หมด Entry Window หรือจบ Trade แล้ว กำลังพักระบบ ไม่รับ Setup ใหม่ในข่าวเดียวกัน

DONE

จบกระบวนการ Event นี้แล้ว

LOCKED

Safety Guard สั่งล็อก เช่น Daily Loss หรือเหตุผิดปกติที่กำหนดไว้

ลำดับการอ่าน Dashboard ก่อนข่าว

ดู NEWS + COUNTDOWN

ยืนยันชื่อข่าว วัน เวลา และ Server Time ก่อนทุกครั้ง

ดู ACCOUNT + SYMBOL

ตรวจว่าใช้ HEDGING เมื่อต้องการหลาย Position และ Input Points เหมาะกับ Symbol

ดู SPREAD

หาก Spread กว้างเกิน Filter ไม่ควรพยายามฝืนให้ EA ARM

ดู RANGE H/L + BUY/SELL L1

เมื่อถึงช่วง ARM ต้องเห็น Trade Plan และระดับ Pending ชัดเจน

ดู LADDER + PENDING B/S

ยืนยันจำนวนไม้และ OCO ว่าฝั่งตรงข้ามหายหลัง Trigger

ดู LOT / ORDER + RISK / EVENT

ตรวจ Exposure ก่อนข่าว โดยเน้น Risk รวมของ Event มากกว่าจำนวน Lot อย่างเดียว

ดู POSITIONS + TRAILING + P/L

หลัง Trigger ใช้ติดตามจำนวนไม้, Trailing และ Drawdown ของรอบข่าว

ดู GUARD เป็นด่านสุดท้าย

READY = Safety Guard ยังไม่ Block; LOCK = ต้องหยุดและหาสาเหตุ

ข้อสำคัญสำหรับผู้เรียน Dashboard เป็น “หน้าสถานะและการตรวจสอบ” ไม่ใช่เครื่องรับประกันว่า Trade จะปลอดภัย ช่วงข่าวยังสามารถเกิด Gap, Slippage และ Fill ต่างจากราคาที่วางไว้ได้ ดังนั้น Hard Stop, Max Daily Loss, Emergency Event Loss และการทดสอบกับ Broker จริงยังจำเป็น

09 · การทำงานของ News_Volatility Breakout_EA แบบ Step-by-Step

EA เวอร์ชัน Multi-Level Ladder ใช้ State Machine คุมกระบวนการทั้งหมด ตั้งแต่รอข่าว สร้างกรอบ วาง Pending หลายระดับ จัดการ OCO ไปจนถึง Trailing และ Safety Guard โดยหลักสำคัญคือ “หนึ่ง Event = หนึ่ง Risk Budget” และไม่มี Martingale

EA Workflow
WAITING

ยังไม่ถึงช่วงเตรียมก่อนข่าว แสดง Dashboard และ Countdown แต่ยังไม่วางคำสั่ง

PREPARE

เข้าสู่ช่วงก่อนข่าวตาม InpPrepareMinutesBefore และรอ Finalize Range ตอนถึง ARM

ARMED

สร้าง Pre-News Range, คำนวณ Buy/Sell Ladder, Lot, SL/TP แล้ววาง Pending

MANAGE

มี Position เปิดแล้ว จัดการ OCO, Break-even, Trailing, Time Stop และ Emergency Guard

COOLDOWN

หมด Entry Window หรือจบ Trade แล้ว ลบ Pending ที่เหลือและพักระบบ

DONE

Event นี้จบแล้ว ไม่สร้าง Ladder ใหม่ใน Event เดิมเมื่อใช้ One Trade per Event

LOCKED

Safety Guard สั่งหยุด เช่น Daily Loss Limit หรือ Opposite-Side Double Trigger

1) ก่อนข่าว: สร้างกรอบและ Trade Plan

  • EA รับเวลาข่าวจาก InpNewsTimeServer ซึ่งต้องเป็นเวลา Server ของโบรกเกอร์
  • เมื่อเข้า ARM จะอ่านข้อมูล M1 ย้อนหลังตาม InpRangeMinutesBefore เพื่อหา Range High / Low
  • Buy L1 = Range High + Breakout Buffer
  • Sell L1 = Range Low - Breakout Buffer
  • Level ถัดไปเพิ่ม/ลดตาม InpPendingSpacingPoints
  • ถ้าราคาวิ่งข้าม L1 ไปแล้วก่อนวางคำสั่ง EA จะไม่ไล่ราคา

2) วาง Ladder สองฝั่ง

  • InpPendingLevelsPerSide = 3 หมายถึง Buy Stop 3 ระดับ + Sell Stop 3 ระดับ
  • แต่ละ Level มี Entry, SL และ TP ของตัวเอง
  • ถ้า Broker ไม่รองรับ Pending แบบมี Expiration โค้ดจะลอง GTC แล้วให้ EA ลบเองเมื่อหมด Entry Window
  • ถ้า InpRequireBothPending = true และวาง Ladder ไม่ครบทั้งสองฝั่ง EA จะลบทั้งหมดแทนการปล่อย Setup ที่ไม่สมบูรณ์

3) เมื่อไม้แรก Trigger: OCO ตาม “ทิศทาง”

  • ถ้า BUY ฝั่งใดฝั่งหนึ่งเปิดก่อน EA จะลบ Sell Pending ทั้งชุด
  • ถ้า SELL เปิดก่อน EA จะลบ Buy Pending ทั้งชุด
  • ถ้า InpKeepSameSideLadderAfterTrigger = true Pending ฝั่งเดียวกันที่เหลือยังทำงานต่อได้จนหมด Entry Window
  • ถ้าเป็น false ไม้แรก Trigger แล้วลบ Pending ที่เหลือทั้งหมด

4) Risk Percent คิดเป็น “TOTAL LADDER”

  • โหมด NVB_RISK_PERCENT จะรวม Risk ของทุก Level ในฝั่ง BUY และ SELL
  • EA ใช้ฝั่งที่มี Risk รวมสูงกว่าเป็นฐานคำนวณ Lot
  • ดังนั้น 0.50% หมายถึง Budget โดยประมาณของ Ladder ฝั่งที่แย่ที่สุด ถ้าทุกไม้ถูกเปิดและไปชน SL
  • โหมด Fixed Lot แตกต่างกัน: InpFixedLot คือ Lot “ต่อ Order”

5) Break-even และ Trailing แยกทุกไม้

  • บัญชี HEDGING จะเก็บ Position ของแต่ละ Level แยกกัน
  • แต่ละ Position คำนวณกำไรจากราคาเปิดของตัวเอง
  • เมื่อถึง Break-even Trigger จะเลื่อน SL ตาม Lock Points ของไม้นั้น
  • เมื่อถึง Trailing Start จะตามหลังราคาด้วย Trailing Distance
  • จะ Modify SL ใหม่เมื่อดีขึ้นอย่างน้อย Trailing Step เพื่อลดการส่งคำสั่งถี่เกินไป

6) การปิดและ Safety Guard

  • Time Stop: ใช้เวลาเปิดของ Position ที่เก่าสุดเป็นฐาน ถ้าครบเวลาจะปิด Position ของ EA ทั้งหมด
  • Emergency Event Loss: อ้างอิง Account Equity ตอน ARM แล้วปิดเมื่อ Equity ลดถึง % ที่กำหนด
  • Daily Loss Lock: ใช้ Realized + Floating ของ Magic/Symbol นี้เทียบกับฐาน Balance ต้นวัน
  • Opposite-Side Protection: ถ้าพบทั้ง BUY และ SELL Position พร้อมกันจาก Race Condition สามารถปิดทั้งหมดและ LOCK ได้

ตัวอย่าง Ladder 3 ไม้

Range High
   │
   ├─ +Buffer        → BUY L1
   ├─ +Spacing       → BUY L2
   └─ +Spacing       → BUY L3

Range Low
   │
   ├─ -Buffer        → SELL L1
   ├─ -Spacing       → SELL L2
   └─ -Spacing       → SELL L3

ถ้า BUY L1 Trigger:
SELL L1/L2/L3 → OCO CANCEL
BUY L2/L3     → ยังรอได้จน Entry Window หมด (ถ้า KeepSameSide = true)
ข้อควรรู้เรื่อง HEDGING กับ NETTING ถ้าต้องการหลาย Position และ Trailing แยกทุก Order จริง ๆ ควรใช้บัญชี HEDGING เพราะบัญชี NETTING จะรวมการเปิดหลายไม้ใน Symbol เดียวเป็น Position เดียว โค้ดจึงมี InpRequireHedgingForMultiOrder เพื่อป้องกันการใช้งานผิดรูปแบบ

10 · อธิบาย Input ทุกค่าของ EA

ตารางด้านล่างอ้างอิง Input จากโค้ด News_Volatility Breakout_EA v1.10 Ladder โดยตรง ค่า Default เป็นค่าเริ่มต้นของโค้ด ไม่ใช่ค่าที่เหมาะกับทุก Symbol หรือทุก Broker

All Inputs
ก่อนอ่าน Input: Points ไม่เท่ากับ Pips เสมอไป ค่าที่ลงท้ายด้วย Points ใน EA ใช้หน่วย _Point ของ Symbol ใน MT5 เช่น XAUUSD แต่ละ Broker อาจมี Digits ต่างกัน จึงต้องตรวจ Symbol Specification ก่อนใช้ Buffer, Spacing, SL, Break-even หรือ Trailing เดียวกันข้าม Broker

Group 1 · News Event

กำหนดว่า Event คืออะไร เริ่มเตรียมเมื่อไร วาง Pending เมื่อไร และหยุดรับ Entry เมื่อไร

InputDefaultความหมายผลต่อการทำงาน
InpNewsNameNFPชื่อข่าวสำหรับ Dashboard, Log และข้อความ Alertเป็นข้อความแสดงผลเท่านั้น ไม่ได้ดึง Economic Calendar อัตโนมัติ
InpNewsTimeServer2026.09.25 19:30วันและเวลาข่าวตาม Broker Server Timeใช้คำนวณ PREPARE, ARM, Entry Deadline และ Cooldown ทั้งหมด ต้องตั้ง Timezone ให้ถูก
InpPrepareMinutesBefore15เริ่มสถานะ PREPARE ก่อนข่าวกี่นาทีช่วงนี้ EA ยังไม่วาง Pending แต่เข้าสู่ช่วงเตรียมระบบ
InpArmSecondsBefore5เริ่มวาง Pending ก่อนข่าวกี่วินาทีเมื่อถึง ARM จะสร้าง Range/Trade Plan และพยายามวาง Ladder
InpMaxEntrySecondsAfter10อนุญาต Pending ทำงานต่ออีกกี่วินาทีหลังข่าวเลยเวลานี้ EA จะลบ Pending ที่ยังไม่ Trigger
InpCooldownMinutes15ช่วงพักหลังข่าวไม่สร้าง Setup ใหม่ของ Event เดิมในช่วง Cooldown

Group 2 · Pre-News Range / Breakout

กำหนดกรอบก่อนข่าว ตำแหน่ง Pending จำนวนไม้ ระยะห่าง และเงื่อนไข Execution

InputDefaultความหมายผลต่อการทำงาน
InpRangeMinutesBefore15จำนวน M1 ก่อนข่าวที่ใช้หา Range High / LowRange นี้เป็นฐานของ BUY L1 และ SELL L1
InpBreakoutBufferPoints50ระยะเพิ่มจาก Range High / ลดจาก Range Low สำหรับ Level แรกช่วยไม่ให้ Trigger ใกล้ขอบกรอบเกินไป แต่ Buffer มากเกินไปทำให้ Entry ไกลขึ้น
InpPendingLevelsPerSide3จำนวน Buy Stop และ Sell Stop ต่อฝั่ง3 = Buy 3 ไม้ + Sell 3 ไม้; โค้ดจำกัด Input สูงสุด 10 Levels
InpPendingSpacingPoints100ระยะระหว่าง LevelBUY ระดับถัดไปสูงขึ้นทีละ Spacing; SELL ระดับถัดไปต่ำลงทีละ Spacing
InpKeepSameSideLadderAfterTriggertrueหลังไม้แรก Trigger จะคง Pending ฝั่งเดียวกันไว้หรือไม่true = ยกเลิกเฉพาะฝั่งตรงข้าม; false = ลบ Pending ที่เหลือทั้งหมด
InpRequireHedgingForMultiOrdertrueบังคับบัญชี HEDGING เมื่อใช้หลาย Levelถ้า Levels > 1 และบัญชีไม่ใช่ Hedging EA จะ Init ไม่ผ่านเมื่อค่านี้เป็น true
InpMaxSpreadPoints40Spread สูงสุดที่ยอมรับก่อน ARMถ้า Spread สูงกว่าค่านี้ EA จะไม่วาง Ladder; 0 = ปิด Filter
InpMaxDeviationPoints30Deviation ที่ส่งให้ระบบ Trade ของ MT5ใช้กับคำสั่งจัดการ Position/Order เช่น Close/Modify ตามกลไก CTrade
InpRequireBothPendingtrueต้องวาง Ladder ได้ครบทั้ง BUY และ SELL หรือไม่true = ถ้าวางไม่ครบตามจำนวน Levels ทั้งสองฝั่ง จะลบทั้งหมดเพื่อไม่ใช้ Setup ครึ่งชุด

Group 3 · Money Management

กำหนด Lot และ Risk Guard ของ Event/วัน

InputDefaultความหมายผลต่อการทำงาน
InpLotModeNVB_RISK_PERCENTเลือก NVB_FIXED_LOT หรือ NVB_RISK_PERCENTFixed = Lot ต่อ Order; Risk Percent = คำนวณ Lot เพื่อควบคุม Risk รวม Ladder ฝั่งที่เลวร้ายกว่า
InpFixedLot0.10Lot ต่อ Order เมื่อใช้ Fixed Lotถ้า 3 Levels เปิดครบ = 0.10 × 3 = 0.30 lot ฝั่งนั้น
InpRiskPercent0.50%Risk Budget ต่อ Event จาก Account Equityในโหมด Risk Percent EA รวม Risk ของทุก Level และใช้ Risk ฝั่งที่สูงกว่าเป็นฐานหา Lot ต่อ Order
InpMaxLot5.00เพดาน Lot ต่อ Orderไม่ใช่เพดาน Exposure รวมของทุก Position
InpMaxDailyLossPercent2.00%Daily Loss LimitEA รวม Realized + Floating ของ Magic/Symbol นี้ ถ้าถึง Limit จะลบ Pending, ปิด Position และเข้าสู่ DAILY LOCK; 0 = ปิด
InpEmergencyEventLossPercent1.50%Emergency Equity Stop ของ Eventใช้ Account Equity ตอน ARM เป็นฐาน หาก Equity ทั้งบัญชีลดถึง % นี้จะปิด Position ของ EA; Position/EA อื่นในบัญชีจึงมีผลต่อ Guard นี้ด้วย

ตัวอย่าง Risk Percent

Equity = $10,000
InpRiskPercent = 0.50%
Risk Budget ≈ $50

Levels = 3
EA จะคำนวณ Lot/Order โดยสมมติฝั่งที่มี Risk รวมสูงกว่า
และทุก Level ของฝั่งนั้นอาจถูกเปิดแล้วไปชน SL

ดังนั้น 0.50% = TOTAL LADDER โดยประมาณ
ไม่ใช่ 0.50% × 3 ไม้

Group 4 · Stop Loss

กำหนดระยะ Hard Stop ของแต่ละ Pending/Position

InputDefaultความหมายผลต่อการทำงาน
InpStopModeNVB_STOP_FIXED_POINTSเลือก Fixed Points หรือ ATRNVB_STOP_FIXED_POINTS ใช้ StopLossPoints; NVB_STOP_ATR ใช้ ATR × Multiplier
InpStopLossPoints150ระยะ SL จาก Entry เมื่อใช้ Fixedแต่ละ Level มี SL จาก Entry ของตัวเอง
InpATRPeriod14Period ของ ATRโค้ดคำนวณ ATR บน M1
InpATRMultiplier1.50ตัวคูณ ATRStop Distance = ATR(M1) × Multiplier และต้องไม่น้อยกว่าระยะขั้นต่ำของ Broker

Group 5 · Take Profit

กำหนด TP ของแต่ละ Level

InputDefaultความหมายผลต่อการทำงาน
InpTakeProfitModeNVB_TP_RRNVB_TP_NONE, NVB_TP_RR หรือ NVB_TP_FIXED_POINTSNone = ไม่มี TP ตายตัว; RR = TP ตาม Risk Distance; Fixed = TP ตาม Points
InpRiskReward1.50R:R Target เมื่อใช้ TP แบบ RRถ้า SL ห่าง 200 points และ RR 1.50 → TP ประมาณ 300 points
InpTakeProfitPoints300ระยะ TP เมื่อใช้ Fixed Pointsใช้จาก Entry ของแต่ละ Level

Group 6 · Position Management

กำหนด Time Stop, Break-even และ Trailing ราย Position

InputDefaultความหมายผลต่อการทำงาน
InpTimeStopMinutes10เวลาถือ Position สูงสุดEA ใช้เวลา Position ที่เก่าสุด ถ้าครบกำหนดจะปิด Position ของ EA ทั้งหมด; 0 = ปิด
InpUseBreakEventrueเปิด/ปิด Break-evenทำงานแยกแต่ละ Position บนบัญชี Hedging
InpBreakEvenTriggerPoints120กำไรเป็น Points ที่เริ่ม Break-evenแต่ละไม้ต้องมีกำไรถึงค่านี้จากราคาเปิดของตัวเอง
InpBreakEvenLockPoints10เลื่อน SL ข้าม Entry ไปล็อกกำไรกี่ PointsBUY → Entry + Lock; SELL → Entry - Lock โดยยังต้องเคารพระยะ Stop ขั้นต่ำของ Broker
InpUseTrailingStoptrueเปิด/ปิด Trailingเมื่อเปิด จะติดตามทุก Position ของ EA แยกกัน
InpTrailingStartPoints180กำไรที่ต้องถึงก่อนเริ่ม Trailingแต่ละไม้เริ่ม Trailing ไม่พร้อมกันได้ เพราะ Entry ต่างกัน
InpTrailingDistancePoints100ระยะ SL ตามหลังราคาปัจจุบันBUY → SL ใต้ Bid; SELL → SL เหนือ Ask ตามระยะนี้
InpTrailingStepPoints20ระยะ SL ต้องดีขึ้นขั้นต่ำก่อน Modify รอบใหม่ช่วยลดการส่ง PositionModify ทุก Tick

Group 7 · Trading Controls

กำหนดสิทธิ์เปิด Trade, Magic Number และ Fail-safe ของ Event

InputDefaultความหมายผลต่อการทำงาน
InpMagicNumber26092501ID ของ EAใช้แยก Order/Position/History ของ EA นี้จากระบบอื่น
InpEnableTradingtrueเปิดสิทธิ์วาง Pending ใหม่false = EA ยังแสดง Dashboard/คำนวณสถานะ แต่ไม่ ARM คำสั่งใหม่
InpOneTradePerEventtrueEvent เดียวใช้ Setup Ladder ชุดเดียวหลังมี Trigger แล้ว Event จะถูก Mark Used และไม่สร้าง Ladder ชุดใหม่ แต่ same-side Levels เดิมยัง Trigger ต่อได้ภายใน Entry Window
InpCloseOnDoubleTriggertrueป้องกันเกิด BUY และ SELL Position พร้อมกันถ้าพบ Opposite-Side Position/Race Condition จะปิดทั้งหมดและ LOCK
InpDeletePendingsOnDeinitfalseลบ Pending เมื่อ EA ถูก Deinit หรือไม่true = ถอด EA/บางการเปลี่ยนค่าที่ทำให้ Deinit อาจลบ Pending; false = ไม่ลบเพราะ Deinit โดยอัตโนมัติ

Group 8 · Dashboard / Alerts

กำหนดการแสดงผลและการแจ้งเตือน

InputDefaultความหมายผลต่อการทำงาน
InpShowDashboardtrueแสดง/ซ่อน Dashboardfalse = ลบ Object Dashboard ของ EA ออกจากกราฟ
InpDashboardCornerNVB_TOP_RIGHTมุมของ Dashboardเลือก TOP_RIGHT, TOP_LEFT, BOTTOM_RIGHT หรือ BOTTOM_LEFT
InpDashboardX14Offset แนวนอนเป็น Pixelใช้ขยับ Dashboard ไม่ให้ทับราคา/วัตถุอื่น
InpDashboardY18Offset แนวตั้งเป็น Pixelใช้ขยับ Dashboard ขึ้น/ลง
InpPopupAlertfalsePopup Alert ใน MT5แจ้งเหตุสำคัญ เช่น ARM, Trigger, Close, Daily Lock
InpPushNotificationfalsePush ไป MT5 Mobileต้องตั้ง MetaQuotes ID ใน MT5 ก่อนจึงส่งได้
แนวทางเริ่ม Demo สำหรับการเรียนและทดสอบระบบ ให้เริ่มด้วย NVB_RISK_PERCENT, Risk ต่อ Event ต่ำ, 2–3 Levels, HEDGING Account, เปิด Double Trigger Protection, Break-even และ Trailing จากนั้นแยก Preset ตาม Symbol/Broker โดยเฉพาะ XAUUSD เพราะ Point Size, Spread และ Volatility แตกต่างจาก Forex majors

11 · ก่อนเปิดเงินจริง ต้องทดสอบอะไรบ้าง?

Backtest ที่ดีไม่ควรมองแค่กำไรรวม แต่ต้องดูว่าระบบยังทำงานได้หรือไม่เมื่อ Spread, Slippage และการ Fill ไม่สมบูรณ์

Validation
01

Historical Events

ทดสอบหลายข่าว หลายปี และหลายสภาวะ ไม่เลือกเฉพาะวันที่ Breakout สวย

02

Variable Spread

จำลองหรือทดสอบภายใต้ Spread ที่เปลี่ยน ไม่ใช้ค่าคงที่ต่ำกว่าความจริงตลอดช่วงข่าว

03

Slippage Stress

ดูว่าถ้า Entry/Stop ถูก Fill แย่กว่าที่คาด ระบบยังไม่เกิน Max Risk ที่กำหนดไว้หรือไม่

04

Out-of-Sample

แยกช่วง Optimize กับช่วงตรวจสอบ เพื่อดูว่าค่าที่เลือกไม่ได้เหมาะเฉพาะข้อมูลชุดเดียว

05

Demo Forward Test

รันกับ Feed และ Broker จริงแบบ Demo ก่อน เพื่อดู Timing, Spread และการ Cancel Order

06

Kill Switch Test

จำลองกรณีผิดปกติ เช่น Pair/Feed หาย, Order ข้างเดียว, VPS หลุด และ Max Daily Loss ถูกแตะ

12 · News Trading Checklist

ก่อนเปิดระบบ ให้ผู้เรียนเช็กทีละข้อ ถ้ายังมีข้อใดไม่รู้คำตอบ ให้ถือว่ายังไม่พร้อม

Pre-Flight Check

13 · คำถามที่พบบ่อย

คำตอบสั้น ๆ สำหรับประเด็นที่ผู้เรียนมักสงสัยก่อนนำระบบไปทดลอง

FAQ
EA ต้องเดาว่าข่าวจะออกบวกหรือลบไหม?

ไม่จำเป็นสำหรับ Framework นี้ จุดสำคัญคือให้ราคายืนยันการ Breakout และให้ระบบทำงานตามกติกา Entry / Exit / Risk ที่กำหนดไว้ก่อนข่าว

ใช้ได้กับทุกข่าวหรือทุก Symbol ไหม?

ไม่ควรสรุปเช่นนั้น แต่ละ Symbol มี Spread, Tick Value, Liquidity และพฤติกรรมข่าวต่างกัน จึงต้องทดสอบเป็นราย Symbol และราย Broker

มี Stop Loss แล้วปลอดภัย 100% หรือไม่?

ไม่ใช่ Stop Loss เป็นคำสั่งออก ไม่ได้การันตีราคา Fill โดยเฉพาะเมื่อเกิด Gap หรือ Slippage สูง

ทำไมต้องมี Time Stop?

เพราะ Breakout ที่ไม่เดินต่อภายใน News Window อาจเปลี่ยนเป็นตลาดสวิงหรือกลับตัว Time Stop ช่วยไม่ให้ระบบติดอยู่ในสถานการณ์ที่ไม่ตรงกับสมมติฐานเดิม

ถ้าพลาดข่าวหนึ่งครั้ง ควรเพิ่ม Lot ข่าวถัดไปไหม?

Framework นี้ไม่ใช้แนวคิดเพิ่ม Lot เพื่อเอาคืน เพราะทำให้ Risk ของ Event ถัดไปขึ้นอยู่กับผลลัพธ์ที่ผ่านมาแทนที่จะขึ้นอยู่กับ Risk Policy ที่กำหนดไว้

เป้าหมายไม่ใช่ “ชนะทุกข่าว” แต่คือ “อยู่รอดพอที่จะเทรดข่าวครั้งต่อไป”

ระบบที่ดีไม่ได้วัดจากการจับ Breakout ได้ทุกครั้ง แต่จากการรู้ว่าเมื่อไรควรเข้า เมื่อไรไม่ควรเข้า และเมื่อผิดต้องหยุดความเสียหายตรงไหน