EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: praphom on ตุลาคม 27, 2016, 01:21:22 pm
-
สมมุติมีการเปิดออร์เดอร์หลายๆอัน ในหลายๆคู่เงิน แต่มี 3 ออร์เดอร์ ในคู่เงินที่ต้องการเก็บข้อมูล จะมีวิธีเขียนยังไงครับ
ผมลองวนลูปแบบนี้ มันก็ได้ข้อมูลออร์เดอร์แรก (ถ้าไม่ใส่ break มันก็ได้ข้อมูลออร์เดอร์สุดท้าย)
for(int i=0;i<OrdersTotal();i++)
if (OrderSelect((i),SELECT_BY_POS,MODE_TRADES)==true && OrderSymbol()==Symbol()) break;
int or=OrderTicket();
อยากให้มันออกผลลัพภ์มาทั้งหมด ของคู่เงินที่ต้องการครับ แบบนี้ครับ
order1 # 123456
order2 # 654321
order3 # 555666
-
งันผมถาม ก่อน 3 Order ที่คุณจะเก็บนี้มันเรียงกัน หรือกระจายหรืออยู่ในลัการะอะไรครับ
-
สมมุติมีการเปิด 10 ออร์เดอร์เรียงกันตามเวลาเปิดแบบนี้
buy audcad lot 1.0
sell euraud lot 1.0
buy chfjpy lot 1.0
buy audcad lot 2.0
sell usdaud lot 1.0
sell gbpjpy lot 1.0
buy audcad lot 3.0
sell usdaud lot 2.0
buy chfjpy lot 2.0
sell euraud lot 2.0
ผมต้องการทราบว่า เฉพาะคู่เงิน audcad มีออร์เดอร์หมายเลขอะไรบ้าง แต่ละออร์เดอร์มีกำไรหรือขาดทุนเท่าไหร่ และผลรวมของทั้ง 3 ออร์เดอร์ขาดทุนหรือกำไรเท่าไหร่ ประมาณนี้ครับ
ขอบคุณครับ
-
int start()
{ int sum=0;
int ticket[];
double profit[];
for(int i=0;i<OrdersTotal();i++)
{
int a=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()=="AUDCAD")
{ ticket[sum]=OrderTicket();
profit[sum]=OrderProfit();
sum++;
}
}
for(i=0;i<=sum;i++)
{
Print("Order ",i,ticket," ",profit);
}
return (0);
-
ขอบคุณครับ พอได้ไอเดียแล้ว