Tuesday, 18 September 2012

Logic orderstotal() dlm hub dg martingale

nu master, tentang orderstotal(). begini bunyi master "jika jumlah order > 5 
maka isi TP menjadi 1 point. 
tujuannya untuk menyelamatkan balance agar tdk lama floatingnya saat martingale  . mohon bantuannya master...





 int   iTrade=0;
   
   if (OrdersTotal()>=5 ) // Periksa apakah jumlah order sudah lebih atau sama dengan 5
   {

      for(iTrade=0;iTrade<OrdersTotal();iTrade++) // Jika ya, lakukan looping untuk memeriksa semua OP.
      {
         OrderSelect(iTrade,SELECT_BY_POS,MODE_TRADES);

         if(OrderType()==OP_BUY && OrderSymbol()==Symbol()) // Kalau OP-nya buy maka masuk ke function
         {
            // Set TP= OrderOpenPrice+1
            if(OrderTakeProfit()=!OrderOpenPrice()+1*Point) // Check kalau TP-nya bukan 1
            {             
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+1*Point,0,CLR_NONE); // Ubah TP menjadi 1
              return(0);             
            }
                
         }
         else if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // Kalau OP-nya sell maka masuk ke function
         {
           // Set TP= OrderOpenPrice-1
            if(OrderTakeProfit()=!OrderOpenPrice()-1*Point) // Check kalau TP-nya bukan 1
            {             
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-1*Point,0,CLR_NONE); // Ubah TP menjadi 1
              return(0);             
            }
         
         }
         
       }
     } 
   }

No comments:

Post a Comment