[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 20

 
ZZZEROXXX:

Ce n'est probablement pas tout à fait ça, ou je me suis trompé, mais voici un dessin de ce que je veux réaliser.

  if(ObjectFind("VerticalLine")!=-1){
    datetime TimeVL=ObjectGet( "VerticalLine", OBJPROP_TIME1); //получили координату времени где стоит вертикальная линия с именем VerticalLine  
    int shift=iBarShift(NULL, 0, TimeVL); //получил смещение линии от текущего момента в свечах 
    for(int i=0; i<=shift; i++){ // цикл от текущего бара - до бара где стоит вертикальная линия 
     double MA= iMA(NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, i) ;
     Print("i=",i," MA=",MA);
    }
   }
   else Print("Нет Вертикальной линии");
 
kaats:

Merci, c'est fait, ça marche !

 

Bon après-midi ! !!
Je suis un débutant, donc comme un chaton aveugle, même où poke :))).
Le problème ou la question est que j'ai trouvé un indicateur, mais il est bloqué (c'est-à-dire que pour apprendre ses performances, il faut entrer dans les propriétés, et ne rien changer pour en sortir, puis il se mettra à jour).
Si je voulais le mettre à jour, je voudrais utiliser un autre EA.
J'ai juste 5 indices identiques avec des paramètres différents et je dois les mettre à jour tous les 5 à chaque fois.

Je ne peux pas vous remercier assez !

 

Je veux garder la trace des ordres dans mon EA et lorsqu'un nouveau tick arrive, s'il y a un ordre ouvert ou en attente, aller immédiatement au début de la fonction de démarrage, pour attendre un nouveau tick, c'est-à-dire aucun autre calcul dans l'EA jusqu'à ce que le nombre d'ordres ouverts ou en attente soit de 0. Ce code répond-il aux exigences ?

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 

Question pour les experts, peut-être que quelqu'un a rencontré ce problème :

Si un EA fonctionnant un jour de semaine redémarre accidentellement le terminal le week-end, alors lorsque la communication avec le serveur (heure de négociation) arrive le lundi, l'EA cesse de fonctionner.

J'ai essayé de redémarrer le terminal à une certaine heure les jours de semaine en passant d'une période à l'autre, mais l'EA ne réagit pas comme il le devrait. Il doit redémarrer, c'est-à-dire recalculer tous les paramètres à nouveau.

Que conseillez-vous ? Peut-être que je complique les choses et qu'il existe un moyen plus simple.

Les options de réponse : "redémarrer manuellement" ne conviennent pas. Se lever à 2 heures du matin et redémarrer l'Expert Advisor sur 20-30 terminaux n'est pas très intéressant. S'il y a des centaines de comptes, dois-je passer toute la nuit à réfléchir ? En bref, comment l'automatiser au début d'une semaine de travail ?
 
vovan-gogan:

Je veux garder la trace des ordres dans mon EA et lorsqu'un nouveau tick arrive, s'il y a un ordre ouvert ou en attente, aller immédiatement au début de la fonction de démarrage, pour attendre un nouveau tick, c'est-à-dire aucun autre calcul dans l'EA jusqu'à ce que le nombre d'ordres ouverts ou en attente soit de 0. Ce code répond-il aux exigences ?


Je n'ai pas mis de crochets,

   if (OrdersTotal()>=1)
    {
      return;
    }
 
forexnew:

Question pour les experts, peut-être que quelqu'un a rencontré ce problème :

Si un EA fonctionnant un jour de semaine redémarre accidentellement le terminal le week-end, alors lorsque la communication avec le serveur (heure de négociation) arrive le lundi, l'EA cesse de fonctionner.

J'ai essayé de redémarrer le terminal à une certaine heure les jours de semaine en passant d'une période à l'autre, mais l'EA ne réagit pas comme il le devrait. Il doit redémarrer, c'est-à-dire recalculer tous les paramètres à nouveau.

Que conseillez-vous ? Peut-être que je complique les choses et qu'il existe un moyen plus simple.

Les options de réponse : "redémarrer manuellement" ne conviennent pas. Se lever à 2 heures du matin et redémarrer l'Expert Advisor sur 20-30 terminaux n'est pas très intéressant. S'il y a des centaines de comptes, dois-je passer toute la nuit à réfléchir ? Bref, comment automatiser cela en début de semaine ?

Quel type d'erreur écrit-il ? Doit-il écrire quelque chose, ou ne fait-il rien du tout ?
 
LazarevDenis:


Je n'ai pas mis d'appareil dentaire,

Putain de merde... Les crochets ne sont pas nécessaires ici. Il fonctionnera comme il est :

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 
forexnew:
...si un EA fonctionnant un jour de semaine redémarre accidentellement le terminal le week-end, alors lorsque la communication avec le serveur (heure de négociation) arrive le lundi, l'EA cesse de fonctionner.
Pour commencer, décochez ces éléments (parfois, ils sont également désactivés lors d'une nouvelle connexion). Si cela ne vous aide pas, vous devez examiner le code.

 

Peut écrire zéro divide, autant que je m'en souvienne. Mais cela est dû au fait que certains paramètres ne sont pas recalculés. En d'autres termes, l'EE ne démarre tout simplement pas correctement parce qu'elle a été lancée avant le début de la session de travail.

Bien entendu, ces cases à cocher ont été supprimées.

Je suppose que tout conseiller expert lancé ce week-end se comportera de la même manière. Est-ce que quelqu'un l'a essayé ou est-ce que ça marche bien pour tout le monde après un départ en week-end ?

Raison: