วิธีเปลี่ยนตัวชี้วัด MT4 ให้เป็น MT5 ภายในไม่กี่นาที
เผยแพร่แล้ว: 2021-02-03วิธีเปลี่ยนตัวบ่งชี้ MT4 เป็น MT5 ภายในไม่กี่นาที: คุณต้องการแปลงที่ปรึกษาผู้เชี่ยวชาญที่ทำขึ้นเพื่อใช้งานบน MT4 เพื่อให้แน่ใจว่าสามารถทำงานบนแพลตฟอร์ม MT5 ได้หรือไม่?
ไม่มีวิธีการยาวที่นี่!
เราจะแนะนำคุณในการแปลงรหัส MQL4 เป็นรหัสภาษา MQL5 ด้วยวิธีง่ายๆ คุณจะดีใจ! เครดิตของความสำเร็จของซีรีส์ MetaTrader ที่ปฏิวัติวงการตกเป็นของ Metaquotes Inc และในที่สุดพวกเขาก็ตัดสินใจทำเครื่องหมาย MT5 เป็นซอฟต์แวร์สำหรับอนาคต
ดูเหมือนว่าบริษัทจะเน้นที่ความพยายามส่วนใหญ่บนแพลตฟอร์ม MetaTrader 5 (MT5) และแน่นอนว่ามันดีกว่า MT4 อย่างไม่ต้องสงสัย
แล้วจะอพยพอย่างไร? อ่านต่อ!
ทำไมต้องเปลี่ยนจาก MT4 เป็น MT5 ภายในไม่กี่นาที
คำถามที่ใหญ่ที่สุดที่โปรแกรมเมอร์และผู้ค้าต้องเผชิญด้วยการย้ายข้อมูลตามแผนนี้คือ คุณจะเรียกใช้ผู้เชี่ยวชาญที่เขียนโค้ดในภาษา MQL4 บนแพลตฟอร์ม MT5 อย่างมีประสิทธิภาพได้อย่างไร โดยพิจารณาจากข้อเท็จจริงที่ว่า MT4 และ MT5 ไม่สามารถทำงานพร้อมกันได้
เมื่อเราเจาะลึกลงไปในคำถามนี้ เราจะพบข้อเท็จจริงบางอย่างเช่น:
- MT4 และ MT5 ไม่สามารถทำงานได้โดยใช้ภาษาโปรแกรมที่เหมือนกัน ดังนั้น ผู้เชี่ยวชาญที่เข้ารหัสเพื่อทำงานบน MT4 จะไม่ทำงานบน MT5 ซึ่งทำให้ฉากนั้นยาก
- MT4 มีอนาคตที่น่าเบื่อและน่าเบื่อมาก และเราสามารถพูดได้ว่าหลังจากติดตามประกาศเกี่ยวกับการอัปเดตในอนาคตของ MT4 ดังนั้นซอฟต์แวร์จะมีน้ำไม่เพียงพอในขณะนี้
- Metaquotes ได้ทำการเปลี่ยนแปลงหลายอย่างในฟังก์ชันการทำงานของ MT5 เนื่องจากได้รับข้อได้เปรียบในการใช้งานมากกว่าเมื่อเทียบกับ MT4
วิธีเปลี่ยนตัวบ่งชี้ MT4 เป็น MT5 ให้สำเร็จ: กระบวนการหลัก
การใช้ MT4 EA บน MT5 เนื่องจากดูเหมือนเป็นไปไม่ได้ในทางเทคนิค และจำเป็นต้องแก้ไขไฟล์ต้นฉบับของ MQ4 EA (องค์ประกอบบางอย่าง) เพื่อให้ทำงานได้อย่างสมบูรณ์บน MT5
หากคุณมีความรู้ที่ดีว่า ภาษา และสภาพแวดล้อมของ MQL4 แตกต่างจาก MQL4 อย่างไร คุณสามารถดำเนินการแก้ไขทั้งหมดได้อย่างแน่นอน
ที่นี่ เราจะสาธิตการแปลงรูปแบบ MT4 EA เป็น MT5 ด้วยความช่วยเหลือของ MT4 EA โดย Average.mq4 EA เหตุผลที่เลือกคือ ประการแรก มันมาพร้อมกับการติดตั้ง MT4 ทั้งหมด และประการที่สอง โปรแกรมเมอร์ส่วนใหญ่คุ้นเคยกับ EA นี้
ใช้ตัวอย่าง “Moving Average.mq4” และการแปลง MT4 EA เป็น MT5 EA
- ใน MetaEditor 4 คุณจะพบไฟล์ต้นฉบับชื่อ “MQL4\Experts\Moving Average.mq4” ซึ่งคุณต้องเปิด
- เลือก + คัดลอกข้อความทั้งหมดโดยกด Ctrl + A, Ctrl + C
- กดปุ่ม F4 และเปิด MetaEditor คุณพบว่าเทอร์มินัลไคลเอ็นต์ MT4 เปิดอยู่
- หลังจากที่คุณดาวน์โหลดเทอร์มินัลเดสก์ท็อป MT5 จากโบรกเกอร์ที่ต้องการเรียบร้อยแล้ว ให้เปิดอินสแตนซ์ของไคลเอ็นต์ MT5
- ตอนนี้ เปิด MetaEditor 5 และสร้าง EA (เทมเพลต) ใหม่ ซึ่งเหมือนกับที่เราได้แสดงให้เห็นแล้ว
- กรอกข้อมูลในฟิลด์ "ชื่อ" และกำหนดชื่อที่เหมาะสมให้กับเทมเพลต EA ของคุณ เมื่อคุณทำเสร็จแล้ว คุณจะได้รับ EA ที่กำลังจะเปิดตัวบน MT5
- ตอนนี้ หลังจากเลือกข้อความทั้งหมดในเทมเพลตโดยแตะ Ctrl + A แล้วลบทั้งหมด ให้วางข้อความที่คุณคัดลอกมาจาก MT4
MetaTrader 5 มาพร้อมกับระบบคำสั่งอื่นๆ (เช่น เปิด ปิด เลือก ส่ง และอื่นๆ) วิธีการ อย่างไรก็ตาม สำหรับการแปลงจาก MT4 เป็น MT5 EA วิธีที่ง่ายที่สุดตามที่ผู้เชี่ยวชาญของเรากำหนดคือการใช้ไลบรารีเดียว – mq4.mqh
ไกลออกไป…
เราขอแนะนำไลบรารีนี้เนื่องจากอนุญาตให้โปรแกรมเมอร์ทำงานกับคำสั่งใน MQL5 ได้เช่นเดียวกับใน MQL4 กล่าวโดยย่อ ห้องสมุดอนุญาตให้ OLS (ระบบภาษาสั่ง) คล้ายกับของ MQL4
คุณสามารถรับ ไฟล์ไลบรารี mq4.mqh จากโปรแกรมเมอร์ที่เลือกทางออนไลน์ เราได้เพิ่มฟังก์ชันการทำงานเล็กน้อยหลังจากได้รับของเราจากโปรแกรมเมอร์รายดังกล่าว เรารวมทุกอย่างไว้ในไฟล์เดียว ห้องสมุดนี้มีขึ้นเพื่อให้ครอบคลุมเฉพาะระบบการสั่งซื้อ
- ตรวจสอบให้แน่ใจว่าอินสแตนซ์ของแพลตฟอร์ม MT5 เปิดอยู่
- หลังจากเปิดแพลตฟอร์ม MT5 แล้ว ให้แตะไฟล์ -> เปิดโฟลเดอร์ข้อมูล” …\MQL5\Include”
- วางไฟล์ไลบรารี (mq4.mqh) ลงในโฟลเดอร์นี้
- การรีเฟรชแพลตฟอร์ม MT5 เป็นสิ่งสำคัญในตอนนี้ ปิดแล้วเปิดใหม่อีกครั้ง
- ตอนนี้เปิด MetaEditor5 และซอร์สโค้ดของที่ปรึกษาผู้เชี่ยวชาญ
- ในซอร์สโค้ดของ SimpleEA.mq5 ให้เพิ่มสตริง: #include <mq4.mqh>
- หลังจากที่คุณเพิ่มสตริงลงในซอร์สโค้ดแล้ว ให้กดปุ่ม "F7" และประกอบซอร์สโค้ดของ SimpleEA.mq5 นอกจากนี้ยังมีตัวเลือก "คอมไพล์" ที่กล่าวถึงในแถบเครื่องมือของ MetaEditor 5
- หลังจากประกอบเสร็จแล้ว คุณจะได้รับข้อผิดพลาดสองข้อ นั่นคือสิ่งที่เน้นความแตกต่างระหว่างแพลตฟอร์ม MT4 และ MT5
คุณเพียงแค่เขียน iMA ใน MetaEditor 4 โดยที่ “shift” คือตัวเลขของแท่งเทียนราคา จำเป็นต้องสร้างแฮนเดิลสำหรับ EA ทุกตัวและฟังก์ชันบน MetaEditor5 เพื่อรับค่าจาก EA/ตัวบ่งชี้โดยแฮนเดิลนั้น
วิธีเปลี่ยนตัวบ่งชี้ MT4 เป็น MT5 : การเปลี่ยนซอร์สโค้ด
ในส่วนนี้ เราจะเน้นที่การแก้ไขซอร์สโค้ดสำหรับ MT4 เพื่อให้แน่ใจว่าจะทำงานได้อย่างสมบูรณ์แบบบน MT5 การเปลี่ยนแปลงซอร์สโค้ดเหล่านี้มีผลกับตัวบ่งชี้เท่านั้น เนื่องจากมีเพียงบรรทัดเดียวในซอร์สโค้ดคือสิ่งที่คุณกำลังเปลี่ยนแปลงที่นี่
ตอนนี้ มาอธิบายขั้นตอนที่ดำเนินการเปลี่ยนแปลงเหล่านี้กัน เราจะ?
- สร้างตัวแปรประเภทจำนวนเต็มสำหรับแฮนเดิลตัวบ่งชี้ MA เพื่อเริ่มกระบวนการ
- กำหนดค่าที่เรียกว่า INVALID_HANDLE ภาพด้านล่างอธิบายเหมือนกัน
ที่ปรึกษาผู้เชี่ยวชาญและตัวบ่งชี้มาพร้อมกับส่วน OnInit() สำหรับการเริ่มต้นในรันไทม์ แบบฟอร์มมีลักษณะดังนี้:

คุณสามารถใช้ไฟล์ช่วยเหลือเพื่ออ่านสิ่งนี้ ในการเข้าถึงไฟล์วิธีใช้บน MetaEditor5 เพียงแตะปุ่ม "F1" นอกจากนี้ คุณยังจะพบเอกสารหนึ่งฉบับในชุมชน MQL5 ซึ่งให้ข้อมูลมากมายที่คุณสามารถหาได้ในไฟล์วิธีใช้ ใช้ลิงค์นี้เพื่อเข้าถึงเอกสารนี้ -
https://www.mql5.com/en/docs/basis/function/events
- นอกจากนี้ ให้เพิ่มโค้ดนี้ (ซอร์สโค้ด) ลงในข้อความของ EA ของเรา ในกรณีที่ไม่มีส่วนนี้ ให้กด Alt + M จาก MetaEditor 5
- ห้าฟังก์ชันปรากฏในรายการฟังก์ชัน แต่คุณจะเห็นว่าฟังก์ชัน OnInit() ไม่มีอยู่ตามค่าเริ่มต้น ดังนั้น เราต้องบรรยายด้วยตนเอง และภาพด้านล่างจะแสดงวิธีการสร้าง:
- หากต้องการดูฟังก์ชัน OnInit() ที่จับคู่กับซอร์สโค้ด เพียงแตะ Alt + M
- ตอนนี้ เขียนโค้ดต่อไปนี้ในส่วน OnInit()
ใน MT4 MetaEditor โดยทั่วไปคุณต้องเขียนโค้ดต่อไปนี้:
ในทางกลับกัน รหัสถูกบรรยายเป็นที่จับสำหรับตัวบ่งชี้สำหรับ MT5 และนั่นคือสาเหตุที่คุณเขียนรหัสต่อไปนี้ใน MT5:
- ตอนนี้ เพื่อให้ได้ค่าจากค่าเฉลี่ยเคลื่อนที่ EA เพียงแค่เขียนฟังก์ชันโดยใช้แฮนเดิล ซึ่งคุณจะเห็นรูปภาพที่กำลังจะมีขึ้น:
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ การสร้างฟังก์ชันจำเป็นสำหรับการรับค่าสำหรับ EA/ตัวบ่งชี้โดยใช้ MetaEditor5 และฟังก์ชันที่เราใช้สำหรับรับค่าจะมีสตริงที่เราเรียกว่า CopyBuffer()
หน้าที่ของมันคือคัดลอกข้อมูลจากตัวบ่งชี้ไปยังอาร์เรย์ของคุณ และรับข้อมูลของบัฟเฟอร์ที่กำหนดของตัวบ่งชี้ที่กำหนดในปริมาณที่กำหนด
เพียงเข้าไปตามลิงค์ -https://www.mql5.com/en/docs/series/copybuffer เพื่ออ่านเอกสารที่มีให้
รหัสเป็นเหมือน:
MA มี 1 บัฟเฟอร์ หมายเลขเป็น “0” ตอนนี้ คัดลอกค่าหนึ่งค่าจาก MA มันเขียนดังต่อไปนี้ใน MetaTrader4:
“0” สุดท้ายตรงกับค่าของ MA บนแท่งเทียนสุดท้ายบนแผนภูมิ (แท่งเทียนศูนย์) ใน MT5 MetaEditor คุณจะได้รับการเขียนดังนี้:
- จากตำแหน่งดัชนี คุณต้องคัดลอกค่าหนึ่งค่าไปยังอาร์เรย์ MA
- ขณะรวบรวมโค้ด ให้ย้ายเพื่อล้างข้อผิดพลาดทั้งสองในขั้นต้น เมื่อต้องการทำเช่นนี้ ชี้ให้เห็นข้อผิดพลาดในระเบียนแรก และดำเนินการดับเบิลคลิกบนนั้น
- ตอนนี้ คุณจะย้ายไปยังตำแหน่งของข้อผิดพลาดในซอร์สโค้ดของ MT5 สำหรับ EA ของคุณ คุณจะได้รับรหัสข้อผิดพลาดในบรรทัดที่ 114 สำหรับอินสแตนซ์นี้
- คุณต้องลบบรรทัดที่ระบุข้อผิดพลาดและแทนที่ด้วยสตริงที่มีรหัส MaGet(0) ตามที่เราได้ระบุไว้ด้านล่าง
รหัสข้อผิดพลาดจะถูกขีดเส้นใต้ด้วยหมึกสีแดงเสมอ และคุณจะพบรหัส ma MaGet(0) อยู่ด้านล่าง
- หลังจากลบรหัสข้อผิดพลาดและใส่สตริง MaGet(0) แล้ว คุณสามารถกดปุ่ม F7 และคอมไพล์รหัสอีกครั้ง
- หลังจากรวบรวมซอร์สโค้ดแล้ว คุณจะสังเกตเห็นว่ามีเพียงข้อผิดพลาดเดียวเท่านั้นที่จะปรากฏขึ้นในขณะนี้
- สำหรับการแทนที่รหัสข้อผิดพลาดล่าสุดนี้ จำเป็นต้องทำตามลำดับเดียวกัน ซึ่งเราใช้ในการล้างรหัสข้อผิดพลาดก่อนหน้านี้ ไปถึงบรรทัดของรหัสข้อผิดพลาด ดับเบิลคลิก แสดงความคิดเห็น และแทนที่! แค่นั้นแหละ!
- คุณจะพบหมึกสีเขียวที่ขีดเส้นใต้รหัสข้อผิดพลาด คุณจะพบโค้ดด้านล่างนี้ ซึ่งจะมาแทนที่ส่วนข้อผิดพลาด นั่นเป็นวิธีที่เรากำจัดข้อผิดพลาด
คุณต้องใช้สตริงต่อไปนี้เพื่อแทนที่ และคุณใกล้จะถึงแล้ว:
ถ้า (เปิด[1]>MAGet(0) && ปิด[1]<MAGet(0)
- หลังจากแสดงความคิดเห็นและเปลี่ยนรหัสข้อผิดพลาดแล้ว คอมไพล์โค้ดจะเป็นภาคบังคับ หลังจากรวบรวมซอร์สโค้ดอย่างที่เราทำก่อนหน้านี้โดยแตะปุ่ม F7 คุณจะเห็นว่าข้อผิดพลาดทั้งหมดจะถูกลบออก
- เราได้ครอบคลุมขั้นตอนทั้งหมดของการแปลง MT4 EA เป็นเวอร์ชันที่เหมาะสมซึ่งคุณสามารถใช้บน MT5 ด้วยเหตุนี้ คุณสามารถรันบนแพลตฟอร์ม MT5 ได้อย่างสะดวกสบายทันที!
วิธีเปลี่ยนตัวชี้วัด MT4 เป็น MT5 : บทสรุป
ในการดูครั้งแรก วิธีเปลี่ยน MT4 Indicators เป็น MT5 ดูเหมือนจะเป็นคำถามที่ตอบยาก แต่วิธีที่เรากล่าวถึงข้างต้นทำให้สิ่งนี้เกิดขึ้น ลองนึกภาพว่ามันน่าสมเพชแค่ไหนที่จะสร้างโปรแกรมทั้งหมดบนอินเทอร์เฟซการเขียนโปรแกรม MetaEditor 5 และนั่นก็เช่นกันตั้งแต่เริ่มต้น
โชคดีที่มีทางลัดและเราอธิบายไว้ที่นี่เหมือนกัน เมื่อเร็วๆ นี้ การใช้งาน MT5 ได้เพิ่มขึ้นอย่างมาก และคาดว่าจะมีวิธีการใหม่ๆ ที่เกี่ยวข้องกับการเปลี่ยนจาก MT4 เป็น MT5 แพลตฟอร์ม MT5 กำลังพัฒนาอย่างต่อเนื่อง
แพลตฟอร์ม MT5 ได้ผ่านการปรับเปลี่ยนหลายอย่าง และในเวลาที่จะมาถึงนี้ เราคาดว่าจะมีการเพิ่มฟังก์ชันเพิ่มเติมอีกสองสามอย่าง ไม่ต้องสงสัยเลยว่ามันดีกว่า MT4 มาก
ใหม่ที่การค้า Forex หรือไม่พอใจกับแผนการโฮสต์ Forex VPS ปัจจุบันของคุณ?
แผน Forex ของ Accuweb ได้กำหนดเกณฑ์มาตรฐานใหม่สำหรับโฮสติ้ง Forex VPS โดยนำเสนอแผนที่สะดวกสบายเป็นพิเศษในราคา 6 จุดที่แตกต่างกัน
ผู้ใช้ยินดีกับประสบการณ์การซื้อขาย Forex ด้วยแผนเหล่านี้ และหากคุณยังใหม่ต่อ Forex อย่าพลาดโอกาสนี้! คุณยังทดลองใช้ฟรี 7 วันอีกด้วย แตะ ที่ นี่ เพื่อทราบข้อมูลเพิ่มเติม