Sunday, April 19, 2026
Homeการซื้อขายรหัสเพิ่มเติมที่บันทึกแผนภูมิยอดคงเหลือและตราสารทุน และคำนวณเกณฑ์การปรับให้เหมาะสมเพิ่มเติม - อื่นๆ - 26 มกราคม 2569

รหัสเพิ่มเติมที่บันทึกแผนภูมิยอดคงเหลือและตราสารทุน และคำนวณเกณฑ์การปรับให้เหมาะสมเพิ่มเติม – อื่นๆ – 26 มกราคม 2569


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

หากคุณมีสิทธิ์เข้าถึงโค้ด Knowledgeable Advisor คุณสามารถขยายรายงานได้โดยการเพิ่มโค้ดเพิ่มเติม

ดาวน์โหลด รายงานการเพิ่มประสิทธิภาพขั้นสูง Saver.mqh จากลิงค์ที่แนบมาด้านล่างและบันทึกลงในโฟลเดอร์เทอร์มินัล MQL5รวม

เพิ่มรหัสที่เชื่อมต่อกับไฟล์ที่ดาวน์โหลด: (คุณสามารถเพิ่มไว้ใต้บรรทัดสุดท้ายของรหัส Knowledgeable Advisor ของคุณหรือที่อื่นก็ได้)

#embrace <Superior Optimization Report Saver.mqh>

จากนั้นคุณจะต้องเพิ่ม โทร ไปยังฟังก์ชันที่ส่งออกไปยังฟังก์ชันที่มีอยู่ใน Knowledgeable Advisor ของคุณ: (หากไม่มีฟังก์ชัน ให้เพิ่มเข้าไป)

void OnTick(){
   
   
   
   save_OnTick(TimeCurrent(), AccountInfoDouble(ACCOUNT_BALANCE), AccountInfoDouble(ACCOUNT_EQUITY));
}

void OnTesterInit()  {
   

   save_OnTesterInit();
}
void OnTesterDeinit(){
   

    save_OnTesterDeinit();
}

double OnTester(){
   

   
   double AvgPips=0;
   save_Add( AvgPips, 2, "Customized 1", true);
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Customized 2");
   double Customized = 0;
   saveCharts(Customized);
   return Customized;
}

ใน พื้นที่ไฮไลต์คุณสามารถเพิ่มเกณฑ์ของคุณเองที่คุณต้องการรวมไว้ได้ รายงานการเพิ่มประสิทธิภาพขั้นสูง.

ตัวอย่างเช่น ลองเพิ่มโค้ดนี้ลงใน Shifting Common Knowledgeable Advisor จากโฟลเดอร์ Examples (…MQL5ExpertsExamplesMoving AverageMoving Common.mq5) ขั้นแรก คัดลอก Knowledgeable Advisor เดิมและตั้งชื่อเป็น Shifting Common Charts.mq5 ตอนนี้ให้เพิ่มโค้ดจากคำแนะนำด้านบนลงไป

ที่ การเปลี่ยนแปลง อยู่ที่ส่วนท้ายสุดของโค้ดเท่านั้น โดยเริ่มจากฟังก์ชัน OnTick():

void OnTick(void)
  {

   if(SelectPosition())
      CheckForClose();
   else
      CheckForOpen();
   
   save_OnTick (TimeCurrent(), AccountInfoDouble( ACCOUNT_BALANCE), AccountInfoDouble( ACCOUNT_EQUITY));
  }

void OnTesterInit()  {
   

   save_OnTesterInit();
}
void OnTesterDeinit(){
   

    save_OnTesterDeinit();
}

double OnTester(){
   

   
   double AvgPips=0;
   save_Add( AvgPips, 2, "Customized 1", true);
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Customized 2");
   double Customized = 0;
   saveCharts(Customized);
   return Customized;
}

#embrace <Superior Optimization Report Saver.mqh>

อย่างที่คุณเห็น มันค่อนข้างง่ายและใช้เวลาเพียงไม่กี่นาที

หลังจากนั้น คุณสามารถดำเนินการปรับให้เหมาะสมได้:

ภาพหน้าจอสุดท้ายแสดงให้เห็นว่าโค้ดที่เชื่อมต่อได้เพิ่มพารามิเตอร์ 2 ตัว:

  1. บันทึกสถิติ – เปิดหรือปิดการรวบรวมสถิติ
  2. พิกเซลในแผนภูมิสมดุลและส่วนทุน – ระบุจำนวนพิกเซลในความกว้างของมินิชาร์ต

เมื่อการเพิ่มประสิทธิภาพเสร็จสมบูรณ์ คุณสามารถสร้างรายงานและดูสิ่งต่อไปนี้:

100 เส้นด้วย ระยะเวลาการเคลื่อนย้าย

10 เส้นด้วย การเคลื่อนย้ายกะ

หากมีมากกว่า 20 เส้น ระบบจะแสดงค่าเฉลี่ยแนวนอนเพียง 3 เส้นเท่านั้น: 3 เส้นด้านบนและ 3 เส้นด้านล่าง

การรับรู้ 100 บรรทัดเป็นเรื่องยาก ดังนั้นคุณต้องใช้ตัวกรอง หรือคุณสามารถปรับขนาดแผนภูมิเป็น 100% ของความกว้างหน้าจอ หรือคลิกที่แผนภูมิเพื่อเปิดใน Google Charts ซึ่งช่วยให้คุณสามารถซูมโดยใช้ล้อเลื่อนของเมาส์ได้
จะดีกว่าถ้าใช้ตัวแปรอินพุตที่ไม่ได้ใช้ขั้นตอนเดียวกัน แต่ใช้มาตราส่วนผ่านตัวแจงนับ (แจงนับ) เช่น: 1,2,3,5,7,10,15,20,30,50,70,100 – จะมีเพียง 12 บรรทัด แทนที่จะเป็น 100

enum nums1 {__0=0, __1=1, __2=2, __3=3, __5=5, __7=7, __10=10, __15=15, __20=20, __30=30, __50=50, __70=70, __100=100, __150=150, __200=200, __300=300, __500=500};
enter nums1 MovingPeriod = 10; 

คุณสามารถดาวน์โหลด เวอร์ชันแจงนับ ของที่ปรึกษาผู้เชี่ยวชาญด้านล่าง

แทนที่จะผ่านการปรับให้เหมาะสม 1,000 ครั้ง จะมี 120 ครั้ง และเวลาในการคำนวณจะเร็วขึ้น ~8 เท่า และขนาดไฟล์จะเล็กลง ~8 เท่า
ผลลัพธ์จะมองเห็นได้ชัดเจนยิ่งขึ้น:

ผลลัพธ์ที่มี MovingPeriod = 15 โดดเด่นทันที โดยมีเส้นเฉลี่ยสูงสุดและสูงสุดสูงสุด
อย่างไรก็ตาม ดังเช่นที่เป็นอยู่บ่อยครั้ง ผลลัพธ์ที่ดีที่สุดของ Backtest ไม่ใช่สิ่งที่ดีที่สุดสำหรับการทดสอบล่วงหน้า:

คุณสามารถ เปิดและตรวจสอบรายงานผลลัพธ์.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

ความเห็นล่าสุด