//+------------------------------------------------------------------+ //| Visible_Pos.mq4 | //| Valmars | //| valmars@bk.ru | //+------------------------------------------------------------------+ #property copyright "Valmars" #property link "valmars@bk.ru" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { ObjectsDeleteAll(0, OBJ_ARROW); // Óäàëåíèå âñåõ ñòðåëîê ñ ãðàôèêà string name; // Èìÿ îáúåêòà-ñòðåëêè int Arrow; // Êîä ñòðåëêè double Color; // Öâåò ñòðåëêè // Ïðîâåðêà äëÿ âñåõ îòêðûòûõ è îòëîæåííûõ îðäåðîâ for(int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS); // Ñèìâîëû îðäåðà è ãðàôèêà íå ñîâïàäàþò if(OrderSymbol()!=Symbol()) continue; // Ñëåäóþùèé îðäåð // Ñèìâîëû îðäåðà è ãðàôèêà ñîâïàäàþò else { // Âðåìÿ îòêðûòèÿ, âðåìÿ çàêðûòèÿ îðäåðà datetime tm_open = OrderOpenTime(); datetime tm_close = OrderCloseTime(); double pr_open = OrderOpenPrice(); // Öåíà îòêðûòèÿ, öåíà çàêðûòèÿ îðäåðà double pr_close = OrderClosePrice(); //---- switch(OrderType()) // Ïàðàìåòðû ñòðåëîê { case OP_BUY: Arrow = 1; Color = Aqua; name = "OP_BUY_" + OrderTicket(); break; case OP_SELL: Arrow = 2; Color = Red; name = "OP_SELL_" + OrderTicket(); break; case OP_BUYLIMIT: Arrow = 1; Color = Yellow; name = "OP_BUYLIMIT_" + OrderTicket(); break; case OP_BUYSTOP: Arrow = 1; Color = Yellow; name = "OP_BUYSTOP_" + OrderTicket(); break; case OP_SELLLIMIT: Arrow = 2; Color = Yellow; name = "OP_SELLLIMIT_" + OrderTicket(); break; case OP_SELLSTOP: Arrow = 2; Color = Yellow; name = "OP_SELLSTOP_" + OrderTicket(); break; } // Ñòðåëêà îòêðûòèÿ îðäåðà ObjectCreate(name, OBJ_ARROW, 0, tm_open, pr_open); ObjectSet(name, OBJPROP_ARROWCODE, Arrow); ObjectSet(name, OBJPROP_COLOR, Color); } } // Ïðîâåðêà äëÿ âñåõ çàêðûòûõ è óäàë¸ííûõ îðäåðîâ for(i = 0; i < HistoryTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); // Ñèìâîëû îðäåðà è ãðàôèêà íå ñîâïàäàþò if(OrderSymbol() != Symbol()) continue; // Ñëåäóþùèé îðäåð else // Ñèìâîëû îðäåðà è ãðàôèêà ñîâïàäàþò { tm_open = OrderOpenTime(); tm_close = OrderCloseTime(); pr_open = OrderOpenPrice(); pr_close = OrderClosePrice(); //---- switch(OrderType()) { case OP_BUY: Arrow = 1; Color = Aqua; name = "OP_BUY_" + OrderTicket(); break; case OP_SELL: Arrow = 2; Color = Red; name = "OP_SELL_" + OrderTicket(); break; case OP_BUYLIMIT: Arrow = 1; Color = Yellow; name = "OP_BUYLIMIT_" + OrderTicket(); break; case OP_BUYSTOP: Arrow = 1; Color = Yellow; name = "OP_BUYSTOP_" + OrderTicket(); break; case OP_SELLLIMIT: Arrow = 2; Color = Yellow; name = "OP_SELLLIMIT_" + OrderTicket(); break; case OP_SELLSTOP: Arrow = 2; Color = Yellow; name = "OP_SELLSTOP_" + OrderTicket(); break; } // Ñòðåëêà îòêðûòèÿ îðäåðà ObjectCreate(name, OBJ_ARROW, 0, tm_open,pr_open); ObjectSet(name, OBJPROP_ARROWCODE, Arrow); ObjectSet(name, OBJPROP_COLOR, Color); switch(OrderType()) { case OP_BUY: Color = Aqua; name = "CL_BUY_" + OrderTicket(); break; case OP_SELL: Color = Red; name = "CL_SELL_" + OrderTicket(); break; case OP_BUYLIMIT: Color = Yellow; name = "DEL_BUYLIMIT_" + OrderTicket(); break; case OP_BUYSTOP: Color = Yellow; name = "DEL_BUYSTOP_" + OrderTicket(); break; case OP_SELLLIMIT: Color = Yellow; name = "DEL_SELLLIMIT_" + OrderTicket(); break; case OP_SELLSTOP: Color = Yellow; name = "DEL_SELLSTOP_" + OrderTicket(); break; } // Ñòðåëêà çàêðûòèÿ îðäåðà ObjectCreate(name, OBJ_ARROW, 0, tm_close, pr_close); ObjectSet(name, OBJPROP_ARROWCODE, 3); ObjectSet(name, OBJPROP_COLOR, Color); } } return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
Other Features: