Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Copy_Trade
- //smokinnurse
- #property strict
- #property show_inputs
- input int n_Copy_Cnt = 1; // Anzahl der Kopien
- input double d_Lots_CopyTrade = 0.01; // Lotsize für kopierten Trade
- input string Filter = ""; //------- Filter
- input int n_Magic_Number = 0; // MagicNumber des Originaltrades
- input string s_Comment_Text = ""; // Comment des Originaltrades
- //+------------------------------------------------------------------+
- int start()
- {
- Do_Copy();
- return(0);
- }
- //+------------------------------------------------------------------+
- int Do_Copy()
- {
- int i = 0;
- int k = 0;
- string s = "";
- double d_Tmp = 0;
- int n_Orders = OrdersTotal();
- string s_Symbol = Symbol();
- bool b_Found = false;
- bool b_Done = false;
- string s_Order_Symbol = "";
- int n_Ticket = 0;
- string s_Comment = "";
- int n_Magic = 0;
- int n_Type = -1;
- double d_Lots = 0;
- double d_Price = 0;
- double d_SL = 0;
- double d_TP = 0;
- datetime dt_Expiration = 0;
- s = "Kein Trade zum Kopieren gefunden";
- for(i = 0; i < n_Orders; i++)
- {
- b_Found = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
- if(b_Found)
- {
- n_Ticket = OrderTicket();
- s_Order_Symbol = OrderSymbol();
- s_Comment = OrderComment();
- n_Magic = OrderMagicNumber();
- n_Type = OrderType();
- d_Lots = OrderLots();
- d_Price = OrderOpenPrice();
- d_SL = OrderStopLoss();
- d_TP = OrderTakeProfit();
- dt_Expiration = OrderExpiration();
- if(s_Order_Symbol != s_Symbol) b_Found = false;
- if(n_Magic_Number != 0 && n_Magic != n_Magic_Number) b_Found = false;
- if(s_Comment_Text > "" && StringFind(s_Comment_Text, s_Comment, 0) < 0) b_Found = false;
- }
- if(b_Found)
- {
- s = "Kopiere Trade Nr " + IntegerToString(n_Ticket) + "\n";
- for(k = 1; k <= n_Copy_Cnt; k++)
- {
- if(n_Type == 0) d_Price = Ask;
- if(n_Type == 1) d_Price = Bid;
- s_Comment = s_Comment + " (Kopie_" + IntegerToString(k) + ")";
- b_Done = OrderSend(s_Symbol, n_Type, d_Lots_CopyTrade, d_Price, 5, d_SL, d_TP, s_Comment, n_Magic, dt_Expiration);
- if(b_Done) s = s + "Kopie " + IntegerToString(k) + " = erfolgreich" + "\n";
- else s = s + "Kopie " + IntegerToString(k) + " = ERROR" + "\n";
- }
- break;
- }
- }
- Comment(s);
- return(0);
- }
- //+------------------------------------------------------------------+
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement