ผมมีอินดิเคเตอร์ตัวหนึ่งชื่อว่า sniper train มันไม่สามารถดึงค่าออกมาได้ ไม่สามารถ iCustom ได้ครับ
ผมก็เลยใช้วิธีการค้นหาค่าที่ต้องการบนหน้าต่างกราฟเลย โดยใช้คำสั่ง StringFind(name,"PZDT-+",0) เพื่อหา object ที่มีชื่อว่า "PZDT-+" ทั้งหมด
แต่ปรากฏว่า มันไม่เรียงกันอีกในลำดับก่อนหลังที่แสดง ผมจึงใช้วิธีค้นหาชื่อด้วย และแสดงเวลาของ object นั้นด้วย และลองใช้คำสั่ง Print ออกมาตามภาพ
ปัญหาก็คือ ผมต้องการเก็บข้อมูลพวกนี้ไว้ใน array เรียงตามลำดับก่อนหลัง ขอแค่ 4 ค่าหลังสุดพอเพื่อที่จะนำมาใช้งานครับ
*จะสังเกตุว่า ในรูป ค่า
+299 จะอยู่ที่ i ลำดับที่ 3 แต่ค่าในกราฟมันคือค่าแรกเลย
+591 จะอยู่ที่ i ลำดับที่ 5 แต่ค่าในกราฟคืออันที่ 2
+348 จะอยู่ที่ i ลำดับที่ 4 แต่ค่าในกราฟคืออันที่ 3
มันจะไม่เรียงกันเลยครับ ผมต้องการเรียงกันแล้วเก็บข้อมูลใหม่เรียง 1 2 3 4 ครับ
โค๊ดที่เขียนมาได้คือ
string name;
for(int cnt=ObjectsTotal()-1;cnt>=0;cnt--)
{
name=ObjectName(cnt);
if (StringFind(name,"PZDT-+",0)>-1)
{
value1 = ObjectGet(name, OBJPROP_PRICE1);
valTime1 = ObjectGet(name, OBJPROP_TIME1);
Print(cnt," name : ",name," value : ",value1," valTime1 : ",valTime1);
}
}