[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 601

 
zxc:

prix d'ouverture - double
oui, sans structures, il faut tout faire en double
 

Je ne trouve pas de réponse à ma question dans le tutoriel, j'ai donc décidé de la poser ici. Ma stratégie ne permet qu'une seule transaction sur une barre. Dans le casde D1j'ai fait une vérification du jour actuel avec le jour d'ouverture de l'ordre (voir ci-dessous). Comment puis-je faire un contrôle sur H4, H1 ou en général pour toute autre période ? Si ce sujet a déjà été abordé quelque part, je vous serais très reconnaissant de me fournir un lien. Regards.

   Symb=Symbol();
   total=OrdersTotal();
   string TodayDate=TimeToStr(TimeCurrent(),TIME_DATE);
   if (total>0)
   { // ------- D.1. Start 
      for (i=0; i<=total; i++)
      { // ------ D.2. Start
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
         {  string OrderDate=TimeToStr(OrderOpenTime(),TIME_DATE);
            if (OrderSymbol()==Symb && TodayDate==OrderDate) 
            {  Comment ("Today order for ",Symbol()," was opened");
               Sleep(60000); return(0); }
         }
      } // ------ D.2. End
   } // ------- D.1. End
 

Je ne trouve pas de réponse à ma question dans le tutoriel, j'ai donc décidé de la poser ici. Ma stratégie ne permet qu'une seule transaction sur une barre. Dans le casde D1j'ai fait une vérification du jour actuel avec le jour d'ouverture de l'ordre (voir ci-dessous). Comment puis-je faire un contrôle sur H4, H1 ou en général pour toute autre période ? Si ce sujet a déjà été abordé quelque part, je vous serais très reconnaissant de me fournir un lien. Sincèrement.

   Symb=Symbol();
   total=OrdersTotal();
   string TodayDate=TimeToStr(TimeCurrent(),TIME_DATE);
   if (total>0)
   { // ------- D.1. Start 
      for (i=0; i<=total; i++)
      { // ------ D.2. Start
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
         {  string OrderDate=TimeToStr(OrderOpenTime(),TIME_DATE);
            if (OrderSymbol()==Symb && TodayDate==OrderDate) 
            {  Comment ("Today order for ",Symbol()," was opened");
               Sleep(60000); return(0); }
         }
      } // ------ D.2. End
   } // ------- D.1. End
 
paladin80:

Je ne trouve pas de réponse à ma question dans le tutoriel, j'ai donc décidé de la poser ici. Ma stratégie ne permet qu'une seule transaction sur une barre. Dans le casde D1j'ai fait une vérification du jour actuel avec le jour d'ouverture de l'ordre (voir ci-dessous). Comment puis-je faire un contrôle sur H4, H1 ou en général pour toute autre période ? Si ce sujet a déjà été abordé quelque part, je vous serais très reconnaissant de me fournir un lien. Sincèrement.

Utiliser la fonction iTime: https://docs.mql4.com/ru/series/iTime

et comparez OrderOpenTime() avec iTime(Symbol(), PERIOD_H1, 0) dans votre boucle

 

pourquoi les captures d'écran - prescrites dans l'algorithme de l'EA, ne montrent pas les indicateurs par lesquels l'algorithme est mis en œuvre, et il y a une fenêtre pour l'indicateur ?

Code

bool TakeScreenShot(string type)
{

Print("appel de capture d'écran") ;
int count = 1 ;

if(!GlobalVariableCheck("ssc"))
{
GlobalVariableSet("ssc",1) ;
count = 1 ;
}
else
{
count = GlobalVariableGet("ssc") + 1 ;
GlobalVariableSet("ssc",count) ;
}
string filename = "MyEA\\" + "MyEA_" + Symbol() + "_" + type + "_" + DoubleToStr(count,0) + ".gif" ;
WindowScreenShot(nom du fichier,640,480) ;
Print(" capture d'écran effectuée ") ;
return(0) ;

 
Ivn:

pourquoi les captures d'écran - prescrites dans l'algorithme de l'EA, ne montrent pas les indicateurs par lesquels l'algorithme est mis en œuvre, et il y a une fenêtre pour l'indicateur ?

code

bool TakeScreenShot(string type)
{

Print("вызов функции скриншот");
int count = 1;

if(!GlobalVariableCheck("ssc"))
{
GlobalVariableSet("ssc",1);
count = 1;
}
else
{
count = GlobalVariableGet("ssc") + 1;
GlobalVariableSet("ssc",count); 
}
string filename = "MyEA\\" + "MyEA_" + Symbol() + "_" + type + "_" + DoubleToStr(count,0) + ".gif";
WindowScreenShot(filename,640,480);
Print(" скриншотсделан ");}
Cherchez ailleurs - la fonction fonctionne.
 
Roll:
Cherchez ailleurs - la fonction fonctionne.


Oui, je sais que la fonction fonctionne, voici le résultat

il y a une fenêtre d'indicateur en bas, mais pas l'indicateur lui-même, pourquoi ?

 
Ivn:


oui, je sais que la fonction fonctionne, voici le résultat

il y a une fenêtre d'indicateur en bas mais pas l'indicateur lui-même, pourquoi ?


Essayez-le sur un compte de démonstration.
 
Roll:

Essayez-le sur un compte de démonstration.


Je l'utilise pour des tests, de temps en temps il fait des skinshots, parfois non (dernièrement il ne le fait pas)).

L'EA utilise l'ADX de la même période pour prendre une décision - juste des bougies différentes, j'ai juste besoin d'une représentation graphique de cet indicateur pour comprendre pourquoi il fait des transactions alors qu'il ne devrait pas - pour tester l'algorithme.

 
Ivn:


Je l'utilise pour des tests, de temps en temps il fait des skinshots, parfois non (dernièrement il ne le fait pas)).

J'ai besoin d'une représentation graphique de cet indicateur afin de comprendre pourquoi il réalise des transactions alors qu'il ne devrait pas le faire - pour tester l'algorithme.


Vérifiez-le sur la démo, pas dans le testeur.
Raison: