traderider forex ไทย

เปิดออเดอร์2ออเดอร์ ถ้าเอากำไรทั้ง2ออเดอร์มาบวกกันเกิน1แล้วให้ปิดออเดอร์ทั้งสอง

  • 4 replies
  • 694 views

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ขอคำแนะนำหน่อยครับว่าจะเอากำไรทั้งสองออเดอร์มาบวกกันยังไง

Share Topic.

Follow Me.


traderider forex ไทย
traderider forex ไทย
traderider forex ไทย
*

ออฟไลน์ gaothun

  • **
  • 90
  • 0
   for(cnt=0;cnt<OrdersTotal();cnt++)   
   {
     result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()==Symbol() )
     {            
          Profit += OrderProfit();
           }
   }

   for(cnt=0;cnt<OrdersTotal();cnt++)   
   {
     result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()==Symbol() )
     {            
          Profit += OrderProfit();
           }
   }

extern string sym1 = "" ;
extern string sym2 = "" ;
extern double lot = 1;

int OnInit()
  {
//---
  if (OrderSend(sym1,OP_BUY,lot,MarketInfo(sym1,MODE_ASK),0,0,0,NULL,1,0,clrGreen));
  else Print("OrderSent Eror Code : ",GetLastError());
  if (OrderSend(sym2,OP_BUY,lot,MarketInfo(sym2,MODE_ASK),0,0,0,NULL,2,0,clrBlue));
  else Print("OrderSent Eror Code : ",GetLastError());
 
//---
   return (INIT_SUCCEEDED);
 
  }

ต้องเขียนต่อยังไงหรอครับ ถ้าจะเอากำไรทั้งสองอันมาบวกกัน ถ้าเกิน1 ให้ปิดทั้งสองออเดอร์

*

ออฟไลน์ gaothun

  • **
  • 90
  • 0
extern string sym1 = "" ;
extern string sym2 = "" ;
extern double lot = 1;
double Profit;
int mode;
int result;
int ticket;

int OnInit()
  {
//---
   Profit=0;
   for(int cnt=0;cnt<OrdersTotal();cnt++)   
   {
     result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()==Symbol() )
     {           
          Profit += OrderProfit();
      }
   }
   if(Profit>1)
  {
     for(cnt=OrdersTotal();cnt>=0;cnt--)
     {
        result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
          mode=OrderType();
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
        {
         if (mode==OP_SELL){ticket =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrCrimson); }
         if (mode==OP_BUY) {ticket =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrIndigo); }
        }
     }
  }


  if (OrderSend(sym1,OP_BUY,lot,MarketInfo(sym1,MODE_ASK),0,0,0,NULL,1,0,clrGreen));
  else Print("OrderSent Eror Code : ",GetLastError());
  if (OrderSend(sym2,OP_BUY,lot,MarketInfo(sym2,MODE_ASK),0,0,0,NULL,2,0,clrBlue));
  else Print("OrderSent Eror Code : ",GetLastError());
 
//---
   return (INIT_SUCCEEDED);
 
  }

extern string sym1 = "" ;
extern string sym2 = "" ;
extern double lot = 1;
double Profit;
int mode;
int result;
int ticket;

int OnInit()
  {
//---
   Profit=0;
   for(int cnt=0;cnt<OrdersTotal();cnt++)   
   {
     result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()==Symbol() )
     {           
          Profit += OrderProfit();
      }
   }
   if(Profit>1)
  {
     for(cnt=OrdersTotal();cnt>=0;cnt--)
     {
        result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
          mode=OrderType();
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
        {
         if (mode==OP_SELL){ticket =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrCrimson); }
         if (mode==OP_BUY) {ticket =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrIndigo); }
        }
     }
  }


  if (OrderSend(sym1,OP_BUY,lot,MarketInfo(sym1,MODE_ASK),0,0,0,NULL,1,0,clrGreen));
  else Print("OrderSent Eror Code : ",GetLastError());
  if (OrderSend(sym2,OP_BUY,lot,MarketInfo(sym2,MODE_ASK),0,0,0,NULL,2,0,clrBlue));
  else Print("OrderSent Eror Code : ",GetLastError());
 
//---
   return (INIT_SUCCEEDED);
 
  }

ขอบคุณครับผม แล้วถ้ามันปิดออเดอร์เสร็จแล้ว เราจะให้มันวนไปเปิดใหม่ทันทีเลย จะต้องทำยังไงครับ

Tags:
 

เครื่องมือเทรด Forex

ข่าว Forex กราฟ Forex EURUSD GBPUSD GBPJPY ตารางข่าว Forex

เครื่องมือเทรดทองคำ

ราคาทอง วันนี้ ราคาทอง ย้อนหลัง SPDR ล่าสุด กราฟราคาทองคำ วิเคราะห์ ราคาทอง ข่าว ราคาทองคำ ข่าว ราคาน้ำมัน

โบรคเกอร์ Forex

XM Exness FBS Nordfx Land-FX Admiral Markets

Tickmill