Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: รบกวน Admin ขอความรู้เกียวกับ การ OrderModify (TrailingStop) ทุกOrder  (Read 15574 times)

Nantipat

  • Newbie
  • *
  • Posts: 9
 :'(รบกวน Admin หรือผู้รู้ครับ
ผมจะสามารถให้ OrderModify (TrailingStop)ทุกOrder ที่เข้าเงื่อนไขตามที่เราตั้งไว้ได้ไหมครับ
เช่น EA เปิดทั้งหมด 10 Order
TrailingStop  ที่ 150 pips พอถึง150 pips แล้ว Order ที่ EA เปิดไว้ เข้าเงื่อนไข TrailingStop 5 Order
 ???จะต้องเขียน code แบบไหน ครับถึงจะ Modify 5  Order ที่เข้าเงื่อนไขตามที่เราตั้งไว้พร้อมกันครับ ???

 :)ขอบคุณครับ
จากcode นี้ จะ Modify แค่ ทีละ1 Order ครับ
{
 int ordertotal=OrdersTotal()-1;
  for(;ordertotal>=0;ordertotal--){
    int Count=OrderSelect(ordertotal,MODE_TRADES);
      if(OrderMagicNumber( )== Magic )
          if(OrderType()== OP_BUY)   // long position is opened
           {
            if(TrailingStop>0) 
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     int res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*TrailingStop,Digits),OrderTakeProfit(),0,Green);
                     if(!res)
                     Print("Error in OrderModify. Error code=",GetLastError());
                     else
                     Print("Order modified successfully.");
                    }
                      }
                        }
           else
            {
             if(TrailingStop>0) 
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                  {
                     int res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask-Point*TrailingStop,Digits),OrderTakeProfit(),0,Red);
                     if(!res)
                     Print("Error in OrderModify. Error code=",GetLastError());
                     else
                     Print("Order modified successfully.");
                     }
                       }   
                         }
                          return (TrailingStop);
                           }

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
คือจะให้มันตั้ง Trailling ทุก order ที่เข้าเงื่อนไขใช่ไหมครับ ผมต้องถามก่อน ทุก order นี้เปิดพร้อมกันหรือเปล่าครับ เพราะ Trailing มันจะดูราคาเปิดเป็นหลัก 

Nantipat

  • Newbie
  • *
  • Posts: 9
คือจะให้มันตั้ง Trailling ทุก order ที่เข้าเงื่อนไขใช่ไหมครับ ผมต้องถามก่อน ทุก order นี้เปิดพร้อมกันหรือเปล่าครับ เพราะ Trailing มันจะดูราคาเปิดเป็นหลัก 

คือจะให้มันตั้ง Trailling ทุก order ที่เข้าเงื่อนไขใช่ไหมครับ=ใช่ครับ
ทุก order นี้เปิดพร้อมกันหรือเปล่าครับ= ทุกOrder ไม่ได้เปิดพร้อมกันครับ ทุกๆ 4 ชม. จะเปิด 1 Order ถ้าเข้าเงื่อนไขในการเปิดครับ และจะเปิดสูงสุดที่  100 Order ครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ผมเดาน่าจะผิดตรงนี้ครับ
 for(;ordertotal>=0;ordertotal--){

คุณไม่ได้ใส่ค่าเริ่มต้นให้มัน มันเลยไม่ได้วนลูปหรือเปล่า ไม่แน่ใจเหมือนกันผมไม่เคยเขียนไม่ครบแบบนี้

ตามปกติน่าจะเขียนแบบนี้ครับ
int ordertotal=OrdersTotal()-1;
  for(ordertotal;ordertotal>=0;ordertotal--){

Nantipat

  • Newbie
  • *
  • Posts: 9
ขอบคุณครับ