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

 

Lire le code d'un EA simple dans le tutoriel - https://book.mql4.com/ru/samples/expert

Je ne comprends pas comment la valeur de la variable Total change

Dans le bloc "Saisie des commandes", sa valeur peut changer, par exemple, elle peut devenir 1.

Lorsque l'ordre est fermé, la valeur de la variable Total ne change pas dans le bloc "Fermer les ordres", alors que je pense qu'elle devrait être remise à zéro (si l'ordre est fermé avec succès).

La question est la suivante : comment, dans ce cas, de nouveaux ordres seront-ils ouverts (dans le bloc "Ouverture d'ordre" - if (Total==0 && Opn_B==true) ), si le programme pense toujours qu'il y a des ordres qui ne sont pas fermés ? Ou peut-être le programme ne peut-il pas fermer un ordre et en ouvrir un autre en une seule fois ? Alors je ne comprends pas pourquoi il est dit que l'option b du ratio des critères commerciaux est utilisée dans l'exemple ?

 
fevrall:

Bonne journée à 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,

Est-ce que cela équivaut à exécuter le même EA sur la même paire dans différentes fenêtres du même terminal ?

2. Si j'interdis 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 !)

1) Deux terminaux différents sont deux terminaux différents).

Même si vous avez deux mt4 différents sur une machine, travaillant sur un seul compte - ils ne se croiseront pas. Ils peuvent se croiser par accident, si les magies d'ordre coïncident, alors l'EA active percevra l'ordre comme "le sien".

2. si nous désactivons le trading sur un terminal, l'autre continuera à fonctionner, car cet EA est un programme fonctionnant sur cet ordinateur dans le MT4 donné, et non sur le serveur du centre de trading. De même, si vous éteignez l'ordinateur, le conseiller expert ne négociera pas. Mais il y a une nuance - si avant que l'EA ne soit désactivé, il a placé des ordres en attente, ils seront exécutés sur le marché, même lorsque l'EA est désactivé.

 
Techno:
Vous pouvez définir une interdiction pour 1 ou 2 bars.

Techno, pourquoi insistez-vous sur une solution temporaire à ce problème ?

N'y a-t-il aucun moyen de le résoudre logiquement ? Votre méthode pourrait conduire à une solution à mon problème, mais c'est une façon indirecte de le résoudre...

 

obla4ko, merci !

 
obla4ko:

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 ! :)) - Je dois donc chercher d'autres solutions, plus subtiles, à l'adresse .....

Si j'ai bien compris votre problème, vous ne devez pas vous laisser guider par l'heure de clôture des commandes. Vous devez commencer au moment de la barre qui a donné le signal pour ouvrir la position. Ce que je ferais, personnellement, est le suivant :

1) créer une variable de type datetime où j'entrerais la valeur Time[0] si la commande est passée avec succès ;

2) dans la fonction init(), initialiser cette variable avec la valeur "0". Je préfère une initialisation explicite, car elle est plus claire lors de la révision du code ;

3) lorsque les conditions pour ouvrir une position apparaissent, avant d'envoyer la requête OrderSend(...), comparez la valeur de cette variable avec la valeur Time[0] et si elles ne sont pas égales, envoyez une requête.

4) si la position s'ouvrait, la valeur de Time[0] serait stockée dans cette même variable.

---

Je ne sais pas si je l'ai bien expliqué, mais j'ai fait de mon mieux.

Bien sûr, il s'agit de l'approche la plus primitive, car l'EA pourrait en fait se réinitialiser sur la barre où l'ordre a été ouvert et nous devrions envisager de telles situations lors de l'écriture de l'EA. Mais la variante que j'ai décrite vous conviendra également au stade initial.

 

Bonjour à tous !

Les programmeurs et les amateurs ont besoin de votre aide ! L'essentiel est le besoin d'un indicateur simple qui montrerait la ligne horizontale, c'est-à-dire donner un niveau à partir duquel il a dansé (vers le bas ou vers le haut, aucune différence) et il dessine un certain nombre de points à nouveau la ligne, et ainsi de suite jusqu'au niveau spécifié. Par exemple, le niveau de 1.2500 à 1.3400, une nouvelle ligne tous les 50 points ...


Merci d'avance à tous ceux qui répondent...

 

C'est intéressant de voir comment les filles dansent... :)

Je suis de retour sur les "farces" de mon DC...

Comment cela est-il possible ?

... ...c'est intéressant de voir comment les poses s'ouvrent en l'air... Compte de démonstration.

Comment est-ce possible ?

Si je comprends bien, si les positions ont été ouvertes avant l'écart, elles devraient être là où elles ont été ouvertes, et non pas planer dans le ciel...
... Eh bien, s'ils ont été déplacés, pourquoi pas vers le bar après le trou, mais quelque part dans l'air... Les miracles... :)

 

artmedia70, c'est un glissement sur un écart) Changez votre dtz )) fuck it ))
 
artmedia70:

... intéressant comment les poses se sont ouvertes dans l'air ... Compte de démonstration.


N'oubliez pas que sur le graphique, le prix est le Bid, les ordres d'achat (il semble que vous en ayez) s'ouvrent sur le Ask.
 
PapaYozh:

N'oubliez pas que sur le graphique le prix est Bid, les ordres d'achat (il semble que vous en ayez) s'ouvrent sur Ask.
Ne sommes-nous pas en train d'ouvrir un Buy at Ask ? ??????? ? Et le spread ne peut pas être de 60 pips (il doit être après le gap), et s'il est avant le gap, le spread de 325 pips sur l'EUR est incroyable. :)