ข้อผิดพลาดสิทธิ์ UAC (การควบคุมบัญชีผู้ใช้) ใน MT5×EA: สาเหตุและวิธีแก้ไขสำหรับผู้เริ่มต้น


ข้อผิดพลาดสิทธิ์ UAC คืออะไร?

เมื่อใช้งาน EA (Expert Advisor) บน MT5 (MetaTrader 5) อาจเกิดข้อผิดพลาด เช่น “Access Denied” หรือ “ไม่สามารถสร้างไฟล์ได้” เนื่องจากระบบ UAC (User Account Control) ของ Windows
UAC เป็นฟังก์ชันความปลอดภัยที่จำกัดสิทธิ์การเขียนและแก้ไขในพื้นที่ระบบที่ได้รับการป้องกัน

หากติดตั้ง MT5 ไว้ในโฟลเดอร์ที่ได้รับการป้องกัน เช่น C:\Program Files หรือ C:\Program Files (x86) ข้อผิดพลาดมักเกิดขึ้นเมื่อ EA พยายามบันทึกล็อก เขียนไฟล์การตั้งค่า หรือสร้างรายงาน

คุณสามารถตรวจสอบตำแหน่งติดตั้ง MT5 ได้โดยคลิกขวาที่ไอคอนทางลัดของ MT5 บนเดสก์ท็อป → “เปิดตำแหน่งไฟล์”

คลิกขวาที่ทางลัด MT5 → แท็บทางลัด → เปิดตำแหน่งไฟล์


อาการทั่วไป (ตัวอย่างข้อความแสดงข้อผิดพลาด)

  • cannot open file ... (access denied)
  • failed to save file
  • cannot create directory
  • “การเข้าถึงไฟล์ถูกปฏิเสธ”

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อ EA หรือ MT5 ไม่มีสิทธิ์ในการเขียนไฟล์
มักพบในระหว่างการบันทึกผลการทดสอบย้อนหลัง การส่งออกตัวชี้วัดแบบกำหนดเอง หรือการบันทึกล็อก


ทำไม UAC ถึงมีผลต่อ MT5

เพื่อปกป้องระบบ Windows จะป้องกันไม่ให้ผู้ใช้ทั่วไปเขียนไฟล์ในบางโฟลเดอร์ เช่น Program Files
หาก MT5 ติดตั้งอยู่ในตำแหน่งนี้ UAC อาจปฏิเสธไฟล์ที่สร้างโดย EA (เช่น MQL5\Files หรือล็อก) และทำให้เกิดข้อผิดพลาด

ในบางกรณี ไฟล์จะถูกเปลี่ยนเส้นทางไปยัง “VirtualStore” (%LocalAppData%\VirtualStore) ทำให้ดูเหมือนว่าการตั้งค่าไม่ถูกบันทึก


วิธีแก้ไข (ลำดับที่แนะนำสำหรับผู้เริ่มต้น)

1. รัน MT5 ในโหมดผู้ดูแลระบบ

นี่เป็นวิธีที่ง่ายที่สุด
คลิกขวาที่ทางลัด MT5 แล้วเลือก “Run as administrator”
จะช่วยให้ MT5 และ EA ของคุณมีสิทธิ์เข้าถึงไฟล์ได้เต็มที่

คลิกขวาที่ทางลัด MT5 → Run as administrator

วิธีตั้งค่าให้ MT5 รันเป็นผู้ดูแลระบบเสมอ:

  1. คลิกขวาที่ทางลัด MT5 → “Properties”
  2. ไปที่แท็บ “Compatibility” → ทำเครื่องหมายที่ “Run this program as an administrator”
  3. คลิก “OK” เพื่อบันทึก

คลิกขวาที่ทางลัด MT5 → Properties → แท็บ Compatibility → ทำเครื่องหมาย Run this program as administrator

2. ติดตั้งใหม่ในโฟลเดอร์ที่ไม่ถูกป้องกัน

หากไม่ต้องการรันในโหมดผู้ดูแลระบบทุกครั้ง ให้ติดตั้ง MT5 ใหม่ในโฟลเดอร์ที่ไม่อยู่ภายใต้การควบคุมของ UAC เช่น C:\MT5\ หรือ D:\Trading\MetaTrader5\
ที่นั่น EA จะสามารถบันทึกล็อก การตั้งค่า และรายงานได้อย่างอิสระ

โฟลเดอร์ MT5 ที่วางไว้โดยตรงภายใต้ไดรฟ์ C
เคล็ดลับ: ก่อนติดตั้งใหม่ ให้คัดลอกโฟลเดอร์ “Data Folder” (File > Open Data Folder) รวมถึงโฟลเดอร์ MQL5 เพื่อกู้คืนการตั้งค่าได้อย่างง่ายดาย

3. ปรับระดับ UAC (สำหรับผู้ใช้ขั้นสูง)

คุณสามารถลดระดับการแจ้งเตือนของ UAC ได้จาก Control Panel
อย่างไรก็ตาม การทำเช่นนี้อาจลดความปลอดภัย ควรใช้เฉพาะใน VPS สำหรับ EA โดยเฉพาะ หรือคอมพิวเตอร์เทรดที่แยกออกมา

  1. ค้นหา “UAC” ใน Windows → เลือก “Change User Account Control settings”
  2. เลื่อนแถบลงเพื่อลดการแจ้งเตือน → รีสตาร์ตเครื่อง

4. คำแนะนำสำหรับ VPS

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


รายการตรวจสอบก่อนติดตั้งและเมื่อเกิดปัญหา

  • MT5 รันในโหมดผู้ดูแลระบบหรือไม่? (ตรวจสอบจาก Properties ของทางลัด)
  • โฟลเดอร์ที่ติดตั้งอยู่ในตำแหน่งที่ไม่ถูกป้องกันหรือไม่? (หลีกเลี่ยง Program Files)
  • ล็อกและไฟล์การตั้งค่าถูกบันทึกในตำแหน่งที่ถูกต้องหรือไม่? (ตรวจสอบ VirtualStore ด้วยหากจำเป็น)
  • มีการตั้งค่าเหมือนกันใน VPS หรือไม่?

สรุป

ข้อผิดพลาดสิทธิ์จาก UAC สามารถแก้ไขได้โดยการตั้งค่า ตำแหน่งติดตั้ง และ สิทธิ์การรันโปรแกรม ให้ถูกต้อง
สำหรับผู้เริ่มต้น วิธีที่เร็วและปลอดภัยที่สุดคือรัน MT5 ในโหมดผู้ดูแลระบบก่อน จากนั้นหากจำเป็น ให้ติดตั้งใหม่ในโฟลเดอร์ที่ไม่ถูกป้องกัน

บทความที่เกี่ยวข้อง:
คู่มือการติดตั้งและเริ่มใช้งาน MT5 ฉบับสมบูรณ์ (พร้อมภาพประกอบ)
วิธีติดตั้งและรัน MT5 หลายอินสแตนซ์บน PC/VPS เครื่องเดียว


คำถามที่พบบ่อย (FAQ)

ถาม: ต้องรัน MT5 เป็นผู้ดูแลระบบทุกครั้งหรือไม่?
ตอบ: ไม่จำเป็น หลังจากตั้งค่า “Run this program as administrator” แล้ว MT5 จะรันในโหมดผู้ดูแลระบบโดยอัตโนมัติ
ถาม: สามารถติดตั้ง MT5 ใน Program Files ได้หรือไม่?
ตอบ: ได้ แต่เสี่ยงต่อปัญหาจาก UAC แนะนำให้ติดตั้งในโฟลเดอร์ที่ไม่ถูกป้องกัน
ถาม: ปรับระดับ UAC ลงปลอดภัยหรือไม่?
ตอบ: ความปลอดภัยจะลดลง ควรทำเฉพาะใน VPS สำหรับ EA หรือคอมพิวเตอร์เฉพาะเท่านั้น
ถาม: หาไฟล์ที่บันทึกไว้ไม่พบ?
ตอบ: ไฟล์อาจถูกเปลี่ยนเส้นทางไปยัง VirtualStore (%LocalAppData%\VirtualStore) ตรวจสอบตำแหน่งจริงของไฟล์
ถาม: ต้องตั้งค่าแบบเดียวกันใน VPS หรือไม่?
ตอบ: ใช่ UAC เปิดใช้งานใน VPS เช่นกัน ควรตั้งค่าให้รันเป็นผู้ดูแลระบบและติดตั้งในโฟลเดอร์ที่ไม่ถูกป้องกัน

ใส่ความเห็น