显示历史交易订单的开仓平仓点
#property link "http://www.haoib.com" #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i,hstTotal=OrdersHistoryTotal(); /* for(i=0;i<283;i++) { ObjectCreate("arrow"+i, OBJ_ARROW,0,Time[i],Low[i]); ObjectSet("arrow"+i,OBJPROP_ARROWCODE,i); ObjectSet("arrow1",OBJPROP_COLOR,Green); } */ for(i=0;i<hstTotal;i++) { OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(Symbol()==OrderSymbol() && OrderType()<=OP_SELL) { int tk=OrderTicket(); if(ObjectFind("aopen"+tk)==-1) { ObjectCreate("aopen"+tk,OBJ_ARROW,0,OrderOpenTime(),OrderOpenPrice()); ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,1); if(OrderType()==OP_BUY) ObjectSet("aopen"+tk,OBJPROP_COLOR,Green); if(OrderType()==OP_SELL) ObjectSet("aopen"+tk,OBJPROP_COLOR,Red); } if(ObjectFind("aclose"+tk)==-1) { ObjectCreate("aclose"+tk,OBJ_ARROW,0,OrderCloseTime(),OrderClosePrice()); ObjectSet("aclose"+tk,OBJPROP_ARROWCODE,3); ObjectSet("aclose"+tk,OBJPROP_COLOR,Goldenrod); } if(ObjectFind("#"+tk)==-1) { if(ObjectFind("##"+tk)!=-1)ObjectDelete( "##"+tk) ; ObjectCreate("#"+tk,OBJ_TREND,0,OrderOpenTime(),OrderOpenPrice(),OrderCloseTime(),OrderClosePrice()); ObjectSet("#"+tk,OBJPROP_STYLE,STYLE_DOT); ObjectSet("#"+tk,OBJPROP_RAY,0); if(OrderType()==OP_BUY) ObjectSet("#"+tk,OBJPROP_COLOR,Green); if(OrderType()==OP_SELL) ObjectSet("#"+tk,OBJPROP_COLOR,Red); } } if(Symbol()==OrderSymbol() && OrderType()>OP_SELL) { tk=OrderTicket(); if(ObjectFind("aopen"+tk)==-1) { ObjectCreate("aopen"+tk,OBJ_ARROW,0,OrderOpenTime(),OrderOpenPrice()); if(OrderType()<=OP_BUYSTOP) ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,217); else ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,218); } if(ObjectFind("aclose"+tk)==-1) { ObjectCreate("aclose"+tk,OBJ_ARROW,0,OrderCloseTime(),OrderOpenPrice()); ObjectSet("aclose"+tk,OBJPROP_ARROWCODE,251); } if(ObjectFind("#"+tk)==-1) { ObjectCreate("#"+tk,OBJ_TREND,0,OrderOpenTime(),OrderOpenPrice(),OrderCloseTime(),OrderOpenPrice()); ObjectSet("#"+tk,OBJPROP_STYLE,STYLE_DOT); ObjectSet("#"+tk,OBJPROP_RAY,0); ObjectSet("#"+tk,OBJPROP_COLOR,White); } } } int total=OrdersTotal(); for(i=0;i<total;i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(Symbol()==OrderSymbol() && OrderType()<=OP_SELL) { tk=OrderTicket(); if(ObjectFind("aopen"+tk)==-1) { ObjectCreate("aopen"+tk,OBJ_ARROW,0,OrderOpenTime(),OrderOpenPrice()); ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,1); if(OrderType()==OP_BUY) ObjectSet("aopen"+tk,OBJPROP_COLOR,Green); if(OrderType()==OP_SELL) ObjectSet("aopen"+tk,OBJPROP_COLOR,Red); } if(ObjectFind("##"+tk)==-1) { ObjectCreate("##"+tk,OBJ_TREND,0,OrderOpenTime(),OrderOpenPrice(),Time[0],Bid); ObjectSet("##"+tk,OBJPROP_STYLE,STYLE_DOT); ObjectSet("##"+tk,OBJPROP_RAY,0); } else { ObjectSet("##"+tk,OBJPROP_TIME2,Time[0]); ObjectSet("##"+tk,OBJPROP_PRICE2,Bid); if(OrderType()==OP_BUY) { ObjectSet("##"+tk,OBJPROP_COLOR,Green); ObjectSet("##"+tk,OBJPROP_PRICE2,Bid); } if(OrderType()==OP_SELL) { ObjectSet("##"+tk,OBJPROP_COLOR,Red); ObjectSet("##"+tk,OBJPROP_PRICE2,Ask); } } } if(Symbol()==OrderSymbol() && OrderType()>OP_SELL) { tk=OrderTicket(); if(ObjectFind("aopen"+tk)==-1) { ObjectCreate("aopen"+tk,OBJ_ARROW,0,OrderOpenTime(),OrderOpenPrice()); if(OrderType()<=OP_BUYSTOP) ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,217); else ObjectSet("aopen"+tk,OBJPROP_ARROWCODE,218); } } } //---- //---- return(0); } //+------------------------------------------------------------------+