Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. // Copy_Trade
  2. //smokinnurse
  3.  
  4. #property strict
  5. #property show_inputs
  6.  
  7. input int    n_Copy_Cnt = 1; // Anzahl der Kopien
  8. input double d_Lots_CopyTrade = 0.01; // Lotsize für kopierten Trade
  9.  
  10. input string Filter = ""; //------- Filter
  11. input int    n_Magic_Number = 0; // MagicNumber des Originaltrades
  12. input string s_Comment_Text = ""; // Comment des Originaltrades
  13.  
  14.  
  15. //+------------------------------------------------------------------+
  16. int start()
  17. {
  18.  
  19.    Do_Copy();
  20.  
  21. return(0);
  22. }
  23.  
  24.  
  25. //+------------------------------------------------------------------+
  26. int Do_Copy()
  27. {
  28. int    i = 0;
  29. int    k = 0;
  30. string s = "";
  31. double d_Tmp = 0;
  32. int    n_Orders = OrdersTotal();
  33. string s_Symbol = Symbol();
  34. bool   b_Found = false;
  35. bool   b_Done = false;
  36.  
  37. string s_Order_Symbol = "";
  38. int    n_Ticket = 0;
  39. string s_Comment = "";
  40. int    n_Magic = 0;
  41. int    n_Type = -1;
  42. double d_Lots = 0;
  43. double d_Price = 0;
  44. double d_SL = 0;
  45. double d_TP = 0;
  46. datetime dt_Expiration = 0;
  47.  
  48.   s = "Kein Trade zum Kopieren gefunden";
  49.  
  50.   for(i = 0; i < n_Orders; i++)
  51.   {
  52.     b_Found = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  53.    
  54.     if(b_Found)
  55.     {
  56.       n_Ticket = OrderTicket();
  57.       s_Order_Symbol = OrderSymbol();
  58.       s_Comment = OrderComment();
  59.       n_Magic = OrderMagicNumber();
  60.       n_Type = OrderType();
  61.       d_Lots = OrderLots();
  62.       d_Price = OrderOpenPrice();
  63.       d_SL = OrderStopLoss();
  64.       d_TP = OrderTakeProfit();
  65.       dt_Expiration = OrderExpiration();
  66.      
  67.       if(s_Order_Symbol != s_Symbol) b_Found = false;
  68.       if(n_Magic_Number != 0 && n_Magic != n_Magic_Number) b_Found = false;
  69.       if(s_Comment_Text > "" && StringFind(s_Comment_Text, s_Comment, 0) < 0) b_Found = false;
  70.     }
  71.    
  72.     if(b_Found)
  73.     {
  74.       s = "Kopiere Trade  Nr " + IntegerToString(n_Ticket) + "\n";
  75.      
  76.       for(k = 1; k <= n_Copy_Cnt; k++)
  77.       {
  78.         if(n_Type == 0) d_Price = Ask;
  79.         if(n_Type == 1) d_Price = Bid;
  80.         s_Comment = s_Comment + " (Kopie_" + IntegerToString(k) + ")";
  81.  
  82.         b_Done = OrderSend(s_Symbol, n_Type, d_Lots_CopyTrade, d_Price, 5, d_SL, d_TP, s_Comment, n_Magic, dt_Expiration);
  83.        
  84.         if(b_Done) s = s + "Kopie " + IntegerToString(k) + "    = erfolgreich" + "\n";
  85.         else s = s + "Kopie " + IntegerToString(k) + "    = ERROR" + "\n";
  86.       }  
  87.       break;
  88.     }
  89.   }
  90.  
  91.   Comment(s);
  92.  
  93. return(0);
  94. }
  95. //+------------------------------------------------------------------+
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement