Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: อยากสอบถามวิธีการนำค่าของ order เก่าที่ปิดไปแล้วมาใช้งานครับ  (Read 7149 times)

mildassassin

  • Jr. Member
  • **
  • Posts: 59
พอดีว่าผมต้องการเขียน ea ให้ตรวจสอบค่า profit น่ะครับว่ามันได้กำไรรึเปล่า
ถ้าสมมติว่าได้กำไรก็ไม่ต้องทำอะไร
แต่ถ้าสมมติว่า order ที่แล้วมีการขาดทุนเกิดขึ้น ผมอยากให้ ea มันทำการเพิ่มขนาด lots น่ะครับ
ไม่ทราบว่ามีวิธีไหนมั๊ยครับที่เราจะสามารถเอาค่าของ order ที่แล้วมาใช้ในการตรวจสอบค่าน่ะครับ
เช่น order ที่ 12345 ได้ close ไปแล้ว แต่ค่า profit มันเป็นค่าติดลบ สมมติ เป็น -2.00 น่ะครับ
คราวนี้พอถึงคราวจะเปิด order ใหม่ ให้เอาค่าของ lots ไปคูณ 2
ประมาณนี้น่ะครับ
รบกวนสอบถามเท่านี้ก่อนนะครับ
ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
เขียนแบบนี้ครับเป็นการเรียกค่าของ order สุดท้ายที่ปิดไปแล้วครับ

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
    double lastlot=OrderLots();
    double lastprofit=OrderProfit();

จากนั่นก็ให้เอาค่า lastprofit ไปตรวจสอบถ้าเป็นลบคุณก็เอาค่า lastlot ไปเป็นฐานในการเขียนเพิ่ม lot ของคุณได้เลยครับ

TvT

  • Full Member
  • ***
  • Posts: 133
ถามเหมือนกันเลยแฮะ

 ;D ;D ;D

mildassassin

  • Jr. Member
  • **
  • Posts: 59
ถามทีไร ได้คำตอบดี ๆ ทุกทีเลยครับ  ;D
ขอบคุึณ Admin มาก ๆ ครับ  ;D

samuraiX

  • Newbie
  • *
  • Posts: 41
แล้วถ้าจะเช็ค พวกค่า magic ด้วยอ่ะครับทำไงหรอครับ
คือผมกลัว มันจะไปเช็ค order ของ ea ตัวอื่น
(กำลังอยากรู้อยู่พอดีเลย  :D)

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
double lastlot;
    double lastprofit;

for(int i= OrdersHistoryTotal()-1;i>0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);

   if(OrderMagicNumber()=="magicของ EA คุณ")
  {
     lastlot=OrderLots();
     lastprofit=OrderProfit();
     i=0;
   }
 

}
}