What's wrong with this code! - page 2

 
Can you explain why this is not work !?:

void OnTick()
  {
  for (int i=0;i<=23;i++) {
   if(Hour()==i )
    
      {
      for (int j=0;j<=59;i++) {
   if( Minute()==j )
    
      {
   for (int k=20;k<=1439;k=k+60) {
   if( Seconds()==k )
    
      { ticket=-1;
          do {
          ticket =OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,Ask+(TP*Point),comment,magic,0,0);
        
            }
          while (ticket==-1 );
            
   }
   }
   }
    }
    }
    }
  }
it should start check tick from 6:34:20 when tick come start only one order (that you wrote in two past post) and then go to 6:35:20 and ....



and i tried this to but both , not work!

#define  DAY 86400
#define  HOUR 3600
#define  MINUTE 60
#define  SECOND 1



input double Lots    = 0.1;
input int    TP      = 200;
input int    SL      = 200;
input string comment = "MyOrder";
input int    magic   = 1234;

input int StartHour   = 14;
input int StartMinute = 15;
input int StartSecond = 16;


datetime  NextTrade   = StartSecond*SECOND + 60  ;

//+--------------------------------------------------------------------------------------+
//| OnInit()                                                                             |
//+--------------------------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

//+--------------------------------------------------------------------------------------+
//| OnDeinit()                                                                           |
//+--------------------------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }

//+--------------------------------------------------------------------------------------+
//| OnTick()                                                                             |
//+--------------------------------------------------------------------------------------+
void OnTick()
  {
   datetime now = TimeCurrent();
   if(now/(86400+3600+60) >= NextTrade)
     {
      if(OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,Ask+(TP*Point),comment,magic,0,0) < 0)
        {
         printf("OrderSend() failed. Error code: %i", GetLastError());
        }
      else
        {
        
         NextTrade =  StartSecond*SECOND + 60 ;
         printf("Next Trade scheduled for %s", TimeToString(NextTrade));
        }
     }
    }  
Reason: