Graphique M1 : barres manquantes

 

Bonne journée !

J'ai essayé d'écrire un EA récemment, tout s'est déroulé presque normalement, ouvre les transactions par temps.

Le problème maintenant est le temps, par exemple, besoin d'ouvrir une transaction à 8 34 et la barre ne regarde pas à la minute est d'abord 8 33 puis immédiatement 8 35, analysé un autre graphique, j'ai remarqué que certaines minutes, aussi bien là.

Veuillez indiquer comment rouvrir la transaction, par exemple après une minute, etc. jusqu'à ce qu'une transaction soit ouverte.

 
Quelle différence cela fait-il de savoir à quelle heure le bar ouvre? C'est juste le prochain.
 

Dans le testeur de stratégie, mon conseiller expert se comporte bien et affiche même de bons résultats.

Je l'ai exécuté sur un compte réel, je l'ai compilé dans l'éditeur et j'ai chargé un jeu, mais il ne négocie pas (il n'ouvre pas les transactions).

Je ne sais pas quelle en est la raison.

 
Y a-t-il des erreurs dans le journal de bord ?
 
DanLett:

Quelle est la raison ?

Je pense que c'est l'endroit le plus rapide pour aider. Ne leur écrivez pas, ils se mettent en colère)).
 
aucune erreur dans le carnet de bord ...
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
extern string ____0___ = "+++++Время SELL-а+++++++++++++";         //|
extern int sH=8;                                                   //|
extern int sM=35;                                                  //|
extern int sH2=11;                                                 //|
extern int sM2=5; 
extern int sH3=11;                                                 //|
extern int sM3=5;                                                 //|
extern string ____1___ = "+++++Время BUY-а++++++++++++++";         //|
extern int bH=17;                                                  //|
extern int bM=55;                                                  //|
extern int bH2=16;                                                 //|
extern int bM2=5; 
extern int bH3=16;                                                 //|
extern int bM3=5;                                                 //|
extern string ____4___ = "+++++Все остальное++++++++++++";         //|
extern int Tp=34;                                                  //|  
extern int Sl=55;                                                  //|
extern double Prosadka=22;                                         //|           
extern string ____5___ = "йоу!)";                                  //|     
extern color Cvet=Red;                                             //|
int ticket;                                                        //|      
                                                       
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|

int start()
  {
   if((OrdersTotal()==0 && Hour()==sH && Minute()==sM)||(OrdersTotal()==0 && Hour()==sH2 && Minute()==sM2)||
    (OrdersTotal()==0 && Hour()==sH3 && Minute()==sM3))
      {
     
      OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,0,Ask+Sl*Point,Ask-Tp*Point,"DLSexp",123,0,Cvet);//открываем сделку
      } 
      
      else   
         
   if((OrdersTotal()==0 && Hour()==bH && Minute()==bM)||(OrdersTotal()==0 && Hour()==bH2 && Minute()==bM2) ||
    (OrdersTotal()==0 && Hour()==bH3 && Minute()==bM3))
      {
   
      OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,0,Bid-Sl*Point,Bid+Tp*Point,"DLSexp",124,0,Cvet);//открываем сделку
      } 
         
   }       


 //++++++++++++ОПТИМИЗАЦИЯ ЛОТА+++++++++++++++
  double LotsOptimized()
  {
  double lot;
  lot=NormalizeDouble(AccountFreeMargin()/100.0/Prosadka,2);
  
  if(lot<0.01)
  return(0.01);
  else return(lot);
  }
  //++++++++++++++++++++++++++++++++++++++++++
     
 int init()
 {
 Comment("TP=",Tp,"\n","SL=",Sl);//Коментим в левом верхнем углу
 }    
 
       
 
Il y a peut-être une erreur dans le code, mais il se compile. Dans le test, il fonctionne, mais dans le replay, il ne fonctionne pas.
 
Aidez-moi...
 
DanLett:

Les conditions que vous avez fixées sont trop strictes. Ils peuvent ne pas être satisfaits
 
DanLett:
Max, mais tu dois te rendre compte que l'ouverture des ordres en fonction du temps est trop facile pour étirer le marché.
Raison: