เรียนนักเทรดและนักลงทุนทุกท่าน เราขอเสนอ… ตัวเพิ่มประสิทธิภาพ MT5 – ผลิตภัณฑ์นวัตกรรมที่จะปฏิวัติประสบการณ์การเพิ่มประสิทธิภาพของคุณบน MetaTrader 5!
ตัวเพิ่มประสิทธิภาพ MT5 ได้รับการออกแบบมาเพื่อเพิ่มขีดความสามารถของเครื่องมือเพิ่มประสิทธิภาพมาตรฐาน Booster ช่วยให้คุณสามารถใช้สภาพแวดล้อมการซื้อขายที่มีความแม่นยำสูงของตัวทดสอบ/เครื่องมือเพิ่มประสิทธิภาพมาตรฐานในขณะที่ “ปิด” ข้อจำกัดทั้งหมด:
1. จำนวนพารามิเตอร์สำหรับการเพิ่มประสิทธิภาพไม่จำกัด
2. ขั้นตอนพารามิเตอร์ที่ไม่จำกัดสำหรับการเพิ่มประสิทธิภาพ
3.จำนวนรอบการวิ่งไม่จำกัด
4. ความเร็วและความแม่นยำในการบรรจบกันที่ไม่มีใครเทียบได้
5.ง่ายต่อการใช้
6.การใช้งานแกน CPU เต็มรูปแบบ
เพื่อใช้ประโยชน์จากการเพิ่มประสิทธิภาพที่ปรึกษาของคุณด้วย ตัวเพิ่มประสิทธิภาพ MT5คุณจะต้องทำการเปลี่ยนแปลงเล็กน้อยในโค้ดของที่ปรึกษา
มาดูขั้นตอนต่างๆ ของโค้ดที่ปรึกษากันก่อน โดยที่ด้านบนสุดของโค้ดที่ปรึกษา คุณต้องแทรก (ทำเครื่องหมายไว้ที่นี่และต่อไปเป็นสีเขียว) การเรียกใช้ฟังก์ชันที่นำเข้าจาก Booster โค้ดของคุณจะมีลักษณะดังนี้:
#property copyright "Copyright 2024, Your Identify" #property hyperlink "https://login.mql5.com/ru/customers/person" #import "......MarketMT5 Optimization Booster.ex5" void AddRange (double rangeMin, double rangeStep, double rangeMax); bool AddRangeDone (); bool GetInputs (double &inputs ()); void SaveResult (double ff); #import
โค้ดด้านบนมีจุดประสงค์เพื่อเรียกใช้ฟังก์ชัน Booster (ซึ่งโดยค่าเริ่มต้นจะอยู่ในโฟลเดอร์ MQL5ExpertsMarket) จากที่ปรึกษา หากคุณได้ย้าย Booster ไปยังโฟลเดอร์อื่น โปรดปรับเส้นทางไปยังโฟลเดอร์ดังกล่าวในโค้ดด้านบน
ขั้นตอนต่อไป แทรกบรรทัดในโค้ดด้วยตัวนับพารามิเตอร์ที่จะวนซ้ำผ่านตัวเพิ่มประสิทธิภาพมาตรฐานแทนพารามิเตอร์ของคุณ:
enter int CNT_P = 0;
สมมติว่าที่ปรึกษาผู้เชี่ยวชาญมีพารามิเตอร์ต่อไปนี้ที่จำเป็นต้องได้รับการเพิ่มประสิทธิภาพ:
enum Timeframe { M1, M5, M15, H1, D1 }; enter Timeframe ChartTimeframe = H1; enter int IndPeriod = 10; enter double IndAlpha = 0.1; enter bool UseTrailingStop = true;
ทำให้พารามิเตอร์เหล่านี้กลายเป็นตัวแปรทั่วโลกแบบง่ายๆ โดยการลบ “อินพุต” ก่อนที่จะประกาศ หลังจากการดำเนินการนี้ โค้ดจะมีลักษณะดังนี้:
enum Timeframe { M1, M5, M15, H1, D1 }; Timeframe ChartTimeframe = H1; int IndPeriod = 10; double IndAlpha = 0.1; bool UseTrailingStop = true;
ขั้นตอนต่อไป ให้แทรกโค้ดต่อไปนี้ลงในฟังก์ชัน OnInit() ในช่วงเริ่มต้น:
int OnInit () { if (MQLInfoInteger (MQL_OPTIMIZATION)) { AddRange (0, 1, 4); AddRange (6, 3, 30); AddRange (0.0001, 0.0000001, 0.2); AddRange (0, 1, 1); if (!AddRangeDone ()) { return INIT_FAILED; } }
ในฟังก์ชัน AddRange() ให้ส่งพารามิเตอร์การเพิ่มประสิทธิภาพที่สอดคล้องกับพารามิเตอร์ที่ต้องการเพิ่มประสิทธิภาพ (ช่วงต่ำสุด ขั้น ช่วงสูงสุด) โค้ดนี้จะสั่งการให้ Booster กำหนดค่าพารามิเตอร์การเพิ่มประสิทธิภาพของคุณ ตั้งค่าช่วงและขั้นภายในขีดจำกัดใดๆ เนื่องจากไม่มีข้อจำกัดใดๆ
ขั้นตอนต่อไป ให้แทรกบรรทัดโค้ดดังต่อไปนี้ทันทีหลังจากบรรทัดโค้ดก่อนหน้าที่อธิบายข้างต้น:
int OnInit () { if (MQLInfoInteger (MQL_OPTIMIZATION)) { AddRange (0, 1, 4); AddRange (6, 3, 30); AddRange (0.0001, 0.0000001, 0.2); AddRange (0, 1, 1); if (!AddRangeDone ()) { return INIT_FAILED; } } double inputs (4); if (!GetInputs (inputs)) { return INIT_FAILED; } else { ChartTimeframe = (Timeframe)inputs (0); IndPeriod = (int)inputs (1); IndAlpha = inputs (2); UseTrailingStop = inputs (3); }
โค้ดด้านบนจะดึงการตั้งค่าพารามิเตอร์การเพิ่มประสิทธิภาพจากไฟล์ไปไว้ในอาร์เรย์ “inputs(4)” (โดยที่ 4 คือจำนวนพารามิเตอร์การเพิ่มประสิทธิภาพ)
กำหนดค่าจากอาร์เรย์ “อินพุต” ให้กับตัวแปรพารามิเตอร์การเพิ่มประสิทธิภาพแต่ละตัวในลำดับเดียวกันกับเมื่อระบุช่วงและขั้นตอน ดังที่แสดงด้านบน
ตรวจสอบว่าโค้ดฟังก์ชัน OnInit มีลักษณะดังนี้:
int OnInit () { if (MQLInfoInteger (MQL_OPTIMIZATION)) { AddRange (0, 1, 4); AddRange (6, 3, 30); AddRange (0.0001, 0.0000001, 0.2); AddRange (0, 1, 1); if (!AddRangeDone ()) { return INIT_FAILED; } } double inputs (4); if (!GetInputs (inputs)) { return INIT_FAILED; } else { ChartTimeframe = (Timeframe)inputs (0); IndPeriod = (int)inputs (1); IndAlpha = inputs (2); UseTrailingStop = inputs (3); } return (INIT_SUCCEEDED); }
ในฟังก์ชัน OnTester() ให้เขียนโค้ดสำหรับเกณฑ์การเพิ่มประสิทธิภาพแบบกำหนดเองของคุณ หรือใช้ฟังก์ชันในตัวเพื่อรับค่าของเกณฑ์การเพิ่มประสิทธิภาพที่ซับซ้อน โค้ดฟังก์ชัน OnTester() จะมีลักษณะดังนี้:
double OnTester () { double ret = TesterStatistics (STAT_COMPLEX_CRITERION); SaveResult (ret); return ret; }
โค้ดด้านบนจะคำนวณเกณฑ์การเพิ่มประสิทธิภาพและบันทึกผลลัพธ์ไปยังไฟล์เพื่อให้ Booster สามารถดึงผลลัพธ์และปรับปรุงเพื่อค้นหาค่าที่ดีที่สุดได้
ดังนั้นไม่จำเป็นต้องเปลี่ยนแปลงอะไรในที่ปรึกษาอีกต่อไป
การทำงานกับ Booster มีลำดับดังนี้:
1. ไปที่โปรแกรมเพิ่มประสิทธิภาพ MT5 (ตัวทดสอบ) และกำหนดวันที่เริ่มต้นและสิ้นสุดสำหรับการเพิ่มประสิทธิภาพบนข้อมูลประวัติ รวมถึงพารามิเตอร์ที่จำเป็นอื่นๆ ทั้งหมด (สัญลักษณ์และอื่นๆ)
2. ตั้งค่าโหมดการเพิ่มประสิทธิภาพ (ช้า กวาดพารามิเตอร์เต็ม) เนื่องจาก Booster จะจัดการการเพิ่มประสิทธิภาพนี้เอง
3. ไปที่การตั้งค่าที่ปรึกษา ทำเครื่องหมายในช่องสำหรับพารามิเตอร์ CNT_P และตั้งค่าค่าและขั้นตอนเพื่อให้แน่ใจว่ามีการทำงานตามจำนวนที่ต้องการ
4. เริ่มการเพิ่มประสิทธิภาพโดยเลือกตัวแทนในพื้นที่ทั้งหมด หากมีแกน CPU 4 แกนหรือต่ำกว่า ขอแนะนำให้ปิดใช้งานตัวแทนหนึ่งตัว
5. เปิดโปรแกรม Booster บนแผนภูมิใดๆ ของสัญลักษณ์ใดๆ และกรอบเวลาใดๆ ก็ได้ โปรแกรม Booster จะแสดงหน้าต่างที่ขอให้คุณเลือกโฟลเดอร์ของที่ปรึกษา เลือกโฟลเดอร์ของที่ปรึกษา แล้วโปรแกรม Booster จะเริ่มทำงาน! หลังจากนั้น หน้าต่าง Booster จะปรากฏบนแผนภูมิ:
หน้าต่าง Booster จะแสดงกิจกรรมเป็นสีแดง (ตัวนับการทำงาน) ผลลัพธ์ที่พบที่ดีที่สุด จำนวนงานที่ส่ง จำนวนงานที่เสร็จสมบูรณ์ และจำนวนงานที่เสร็จสมบูรณ์โดยแต่ละตัวแทน
6. หากผลลัพธ์เป็นที่น่าพอใจ คุณสามารถหยุดการเพิ่มประสิทธิภาพได้ตลอดเวลา ดังต่อไปนี้ ขั้นแรก ให้หยุดโปรแกรมเพิ่มประสิทธิภาพ MT5 จากนั้นจึงหยุด Booster โดยคลิกปุ่มที่มีเครื่องหมายกากบาท
หากคุณรันที่ปรึกษาที่เตรียมไว้ตามคำแนะนำข้างต้นบนแผนภูมิ ที่ปรึกษาจะอ่านการตั้งค่าที่ดีที่สุดที่เตรียมไว้หลังจากการปรับให้เหมาะสมโดย Booster และเริ่มทำงาน
ขอให้คุณประสบความสำเร็จในการเพิ่มประสิทธิภาพและได้รับผลลัพธ์ที่ดีที่สุดในการซื้อขาย!