bonjour,
je souhaite insére dans mon robot une coupure de l'ensemble des positions ouverte a entre deux heure que j'aurai parametré.
j'ai fait un code qui fonctionne seul ( en robot autonnomme) mais quand je l'ajoute dans mon robot il ne marche pas pouvez vous m'aide?
voila le code qui marche
//--- input parameters
extern string note2 ="heure interdit de trading";
extern int HeureDebutinterdi = 7;
extern int MinuteDebutinterdi = 10;
extern int HeureFininterdi = 23;
extern int MinuteFininterdi =59;
int OpenOrders = 0, cnt = 0;
int start()
{
{ {
if(TimeHour(CurTime()) < HeureDebutinterdi)
return(0);
//----
if(TimeMinute(CurTime()) < MinuteDebutinterdi)
return(0);
//----
if(TimeHour(CurTime()) > HeureFininterdi)
return(0);
//----
if(TimeMinute(CurTime()) > MinuteFininterdi )
return(0);
}
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
}
if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}
}
return(0);
}
je souhaite insére dans mon robot une coupure de l'ensemble des positions ouverte a entre deux heure que j'aurai parametré.
j'ai fait un code qui fonctionne seul ( en robot autonnomme) mais quand je l'ajoute dans mon robot il ne marche pas pouvez vous m'aide?
voila le code qui marche
//--- input parameters
extern string note2 ="heure interdit de trading";
extern int HeureDebutinterdi = 7;
extern int MinuteDebutinterdi = 10;
extern int HeureFininterdi = 23;
extern int MinuteFininterdi =59;
int OpenOrders = 0, cnt = 0;
int start()
{
{ {
if(TimeHour(CurTime()) < HeureDebutinterdi)
return(0);
//----
if(TimeMinute(CurTime()) < MinuteDebutinterdi)
return(0);
//----
if(TimeHour(CurTime()) > HeureFininterdi)
return(0);
//----
if(TimeMinute(CurTime()) > MinuteFininterdi )
return(0);
}
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
}
if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}
}
return(0);
}