เขียน EA แสดงข้อความบนชาร์ต — วิธีดีบักว่า EA กำลังเห็นค่าอะไรอยู่

เขียน EA

เขียน EA ให้แสดงข้อความบนชาร์ต — เครื่องมือดีบักที่เบาที่สุดที่ควรใส่ทุกตัว

เวลา EA ทำงานไม่ตรงกับที่คิด สิ่งที่ช่วยได้เร็วที่สุดคือให้มันบอกออกมาเองว่ากำลังเห็นค่าอะไร — วาดข้อความไว้มุมชาร์ตด้วย OBJ_LABEL แล้วอัปเดตค่าทุกครั้งที่ราคาขยับ

อ่านฉบับเต็มที่นี่ → เริ่มต้นเขียน EA (MQL4) — โครงไฟล์ ฟังก์ชันหลัก Bid/Ask และ 5 บั๊กที่มือใหม่เจอซ้ำ
บทความหลักมีโค้ดฟังก์ชันแสดงสถานะเต็ม ๆ ที่รวมกำไรทุกไม้และบวก swap กับค่าคอมมิชชันแล้ว

หน้าตาที่ได้

ชาร์ต GBPUSD ที่มีข้อความ Order Ticket 349 Profit: 75 แสดงอยู่มุมซ้ายบน จาก EA
ข้อความมุมซ้ายบนคือสิ่งที่ EA เขียนออกมาเอง — เห็นได้ทันทีว่ามันกำลังมองไม้ไหนและคิดกำไรได้เท่าไร โดยไม่ต้องไล่อ่าน Journal

3 จุดที่ตัวอย่างเก่ามักทำพลาด

1

ประกาศเป็น int แล้วไม่ได้ return ทุกทาง

ฟังก์ชันที่ประกาศว่าคืนค่า int แต่มีเส้นทางที่วิ่งจบโดยไม่เจอ return ⇒ ตัวคอมไพเลอร์เตือน และค่าที่ได้กลับมาเป็นอะไรก็ไม่รู้ · ถ้าแค่วาดข้อความ ให้ประกาศเป็น void ไปเลยจะตรงกับงานมากกว่า

2

return ทันทีที่เจอไม้แรก

วนลูปดูออเดอร์แล้ว return ออกตั้งแต่ไม้แรกที่ตรงเงื่อนไข ⇒ ตัวเลขที่แสดงคือกำไรของไม้เดียว ไม่ใช่ของทั้งหมด · ถ้ามีหลายไม้จะเข้าใจผิดว่าพอร์ตกำลังไปได้ดี

3

นับแต่ OrderProfit() เพียว ๆ

ไม่บวก OrderSwap() กับ OrderCommission() ⇒ ตัวเลขบนชาร์ตไม่ตรงกับยอดที่หักจริงในบัญชี โดยเฉพาะไม้ที่ถือข้ามคืน · เรื่องต้นทุนถือข้ามคืนอยู่ที่ ค่า swap คิดยังไง

⚠️
อย่าลืมลบของที่วาดไว้ตอนถอด EA — ป้ายที่ค้างบนชาร์ตหลังถอด EA ออกจะยังโชว์ค่าเก่า ⇒ รอบหน้าที่ลาก EA ลงมาใหม่จะเห็นค่าเก่าปนค่าใหม่แล้ววินิจฉัยผิด · ใส่ ObjectsDeleteAll() ที่ขึ้นต้นด้วยชื่อของ EA ตัวเองไว้ใน OnDeinit() เสมอ

อ่านต่อในบทความหลัก

  • โค้ดฟังก์ชันแสดงสถานะเต็ม ๆ — รวมกำไรทุกไม้ของ EA ตัวนั้น บวก swap และคอมมิชชัน และสร้าง object ครั้งเดียวไม่สร้างซ้ำทุก tick
  • โครงไฟล์ EA ที่ก็อปไปใช้ได้เลย — พร้อม OnDeinit() ที่เก็บกวาดให้เรียบร้อย
  • 5 บั๊กที่มือใหม่เจอซ้ำ — Magic Number · ตัวคุมแท่ง · การตั้ง TP ผิดข้างสเปรด

→ อ่านฉบับเต็ม: เริ่มต้นเขียน EA (MQL4)

บทความนี้เป็นเนื้อหาให้ความรู้ด้านการเขียนโปรแกรมเท่านั้น ไม่ใช่คำแนะนำการลงทุน การเทรดมีความเสี่ยงที่จะสูญเสียเงินลงทุน ผู้อ่านควรศึกษาและตัดสินใจด้วยตนเอง

ความคิดเห็น

Related stories