[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 791

 
granit77:

Où êtes-vous allé auparavant ? Vous avez raison. Je l'ai ajouté, il fonctionne.


Merci beaucoup de ma part aussi ! J'ai "harcelé" cette question sur plusieurs fils de discussion ici - en voici enfin un "fructueux" :))) !

Une autre question d'un autre point de vue : si je prescris une ouverture d'ordre à Open[0] après МА croisement 40% des positions ne sont pas ouvertes - je les ignore complètement (plus précisément 40%)) et si je prescris une ouverture à Ask ou Bid - cela ouvre beaucoup de positions "supplémentaires" qui ne devraient pas être ouvertes. Ceci est particulièrement pertinent pour les devises dont les écarts sont importants, comme l'EURNZD, par exemple.

Pouvez-vous le combattre ? Si j'ouvre avec Open[0], le slippage est égal à la valeur du spread, puis il se comporte comme avec Ask opening - en d'autres termes, c'est un cercle vicieux.

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
    
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+Stoploss*Point,Bid-Takeprofit*Point,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-Stoploss*Point,Ask+Takeprofit*Point,"",MAGICMA,0,Blue);
      return;
     }
//----
  }

	          
 
obla4ko:

Merci beaucoup de ma part aussi ! J'ai "harcelé" cette question sur plusieurs fils de discussion ici - en voici enfin un "fructueux" :))) !

Une autre question d'un autre point de vue : si je prescris une ouverture d'ordre à Open[0] après МА croisement 40% des positions ne sont pas ouvertes - je les ignore complètement (plus précisément 40%)) et si je prescris une ouverture à Ask ou Bid - cela ouvre beaucoup de positions "supplémentaires" qui ne devraient pas être ouvertes. Ceci est particulièrement pertinent pour les devises dont les écarts sont importants, comme l'EURNZD, par exemple.

Pouvez-vous le combattre ? Si je fixe le slippage à l'ouverture Open[0] égal au spread, il se comporte comme à l'ouverture Ask - en d'autres termes, c'est un cercle vicieux.


Avez-vous essayé de contrôler le nombre de postes ouverts?
 
artmedia70:
Bien joué, Victor !
Et le nuage est silencieux... :))
pas silencieux :)) ... juste répondu au mauvais endroit - :))
 
Vinin:

Avez-vous essayé de contrôler le nombre de postes ouverts ?
Oui, nous l'avons fait. Une seule position pour un seul instrument est active.
 
obla4ko:

Merci beaucoup de ma part aussi ! J'ai "harcelé" cette question sur plusieurs fils de discussion ici - en voici enfin un "fructueux" :))) !

Une autre question d'un autre point de vue : si je prescris une ouverture d'ordre à Open[0] après МА croisement 40% des positions ne sont pas ouvertes - je les ignore complètement (plus précisément 40%)) et si je prescris une ouverture à Ask ou Bid - cela ouvre beaucoup de positions "supplémentaires" qui ne devraient pas être ouvertes. Ceci est particulièrement pertinent pour les devises dont les écarts sont importants, comme l'EURNZD, par exemple.

Pouvez-vous le combattre ? Si j'ouvre avec Open[0], le slippage est égal à la valeur du spread, puis cela fonctionne comme avec Ask opening - en d'autres termes, c'est un cercle vicieux.

Pour ouvrir une position d'achat, il faut utiliser le cours vendeur et ouvrir une position de vente en utilisant le cours acheteur.

Il est nécessaire de vérifier le résultat renvoyé par la fonction OrderSend(). Si la position est ouverte, il faut tenir compte du fait que le signal d'achat/vente est passé et ne pas répéter la demande d'ouverture, mais attendre le prochain signal.

 
PapaYozh:

La position d'achat doit être ouverte au prix Ask et la position de vente au prix Bid.

Vous devez vérifier le résultat renvoyé par la fonction OrderSend(). Si vous ouvrez une position, il faut tenir compte du fait que le signal d'achat/vente est parti et ne pas répéter la demande d'ouverture, mais attendre le prochain signal.

Oui ! En fait, je ne peux pas écrire correctement ce qui suit :

- Si sur la barre donnée la position a été fermée à StopLoss, et qu'elle est appropriée par les paramètres pour l'ouverture d'une nouvelle position, alors vous ne devez JAMAIS ouvrir une position dessus ! En d'autres termes -

StopLoss - (1)

OUVERT - (0) pour la barre actuelle.

Le conseiller expert fonctionne alors de manière optimale - un minimum de positions "inutiles".

Et j'ai toujours une sorte d'abracadabra.

 
obla4ko:

Oui ! En fait, je n'arrive pas à obtenir le résultat suivant :

- Si une position a été fermée sur une barre donnée au niveau du StopLoss, et qu'elle est appropriée pour l'ouverture d'une nouvelle position selon les paramètres, alors vous ne devez JAMAIS l'ouvrir ! En d'autres termes -

StopLoss - (1)

OUVERT - (0) pour la barre actuelle.

Le conseiller expert fonctionne alors de manière optimale - un minimum de positions "inutiles".

Et j'obtiens toujours une sorte d'abracadabra... :((

Je vous ai dit de régler le minuteur pour qu'il ne s'ouvre pas avant 4 barres après le déclenchement du stop.
 
Techno:
Je vous l'ai dit, réglez le minuteur pour qu'il ne s'ouvre pas avant 4 barres après le déclenchement du stop.

Je m'en souviens :), vos conseils sont bons, mais "tout est question de nuances", comme le dit PapaYozh !

Lorsque l'on travaille avec des moyennes, chaque barre compte - les statistiques, vous savez ! :)) - il faut donc chercher d'autres solutions, plus subtiles, à l'adresse .....

 
vous pouvez régler l'interdiction à 1 ou 2 barres. il n'est pas possible de faire plus fin que cela
 

Bonjour à tous les membres du forum !

Je n'ai pas trouvé de réponses aux questions suivantes.

1. Deux terminaux fonctionnent sur des machines différentes (la première au travail, la seconde à la maison), sur le même compte réel.

Si un Conseiller Expert sur une seule et même paire de devises fonctionne sur ces terminaux, sur la même paire de devises,

Cela équivaut-il à exécuter le même EA sur la même paire dans différentes fenêtres du même terminal ?

2. Si vous désactivez le fonctionnement des EA dans l'un de ces terminaux (en utilisant le bouton approprié), comment cela va-t-il se passer ?

affecter un autre terminal ?

(Merci d'avance !)

Raison: