Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 73

 
trader117:
Bon après-midi. Comment puis-je calculer un seul Stop Loss pour une série d'ordres avec des chiffres magiques exacts afin que cette série d'ordres puisse clôturer au seuil de rentabilité. Par exemple, il y a 3 ordres : 1 Achat de lot 1.3320 avec la magie 1, 1 Achat de lot 1.3345 avec la magie 2 et 1 Achat de lot 1.3360 avec la magie 3. Comment dois-je calculer le total des Stop Loss pour tous les ordres afin qu'en cas de mouvement contre le prix, les ordres soient fermés sans perte ?
Quelle est la raison du calcul de la moyenne du Stop Loss ? Dès qu'une position est fermée par un SL, toutes les autres positions sont immédiatement fermées par Close ! Pas besoin de perdre de précieux pips !
 
borilunad:
Quel est l'intérêt de faire une moyenne des StopLoss ? Dès que je ferme une position à SL, les autres sont immédiatement fermées à Close ! Pas besoin de perdre de précieux pips !

D'un côté, oui, mais d'un autre côté, je vois une vulnérabilité immédiate : un ordre peut ne pas être fermé par un EA pour de nombreuses raisons, et un Stop Loss sera de toute façon fermé, sinon c'est une raison sérieuse de se plaindre au courtier. + La déconnexion ne permet pas de clôturer une commande. Quelqu'un d'autre a-t-il des idées pour mettre en œuvre cet algorithme pour le SL total de la pyramide des ordres ?
 
trader117:

D'un côté oui, mais je vois une vulnérabilité immédiate dans le fait que la fermeture d'un ordre par un EA peut ne pas être exécuté pour une variété de raisons, et un stop loss fermera de toute façon, sinon c'est déjà une raison sérieuse pour une réclamation contre le courtier. + La déconnexion ne permet pas de clôturer une commande. Qui d'autre a des idées pour mettre en œuvre cet algorithme pour le SL commun pour une pyramide de commandes ?
Je ne dis pas qu'il ne faut pas mettre SL sur les autres ! Ils fermeront et vous perdrez encore moins que le SL moyen ! Ainsi, sur le Real, vous ne fermerez pas en même temps, mais un par un ! Par conséquent, il est économique de fermer le reste de la fermeture après avoir fermé une position sur SL ! Oui, et peser le code uchuchitimo, parce que SL établi à plusieurs reprises, et chaque fois pour effectuer le calcul de la moyenne ? Et à chaque fois que vous ajoutez une position, vous recalculez et réinitialisez le SL, et je le répète, vous ne ferez que perdre, pas gagner !
 

Je n'arrive pas à le maîtriser, je ne sais pas quel est le problème. La tâche est la suivante : trouver la barre d'un temps donné sur les minutes. Si le moment n'est pas encore arrivé, cherchez-le dans la journée d'hier, sinon cherchez-le dans la journée d'aujourd'hui. J'ai écrit le script suivant :

#property show_inputs

extern string time = "15:25";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   string comment = StringConcatenate(" TimeCurrent = ", TimeCurrent(),
      "\n TimeToStr(TimeCurrent) = ", TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));
   datetime d_time = StrToTime(time);
   comment = StringConcatenate(comment,
      "\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   int delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   if(delta_time < 0){
      d_time -= 60*60*24;
      comment = StringConcatenate(comment,
         "\n\n delta_time < 0");
   }else{
      comment = StringConcatenate(comment,
         "\n\n delta_time > 0");
   }
   //
   comment = StringConcatenate(comment,
      "\n\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   double d_delta_time = delta_time;
   double value = d_delta_time/60;
   int start = MathCeil(value);
   datetime sought_time = iTime(Symbol(),PERIOD_M1,start);
   comment = StringConcatenate(comment,
      "\n\n value = ", DoubleToStr(value, 3),
      "\n start = ", start,
      "\n sought_time = ", sought_time,
      "\n TimeToStr(sought_time)= ", TimeToStr(sought_time, TIME_DATE|TIME_MINUTES));
   Comment(comment);
//----
   return(0);
  }

Voici ce qu'il produit :

L'algorithme est le suivant. On regarde la différence entre l'heure actuelle et l'heure donnée, et si elle est inférieure à zéro, on recule d'un jour. Ensuite, nous divisons la différence par 60 et nous arrondissons vers le haut, ce sera le numéro de la barre sur M1 et nous regardons son heure. Elle ne coïncide pas avec celle fixée dans les externes. Où se trouve cette erreur algorithmique ?

 
gyfto:

Je n'arrive pas à le maîtriser, je ne sais pas quel est le problème. La tâche est la suivante : trouver la barre d'un temps donné sur les minutes. Si le moment n'est pas encore arrivé, cherchez-le dans la journée d'hier, sinon cherchez-le dans la journée d'aujourd'hui. J'ai écrit le script suivant :

Voici ce qu'il produit :

L'algorithme est le suivant. On regarde la différence entre l'heure actuelle et l'heure donnée, et si elle est inférieure à zéro, on recule d'un jour. Ensuite, nous divisons la différence par 60 et nous arrondissons vers le haut, ce sera le numéro de la barre sur M1 et nous regardons son heure. Elle ne coïncide pas avec celle fixée dans les externes. Où se trouve cette erreur algorithmique ?

La volatilité est faible la nuit, il y a des minutes où pas une seule transaction ne passe, il n'y a donc pas de barre. Regardez l'historique pour voir si toutes les barres sont présentes.
 
Roger:
Regardez l'historique pour voir si toutes les barres sont présentes.


Vous pouvez passer de la valeur trouvée dans while() à la barre que vous recherchez. Je vais essayer.
 
gyfto:

Je n'arrive pas à le maîtriser, je ne sais pas quel est le problème. La tâche est la suivante : trouver la barre d'un temps donné sur les minutes. Si le moment n'est pas encore arrivé, cherchez-le dans la journée d'hier, sinon cherchez-le dans la journée d'aujourd'hui. J'ai écrit le script suivant :

Voici ce qu'il produit :

L'algorithme est le suivant. On regarde la différence entre l'heure actuelle et l'heure donnée, et si elle est inférieure à zéro, on recule d'un jour. Ensuite, nous divisons la différence par 60 et nous arrondissons vers le haut, ce sera le numéro de la barre sur M1 et nous regardons son heure. Elle ne coïncide pas avec celle fixée dans les externes. Où est cette erreur algorithmique ?

Vous vous entraînez, ou iBarShift() n'a pas aimé ?
 
TarasBY:
Vous vous entraînez, ou vous n'avez pas aimé iBarShift()?
Je suis un idiot.
 
Veuillez me donner le numéro/adresse du serveur de démonstration pour MT4 de MetaQuotes. Je viens de télécharger MT4 sur le site de MetaQuotes et il est sur TeleTrade-Demo (Company Teletrade D.J.), mais je veux me connecter à MQ et travailler sur leurs cotations.
 
Bonjour à tous, une question : est-il possible d'ouvrir une position à la clôture des barres (en travaillant sur des barres de 15 minutes), si oui, comment le faire avec mt4 ?