ปัญหา Error 131 ผมเจอบ่อยครับ เท่าที่ผมมั่วๆดูนะครับ พอจะเข้าใจประมาณนี้
คือประมาณว่าเราสั่งเป็น risk % แล้วโปรแกรมมันคำนวนออกมาเป็น 0.013 lot มันเลย order ใ่ม่ได้ มันต้องเป็น 0.01 หรือ 0.01000000 ถึงจะผ่าน ถ้าเป็น 1.0012300 อะไรประมาณนี้มันจะไม่ผ่าน ต้องทำการ clean ค่าให้มันรับได้ ต้องตัดเลขที่เลย สองหลักออกไปเป็น 00 ให้หมด อันนี้ผมเดาเอานะ ต้องให้โปรแกรมเมอร์ตัวจริงมา confirm ครับ
ถ้ามี code สามารถแก้ไขได้อาจจะไปเพิ่มคำสั่ง(ฝรั่งบอกในเว็บ)
NormalizeDouble(Lots,2);
ลองเอาเวอร์ชั่นโมของท่าน iRuler ไปลองทดสอบดูครับ เพราะเขียนไว้ให้แล้ว
LotSize=NormalizeDouble(p/((MarketInfo(Symbol(),MODE_TICKVALUE)/MarketInfo(Symbol(),MODE_TICKSIZE))),2);
ส่วนตัวผมว่าน่าจะเขียนไว้แล้วนะ ที่เหลือปัญหาอยู่ที่โบรกครับ ว่าโบรกตั้งค่า minimum step order ไว้เท่าใหร่ ต้องลอง print ค่าของโบรกออกมาดู
แอคเค้าไมโครของ XM ลองปรับ ใช้ fix lot ตายตัวเป็น 1 Lot ดูครับ
ไมโครใช้ไม่ได้คงต้องเปลี่ยนมาใช้แอคเค้า standard ดูครับ เปิดแอคเค้า standard ใหม่เลยครับ