Common Code Errors in AmiBroker

Code Errors ที่มักเจอกันบ่อยๆใน AmiBroker โดยเฉพาะสำหรับผู้เริ่มต้นและมือใหม่ ซึ่งบทความนี้จะมาทำการชี้แจง Errors ต่างๆ ร่วมถึงวิธีสังเกตุและการแก้ไข

Code Errors ที่พบบ่อยๆในการเขียนโค้ด AmiBroker

1. ลืมใส่ ; ท้ายบรรทัด

2. ลืมใส่ หรือ ในบางฟังก์ชั่น เช่น

  • SetOption(InitialEquity, 1000000);//ลืมใส่ “…”
  • SetOption(“InitialEquity, 1000000);//ลืมใส่ ”

3. พิมพ์ชื่อตัวแปรผิด เช่น

  • SetOption(“MinShare”, 100);
  • SetOption(“MinShares”, 100);

4. ใส่ข้อมูลในฟังก์ชั่นไม่ครบ เช่น

  • _shortMA = optimize(“_shortMA”, 10, 5, 30);//ผิด ตก Step
  • _shortMA = optimize(“_shortMA”, 10, 5, 30, 5);

5. เรียกใช้ตัวแปรก่อนประกาศใช้

6. ประกาศชื่อตัวแปรแล้ว แต่พอนำมาใช้ดันพิมพ์ชื่อผิด เช่น Buy = C > MA(C, _shortSMA);

7. ลืมใช้ Ref อย่างถูกต้อง เช่น Buy = C > HHV(C, 100);//เป็นเท็จเสมอ!

8. ลืมใช้โค้ด ป้องกัน การแตกหุ้น Split

9. ลืมโค้ดตั้งค่าต่างๆที่สำคัญต่อการ Backtest เช่น MinShares, RoundLotSize, Commission, BuyPrice, SellPrice, Short, Cover, …

10. โค้ด Assign ค่า แทนที่จะโค้ด Condition เช่น

  • Buy = Ref(HHV(C, 100), -1);//ผิด
  • Buy = C > Ref(HHV(C, 100), -1);// ==, != , >=, <=

11. เงื่อนไข Buy และ Sell ขัดแย้งกัน หรือไม่ได้เป็น Exactly Opposite Condition เช่น

  • Buy = MACD() > 0;
  • Sell = MACD() < Signal(); //ผิดทั้งสองบรรทัด

12. เวลาเกิด Error เอาแต่ดูบรรทัดที่ AmiBroker บอก ไม่ยอมไล่โค้ดขึ้นไปว่าจริงๆแล้ว Error มาจากบรรทัดก่อนหน้านั้น

13. ไม่ตั้งค่า Filter ให้ถูกต้อง ทั้ง WatchList และ From-To Date

วิดีโอสอน AmiBroker เรื่อง Common Code Errors in AmiBroker

 

AmiBroker Coding Challenge จงแก้ไขให้โค้ดนี้ Backtest ได้

 

วิดีโอเฉลยการแก้ไขโค้ดในตัวอย่างให้ถูกต้อง

 

เพิ่มเติม