Geschätzte Forengemeinde,
ich habe meinen EA nach dem Muster des Beitrages
http://www.expert-advisor.com/forum/...chliessen.html
wie folgt erweitert:
Code:
//----------------------------------Close all at the End Of Day
extern bool ClosePosAllEndOfDay = false;
extern int close_pos_hour =21;
extern int close_pos_min = 56;
int zaehler;
int CurrentTime;
/////////////#################################### Close all Position at the End of Day
void closeAtStopTime()
{
int pAsk=0;
int pBid=0;
Print("Zeit ", Hour(), ":", Minute(), " = ", close_pos_hour, ":", close_pos_min);
if ((Hour()==close_pos_hour && Minute()>=close_pos_min) && (ClosePosAllEndOfDay=true) )
{
Comment("\nschliesse alle offenen Orders");
for (int j=OrdersTotal()-1; j>=0; j--)
{
Comment("\nSchleifendurchlauf: " + j);
if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES))
{
Comment("\nOrderSelect erfolgreich, pruefe magic:" + OrderMagicNumber() + " = " + magic + "?");
if (OrderMagicNumber()==magic)
{
if (OrderType()==OP_BUY)
{
pBid=MarketInfo(OrderMagicNumber(), MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pBid,3,CLR_NONE);
}
if (OrderType()==OP_SELL)
{
pAsk=MarketInfo(OrderMagicNumber(), MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),pAsk,3,CLR_NONE);
}
}
}
}
}
}
Weshalb werden zur angegebene Zeit im Strategietester die offenen Positionen nicht geschlossen!!
Mir ist auch aufgefallen, daß im Journal beim Zeitabgleich nie die Zeit zum Vergleich zur Vorgegeben close_pos-hour aufscheint.
Danke im Voraus für eure Hilfe.
Max