Indicator แค่พล็อตเส้นหรือแจ้งเตือน — Expert Advisor (EA) ส่งออเดอร์แทนคุณจริงๆ ซึ่งหมายความว่าทุกการตัดสินใจออกแบบภายในมันมีผลต่อเงินจริง EA ฟรีตัวนี้เทรดกลยุทธ์ breakout ที่สร้างขึ้นโดยตรงบน Keltner Channels มันรอให้ราคาปิดออกนอกแถบ EMA-และ-ATR ที่นิยาม "การเคลื่อนไหวปกติ" ล่าสุด แล้วเปิดเทรดในทิศทางของ breakout นั้น พร้อม Stop Loss, Take Profit และขนาดโพซิชันที่คำนวณอัตโนมัติจาก ATR และความเสี่ยงของบัญชี
กลยุทธ์ทำงานอย่างไร
สัญญาณเข้าเทรดเหมือนกับที่กล่าวถึงใน lesson ของ Keltner Channels indicator: แท่งที่เพิ่งปิดมีราคา Close ปิดเหนือแถบบน (EMA + ATR × multiplier) หรือใต้แถบล่าง (EMA − ATR × multiplier) หรือไม่? การปิดเหนือแถบบนหมายความว่าราคาเคลื่อนไหวออกจาก EMA ล่าสุดมากกว่าที่ความผันผวนทีละแท่งล่าสุดของมันเองจะผลิตได้ตามปกติ — อ่านเป็น breakout ขาขึ้น การปิดใต้แถบล่างเป็นกรณีขาลงแบบสะท้อนกลับ ต่างจากกลยุทธ์ reversal ที่ fade การแตะแถบโดยคาดว่าราคาจะดีดกลับ EA ตัวนี้เทรดในทิศทางของ breakout บนสมมติฐานว่าการเคลื่อนไหวที่ใหญ่พอจะทะลุแถบที่ปรับตามขนาด ATR มีแนวโน้มที่จะเป็นจุดเริ่มต้นของการวิ่งจริง มากกว่า noise ทั่วไป
เพราะ EMA และ ATR ที่นิยามแถบถูกคำนวณใหม่ทุกแท่ง channel เองจึงกว้างขึ้นและแคบลงตามความผันผวนปัจจุบัน ระยะทางเดียวกันในหน่วย pip มีความหมายต่างกันในตลาดที่เงียบกับตลาดที่ผันผวน และแถบปรับตัวตามนั้นโดยอัตโนมัติก่อนที่ EA จะเช็คว่าราคาทะลุมันหรือไม่
Stop Loss, Take Profit และขนาดโพซิชัน
ทั้ง Stop Loss และ Take Profit ถูกกำหนดขนาดจาก ATR แทนที่จะเป็นระยะ pip คงที่ ใช้รูปแบบ ATRPeriod/ATRMultiplier เดียวกันกับที่ใช้ตลอดทั้ง EA ของเว็บนี้ — สังเกตว่านี่คือค่า ATR ที่แยกต่างหาก (ATRPeriod, default 14) จากค่าที่ใช้กำหนดขนาดแถบ Keltner Channel เอง (ChannelATRPeriod, default 10) ดังนั้น trigger การเข้าเทรดและการกำหนดขนาดความเสี่ยงสามารถปรับแยกจากกันได้ ระยะ Stop Loss คือ ATRMultiplier × ATR (default multiplier 2.0) และ Take Profit ถูกตั้งที่ RiskRewardRatio × ระยะ Stop Loss (default 2.0) ทำให้ทุกเทรดที่ EA นี้เปิด ไม่ว่าคู่เงินหรือไทม์เฟรมใด มีสัดส่วนผลตอบแทนต่อความเสี่ยงคงที่เท่ากัน
ขนาดโพซิชันตามวิธีคำนวณตัวอย่างเดียวกันจาก พื้นฐานการบริหารความเสี่ยง และ ขนาด Lot อธิบายละเอียด: RiskPercent (default 1.0%) ของยอดคงเหลือบัญชีถูกหารด้วยระยะ Stop Loss เพื่อผลิต lot size ทำให้จำนวนเงินที่เสี่ยงคงที่โดยประมาณแม้ระยะ stop ที่อิงจาก ATR จะเปลี่ยนไปตามความผันผวน lot ที่คำนวณได้จะถูก normalize ให้ตรงกับ minimum, maximum และ step lot size ของ broker ก่อนส่งออเดอร์ และ UseFixedLot มีให้เป็นทางเลือกสำหรับ lot size คงที่โดยไม่สนใจความเสี่ยงของบัญชี
เงื่อนไขการเข้าเทรด
- BUY — แท่งที่เพิ่งปิดมี Close อยู่เหนือแถบบนของ Keltner Channel (EMA + ChannelATRMultiplier × ChannelATR)
- SELL — แท่งที่เพิ่งปิดมี Close อยู่ใต้แถบล่างของ Keltner Channel (EMA − ChannelATRMultiplier × ChannelATR)
กลไกความปลอดภัยสามอย่างควบคุมทุกเทรดที่ EA นี้สามารถเปิดได้ ตรงตามมาตรฐานที่ใช้ทั่วทุก EA บนเว็บนี้: มันประเมินเงื่อนไขการเข้าเทรดเพียงครั้งเดียวต่อแท่งใหม่เท่านั้น ติดตามผ่านเวลาเปิดของแท่งนั้น ดังนั้นแท่งที่ผ่านเงื่อนไขแท่งเดียวจะไม่สามารถทริกเกอร์การเข้าเทรดซ้ำภายในแท่งเดียวกันได้ มันเปิดแค่หนึ่งโพซิชันในแต่ละครั้ง เช็คโดยนับเทรดที่เปิดอยู่กรองตาม symbol และ magic number ของ EA เองก่อนพิจารณาการเข้าเทรดใหม่ และมันเช็ค spread ปัจจุบันกับ MaxSpreadPoints (default 30) ก่อนส่งออเดอร์ ข้ามการเข้าเทรดถ้า spread กว้างเกินไปที่จะเทรดในราคาที่สมเหตุสมผล ทุกออเดอร์ถูกแท็กด้วย MagicNumber (default 20260723) ดังนั้นตรรกะการนับโพซิชันของ EA จะไม่แตะเทรดที่เปิดด้วยมือหรือวางโดย EA ตัวอื่นที่ทำงานอยู่ในบัญชีเดียวกัน
Parameters
- EMAPeriod (default 20) — period ของเส้น EMA กลางของ Keltner Channel
- ChannelATRPeriod (default 10) — ช่วง lookback ของ ATR ที่ใช้กำหนดความกว้างแถบของ Keltner Channel
- ChannelATRMultiplier (default 2.0) — จำนวนความกว้าง ATR ที่แถบเข้าเทรดอยู่ห่างจาก EMA กลาง ค่าที่แคบกว่าทริกเกอร์ breakout เล็กๆ มากขึ้น ค่าที่กว้างกว่าต้องการการเคลื่อนไหวที่ใหญ่กว่าก่อนเข้าเทรด
- ATRPeriod (default 14) — ช่วง lookback ของ ATR ที่แยกต่างหากสำหรับกำหนดขนาด Stop Loss
- ATRMultiplier (default 2.0) — ระยะ Stop Loss = ATR × ตัวคูณนี้
- RiskRewardRatio (default 2.0) — ระยะ Take Profit = ระยะ Stop Loss × อัตราส่วนนี้
- UseFixedLot — สลับการกำหนดขนาดโพซิชันจากตามความเสี่ยงเป็น lot size คงที่
- FixedLotSize (default 0.01) — lot size ที่ใช้เมื่อเปิด
UseFixedLot - RiskPercent (default 1.0) — เปอร์เซ็นต์ของยอดคงเหลือบัญชีที่เสี่ยงต่อเทรดเมื่อปิด
UseFixedLot - MaxSpreadPoints (default 30) — ข้ามการเข้าเทรดใหม่ขณะที่ spread กว้างกว่านี้
- MagicNumber (default 20260723) — แท็กทุกออเดอร์ที่ EA นี้วาง เพื่อให้ตรรกะการจัดการโพซิชันไม่แตะเทรดที่เปิดด้วยมือหรือโดย EA ตัวอื่น
- EnableTrading — สวิตช์เปิด/ปิดหลัก มีประโยชน์สำหรับหยุด EA ชั่วคราวโดยไม่ต้องเอาออกจากกราฟ
ทำไมต้องมีค่า ATR แยกกันสองชุด
การใช้ ATR ชุดเดียวสำหรับทั้งความกว้างแถบของ Keltner Channel และระยะ Stop Loss จะง่ายกว่า และในช่วงเริ่มพัฒนาก็เป็นจุดเริ่มต้นที่สมเหตุสมผล — แต่มันผูกการตัดสินใจสองอย่างที่ไม่จำเป็นต้องเคลื่อนไหวไปด้วยกัน ความกว้างแถบของ Keltner Channel กำหนดว่าราคาต้องเดินทางไกลแค่ไหนก่อนที่ EA จะพิจารณาว่าเป็น breakout จริง ในขณะที่ตัวคูณ ATR ของ Stop Loss กำหนดว่าเทรดจะได้รับพื้นที่หายใจแค่ไหนเมื่อเปิดแล้ว เทรดเดอร์ที่ต้องการตัวกรองเข้าเทรดที่แคบกว่า (ChannelATRMultiplier แคบกว่า จับ breakout เร็วขึ้น) ไม่จำเป็นต้องต้องการ Stop Loss ที่แคบกว่าด้วย — ในความเป็นจริง ATRMultiplier ของ Stop Loss ที่กว้างกว่ามักเข้ากันได้ดีกับการเข้าเทรดที่เร็วและไวกว่า เพราะการเข้าเทรดเร็วหมายความว่าราคามีพื้นที่น้อยลงที่จะพิสูจน์ว่า breakout เป็นจริง ก่อนที่ Stop Loss จะถูกทดสอบ การเก็บ ChannelATRPeriod/ChannelATRMultiplier และ ATRPeriod/ATRMultiplier เป็น input ที่แยกจากกันอย่างสมบูรณ์ ช่วยให้เทรดเดอร์ปรับ "EA ตัดสินว่า breakout เกิดขึ้นง่ายแค่ไหน" ได้อย่างเป็นอิสระจาก "เทรดได้รับพื้นที่แค่ไหนเมื่อเปิดแล้ว" — สองคำถามที่ต่างกันจริงๆ ซึ่งบังเอิญตอบด้วยทวีคูณของ ATR ทั้งคู่
การติดตั้งและตั้งค่า
EA ติดตั้งเข้าโฟลเดอร์ที่ต่างจาก indicator และนี่คือขั้นตอนที่คนพลาดบ่อยที่สุด
- ดาวน์โหลดไฟล์ด้านล่างสำหรับ platform ของคุณ
- เปิด MetaTrader → คลิก
File→Open Data Folder - วางไฟล์ในโฟลเดอร์
MQL4/Experts(MetaTrader 4) หรือMQL5/Experts(MetaTrader 5) — ไม่ใช่ โฟลเดอร์ Indicators - รีสตาร์ท MetaTrader แล้วลาก EA จาก Navigator window ไปวางบนกราฟ
- เปิด AutoTrading (MT4) หรือ Algo Trading (MT5) ใน toolbar — EA จะไม่วางเทรดใดๆ ขณะที่สิ่งนี้ปิดอยู่ แม้จะแนบอยู่บนกราฟแล้ว
- ตรวจสอบและปรับ input parameter ใน settings dialog ของ EA ก่อนยืนยัน
ข้อควรระวัง
ทดสอบบนบัญชี demo ก่อน ในสภาพตลาดที่แตกต่างกันและหลายคู่เงิน ก่อนเสี่ยงเงินจริง — backtest หรือผลลัพธ์ demo ที่ดีไม่เคยรับประกันผลลัพธ์ในอนาคต EA นี้สามารถและจะขาดทุนในแต่ละเทรด: breakout ที่ทะลุ Keltner Channel ยืนยันเพียงว่าราคาเคลื่อนไหวไกลกว่าที่ความผันผวนที่อิงจาก ATR ล่าสุดจะคาดการณ์ได้ตามปกติ ไม่ใช่ว่าการเคลื่อนไหวจะดำเนินต่อ และการกลับตัวอย่างรวดเร็วทันทีหลังเข้าเทรดจะยังชนกับ Stop Loss พิจารณาใช้ EA นี้ร่วมกับตัวกรองเทรนด์หรือโมเมนตัม (การเช็คไทม์เฟรมใหญ่กว่า, ADX หรือโครงสร้าง Trend vs Range) แทนที่จะเทรดตาม Keltner breakout ในทุกสภาพตลาด เพราะ channel break ระหว่างตลาดที่อยู่ในกรอบจริงๆ มีแนวโน้มกลับตัวมากกว่าระหว่างเทรนด์ที่มั่นคง ทั้งไฟล์ MT4 และ MT5 ด้านล่างเป็น source code — เปิดและอ่านให้ครบถ้วน และเข้าใจว่าทุก parameter ทำอะไร ก่อนแนบ EA นี้บนบัญชีจริง เนื้อหานี้เป็นการศึกษาทั่วไป ไม่ใช่คำแนะนำการลงทุนส่วนบุคคล
ดาวน์โหลด EA
วิธีติดตั้ง — MetaTrader 4
- ดาวน์โหลดไฟล์
keltner-channel-breakout-ea.mq4ด้านล่าง - เปิด MetaTrader 4 → คลิก
File→Open Data Folder - วางไฟล์ในโฟลเดอร์
MQL4/Experts - รีสตาร์ท MetaTrader 4 แล้วลาก EA จาก Navigator window ไปวางบนกราฟ
วิธีติดตั้ง — MetaTrader 5
- ดาวน์โหลดไฟล์
keltner-channel-breakout-ea.mq5ด้านล่าง - เปิด MetaTrader 5 → คลิก
File→Open Data Folder - วางไฟล์ในโฟลเดอร์
MQL5/Experts - รีสตาร์ท MetaTrader 5 แล้วลาก EA จาก Navigator window ไปวางบนกราฟ
ทั้งสองไฟล์เป็น source code — เปิดและตรวจสอบโค้ดทั้งหมดก่อนใช้งาน เพื่อความปลอดภัยของคุณเอง