บางทีเขียนโค้ด EA ผิดเล็กน้อย รันไม่ผ่าน หาตั้งนาน ไม่รู้ผิดตรงไหน แบ่งใส่ Comment ทีละครึ่ง ใช้เวลานาน กว่าจะหาบรรทัดที่ผิดเจอ ก็เลย รวบรวมว่า มักจะผิดพลาดง่าย ๆ เช่น
1.มักผิดเนื่องจากลืมใส่ Type
extern init_Lot = 0.01;
-แก้ไขเป็น
extern double init_Lot = 0.01;
2.มักผิดเนื่องจากคิดว่าใช้สูตรถูกแล้วเลยไม่ได้ลองแทนค่า
กรณีเบิ้ล lot คำนวณค่า max_lot เข้าใจผิดว่าใช้จำนวนไม้คูณกับ lot เริ่มต้น เช่น
max_lot = init_lot*max_loss_trade;
แทนค่า ถ้า max_loss_trade = 4 และ init_lot = 0.01 แล้ว max_lot = 0.01*4 = 0.04 (ซึ่งผิด)
-แก้ไขเป็น
max_lot = fixed_lot*MathPow(2,max_loss_trade-1);
แทนค่า max_lot = 0.01*(2^(4-1))
= 0.01*(2^3)
= 0.01*8
= 0.08
ลองไล่เรียงดูตามนี้ 0.01, 0.02, 0.04, 0.08 ซึ่งเป็นไปตามที่ต้องการ
3.เปลี่ยนชื่อตัวแปร ตรงที่ประกาศไว้ แต่ไม่ได้เปลี่ยนในโค้ด ให้ครบทุกตัว
4.เครื่องหมาย ;
มักจะลืมใส่ท้ายคำสั่ง
หรือใส่เกินท้ายที่ที่ไม่ต้องใส่ เช่นท้ายฟังก์ชั่น
5.มักจะลืมเครื่องหมาย () หลังฟังก์ชั่น
6.ประกาศตัวแปรอะเรย์ไว้เช่น int Tick[3];
เวลานำไปใช้งานจะสามารถใช้งานได้ 3 ตัวแปรย่อยได้แก่
Tick[0], Tick[1], Tick[2]
จะใช้ Tick[3] ไม่ได้เพราะแม้จะไม่ error ให้เห็นแต่คำสั่งบรรทัดที่เกี่ยวข้องนั้นไม่ทำงาน
ขอบคุณครับ สำหรับความรู้ที่แบ่งปัน
ตอบลบ