分享

编程 小代码

 weewas 2011-10-01

double profitTotal()

   double sum=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      sum+=OrderProfit();    
     }
   return(sum);
}

//--------------------------------------------
int CalculateBuyOrders()
  {
   int buys=0,sells=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;     
         if(OrderType()==OP_BUY && OrderSymbol()==symbol && OrderMagicNumber()==iMagic)  buys++;         
     }
    return(buys);
 }
 
int CalculateSellOrders()
  {
   int buys=0,sells=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;   
       
         if(OrderType()==OP_SELL && OrderSymbol()==symbol && OrderMagicNumber()==iMagic) sells++;   
     }
   return(sells);
 }
void CO_PL() {
   int l_ord_total_0 = 0;
   int l_cmd_4 = 0;
   int l_magic_8 = 0;
   int l_ticket_12 = 0;
   double l_ord_takeprofit_16 = 0;
   double l_ord_stoploss_24 = 0;
   string l_symbol_32 = 0;
   int l_pos_40 = 0;
   double ld_44 = 0;
   double ld_52 = 0;
   double l_ord_open_price_60 = 0;
   double ld_68 = 0;
   double ld_72 = MarketInfo(Symbol(), MODE_SPREAD);
   double ld_76 = 1 / Point;
   l_ord_total_0 = OrdersTotal();
   if (l_ord_total_0 == 0) return (0);
   while (l_pos_40 < l_ord_total_0) {
      if (OrderSelect(l_pos_40, SELECT_BY_POS) == TRUE) {
         l_magic_8 = OrderMagicNumber();
         if (l_magic_8 == Magic_Number) {
            l_symbol_32 = OrderSymbol();
            if (l_symbol_32 == Symbol()) {
               l_ord_takeprofit_16 = OrderTakeProfit();
               l_ord_stoploss_24 = OrderStopLoss();
               if (l_ord_takeprofit_16 == 0.0 && l_ord_stoploss_24 == 0.0) {
                  l_ord_open_price_60 = OrderOpenPrice();
                  l_cmd_4 = OrderType();
                  l_ticket_12 = OrderTicket();
                  ld_68 = ld_72 * Point;//
                  switch (l_cmd_4) {
                  case OP_SELL:
                     ld_44 = l_ord_open_price_60 - (Bid + ld_68);
                     break;
                  case OP_BUY:
                     ld_44 = Bid - l_ord_open_price_60;
                  }
                  ld_44 = NormalizeDouble(ld_44, Digits);
                  ld_44 *= ld_76;//
                  if (ld_44 < 0.0) ld_52 = MathAbs(ld_44);
                  if (ld_44 >= TakeProfit) CloseOrder(l_ticket_12);
                  if (ld_52 >= StopLoss) CloseOrder(l_ticket_12);
               }
            }
         }
      }
      l_pos_40++;
   }
   return (0);
}


int CloseOrder(int a_ticket_0) {
   int li_unused_4 = 0;
   int l_error_8 = 0;
   int l_cmd_12 = 0;
   bool l_ord_close_16 = FALSE;
   if (a_ticket_0 > 0) {
      if (OrderSelect(a_ticket_0, SELECT_BY_TICKET) == TRUE) {
         l_cmd_12 = OrderType();
         switch (l_cmd_12) {
         case OP_BUY:
            l_ord_close_16 = OrderClose(a_ticket_0, OrderLots(), Bid, 3, Yellow);
            if (l_ord_close_16 == 0) {
               l_error_8 = GetLastError();
               if (l_error_8 == 129 ) {
                  RefreshRates();
                  Sleep(10000);
                  l_ord_close_16 = OrderClose(a_ticket_0, OrderLots(), Bid, 3, Yellow);
                  if (l_ord_close_16 == 0) return (-1);
               }
            }
         case OP_SELL:
            l_ord_close_16 = OrderClose(a_ticket_0, OrderLots(), Ask, 3, Blue);
            if (l_ord_close_16 == 0) {
               l_error_8 = GetLastError();
               if (l_error_8 == 129) {
                  RefreshRates();
                  Sleep(10000);
                  l_ord_close_16 = OrderClose(a_ticket_0, OrderLots(), Ask, 3, Blue);
                  if (l_ord_close_16 == 0) return (-1);
               }
            }
         }
      }
   }
   return (0);
}

extern double Price=1.00000;

   Spread = MarketInfo(Symbol(), MODE_SPREAD);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多