for(int cnt=OrdersHistoryTotal()-1; cnt>0; cnt--)
เปลี่ยนเป็น
for(int cnt=OrdersHistoryTotal()-1; cnt>=0; cnt--)
ถ้ามีเลข 0 ถึง 9 (10 จำนวน)
ภาษาที่เป็น zero index จำไว้ว่าถ้าเป็นการวนลูปจากมากไปน้อย ให้ เริ่มจาก จำนวน-1 ก็คือเริ่มที่ 9 แล้วเช็คว่า >=0 หรือยัง
ถ้าเช็คแค่ >0 รอบที่ cnt เป็น 0 มันจะไม่ทำงาน
if ( TimeToStr(OrderOpenTime()) >= TimeToStr(TimeStart))
เปลี่ยนเป็น
if(OrderOpenTime() >= TimeStart)
OrderOpenTime() เป็น datetime และ TimeStart ก็เป็น datetime เหมือนกัน compare กันได้เลย
ตัวแปร string มัน compare แบบมากกว่า น้อยกว่าไม่ได้ เพราะมันไม่ใช่ตัวเลขครับ
ถ้าอธิบายผิดพลาด ต้องขออภัยด้วย ผ่านมายี่สิบกว่าปีแล้ว
