Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: เราจะกำหนด TP ของหลายๆ Order ให้มาเป็น TP ตรงจุดเดียวกันได้อย่างไรครับ  (Read 14417 times)

Torred

  • Newbie
  • *
  • Posts: 7
คืออยากทราบว่าถ้าเราเปิดมากกว่าหนึ่ง order ในราคาที่ต่างกันแต่อยากให้มี tp ตรงจุดเดียวกันจะต้องเขียนโค๊ตอย่างไรครับ ใครรู้รบกวนด้วยครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
1. หาค่าเฉลี่ยของราคาทั้งหมดก่อนครับ
2.เมื่อได้ค่าเฉลี่ยนแล้วจะให้ได้กำไรเฉลี่ยกี่จุดก็บวกเพิ่มเข้าไปจากราคาที่ได้
3.วน Loop เพื่อแก้ไขค่า TP ของ Order ทั้งหมด

หลักๆมีแค่นี้ครับ

Torred

  • Newbie
  • *
  • Posts: 7
admin ครับพอจะมีตัวอย่างให้ศึกษามั๊ยครับ
ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
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);
  }

Torred

  • Newbie
  • *
  • Posts: 7
ขอเพิ่มอีกนิดนะครับ admin แล้วถ้าหากว่าเราใช้ Lot ที่ไม่เท่ากันตัวอย่างที่ให้มามันจะใช้ได้มั๊ยครับหรือว่ามีหลักการในการคิดอย่างอื่นครับ ช่าวแนะนำทีครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ถ้า lot ไม่เท่าต้องเอา lot มาคิด โดยเอาจำนวน lot คูณเข้ากับราคาเปิดก่อนบวกสะสม เมื่อครบทุก order แล้วเอาค่าที่เราบวกสะสมได้มา  หาร   ด้วยจำนวน Order ทั้งหมด ที่คูณด้วยจำนวน Lot ทั้งหมดครับ มันจะได้ค่าเฉลี่ยของทั้งหมดออกมา

Torred

  • Newbie
  • *
  • Posts: 7
ขอบคุณครับ admin ผมพอจะมองเห็นภาพแล้วล่ะครับ