Kod: Zaznacz cały
for (int i=OrdersHistoryTotal()-3;i>=OrdersHistoryTotal()-3;i--) // trzecie od końca
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
}
Kod: Zaznacz cały
for (int i=OrdersHistoryTotal()-3;i>=OrdersHistoryTotal()-3;i--) // trzecie od końca
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
}
Kod: Zaznacz cały
int i=OrdersHistoryTotal()-3;
if (i >= 0)
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
no ale i tak to nic nie zmienia będzie trzeci ticket od końca, a potrzebne jest trzecie zlecenie (buy lub sell) od końca.robs pisze:Po co pętla. Przecież to jest to samo co
Kod: Zaznacz cały
int i=OrdersHistoryTotal()-3; if (i >= 0) OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
Kod: Zaznacz cały
#include <WinUser32.mqh>
int orderNr = 3;
int start()
{
//----
int k = 0;
for (int i=OrdersHistoryTotal()-1;i>=0 && k < orderNr;i--) // trzecie od kon'ca
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
k = k + 1;
}
if (k > 0 && k == orderNr)
MessageBox( DoubleToStr(OrderTicket(),0));
//----
return(0);
}