object arrow on chart

 

hi,

I have the following code in my script to display all of the closed order on the chart but I keep getting Trade_Arrow2 to return sometime the wrong arrow (The standard one Red pointing to the top). In other display orders, everything is fine. Can you help please ?

// get the total number of bars on a chart

int History_Total=OrdersHistoryTotal();

int i,Bar_Counter =1;

Print("Bars count on the EURUSD Symbol on PERIOD M5 symbol is ", iBars(NULL,PERIOD_M5));

for(i=403;i<History_Total;i++)

{

if (Order_Type[i] == 1) // check if it is a buy or a sell order

{

Trade_Arrow1[i]="Arrow #"+i + " buy " + DoubleToStr(Order_Lots[i],2) + " Lots of " + Order_Symbol[i] + " at " + DoubleToStr(Order_Open_Price[i],5);

Trade_Arrow2[i]="Arrow #"+i + " buy " + DoubleToStr(Order_Lots[i],2) + " Lots of " + Order_Symbol[i] + " at " + DoubleToStr(Order_Open_Price[i],5) + " close at " + DoubleToStr(Order_Close_Price[i],5);

}

else

{

Trade_Arrow1[i]="Arrow #"+i + " sell " + DoubleToStr(Order_Lots[i],2) + " Lots of " + Order_Symbol[i] + " at " + DoubleToStr(Order_Open_Price[i],5);

Trade_Arrow2[i]="Arrow #"+i + " sell " + DoubleToStr(Order_Lots[i],2) + " Lots of " + Order_Symbol[i] + " at " + DoubleToStr(Order_Open_Price[i],5) + " close at " + DoubleToStr(Order_Close_Price[i],5);

}

Trade_Name[i]="Trendline #" + i + " " + DoubleToStr(Order_Open_Price[i],5) + " ---> " + DoubleToStr(Order_Close_Price[i],5);

if(!ObjectCreate(Trade_Arrow1[i],OBJ_ARROW,0, Order_Open_Time[i], Order_Open_Price[i]))

{

Print("error: can't create Arrow 1 object! code #",GetLastError());

return(0);

}

if (!ObjectCreate(Trade_Arrow2[i],OBJ_ARROW,0, Order_Close_Time[i],Order_Close_Price[i]))

{

Print("error: can't create Arrow 2 object! code #",GetLastError());

return(0);

}

if (!ObjectCreate(Trade_Name[i],OBJ_TREND,0, Order_Open_Time[i],Order_Open_Price[i],Order_Close_Time[i],Order_Close_Price[i]))

{

Print("error: can't create Trendline object! code #",GetLastError());

return(0);

}

ObjectSet(Trade_Arrow1[i],OBJPROP_COLOR,Yellow);

ObjectSet(Trade_Arrow1[i],OBJPROP_ARROWCODE,220);

ObjectSet(Trade_Name[i],OBJPROP_COLOR,Yellow);

ObjectSet(Trade_Name[i],OBJPROP_STYLE,STYLE_DOT);

ObjectSet(Trade_Name[i],OBJPROP_RAY,False);

ObjectSet(Trade_Arrow2[i],OBJPROP_COLOR,Yellow);

ObjectSet(Trade_Arrow2[i],OBJPROP_ARROWCODE,219);

}

 

Please use this to post code . . . it makes it easier to read.

Reason: