EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: Torred on กรกฎาคม 30, 2015, 01:25:31 pm
-
คืออยากทราบว่าถ้าเราเปิดมากกว่าหนึ่ง order ในราคาที่ต่างกันแต่อยากให้มี tp ตรงจุดเดียวกันจะต้องเขียนโค๊ตอย่างไรครับ ใครรู้รบกวนด้วยครับ
-
1. หาค่าเฉลี่ยของราคาทั้งหมดก่อนครับ
2.เมื่อได้ค่าเฉลี่ยนแล้วจะให้ได้กำไรเฉลี่ยกี่จุดก็บวกเพิ่มเข้าไปจากราคาที่ได้
3.วน Loop เพื่อแก้ไขค่า TP ของ Order ทั้งหมด
หลักๆมีแค่นี้ครับ
-
admin ครับพอจะมีตัวอย่างให้ศึกษามั๊ยครับ
ขอบคุณครับ
-
int start()
{ double temp=0;
int buyorder=0;
for(int i=0 ;i<OrdersTotal();i++)
{
int a= OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
temp=temp+OrderOpenPrice();
buyorder++;
}
}
double avg = temp/buyorder;
printf("AVG = ",avg);
return (0);
}
-
ขอเพิ่มอีกนิดนะครับ admin แล้วถ้าหากว่าเราใช้ Lot ที่ไม่เท่ากันตัวอย่างที่ให้มามันจะใช้ได้มั๊ยครับหรือว่ามีหลักการในการคิดอย่างอื่นครับ ช่าวแนะนำทีครับ
-
ถ้า lot ไม่เท่าต้องเอา lot มาคิด โดยเอาจำนวน lot คูณเข้ากับราคาเปิดก่อนบวกสะสม เมื่อครบทุก order แล้วเอาค่าที่เราบวกสะสมได้มา หาร ด้วยจำนวน Order ทั้งหมด ที่คูณด้วยจำนวน Lot ทั้งหมดครับ มันจะได้ค่าเฉลี่ยของทั้งหมดออกมา
-
ขอบคุณครับ admin ผมพอจะมองเห็นภาพแล้วล่ะครับ