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

 
SpikeOne:

Salutations aux professionnels de la programmation !

J'ai une idée géniale, il existe un tel conseiller expert https://www.mql5.com/ru/code/11030 a vérifié et testé l'idée de travailler la nuit dessus.

L'idée est la suivante : je lance mon conseiller expert à minuit à Moscou et lorsqu'il arrive à 3-4 heures du matin, je dois attendre les ordres de fermeture avec un certain take profit.

Est-il possible de mettre cela en œuvre ? Si oui, alors dites-moi à quel endroit du code il est possible d'insérer la vérification des conditions de temps (par exemple, 3 heures du matin) et la vérification si le take profit est fermé.

Le résultat devrait être que le conseiller expert ferme le matin avec un bénéfice.

Tout d'abord, décidez : Que ferez-vous s'il n'y a pas de bénéfice le matin ? ! (A moins, bien sûr, que ce soit "quand il y a du profit, il y a du matin")... :)))))))
 
TarasBY:
Tout d'abord, décidez : Que ferez-vous s'il n'y a pas de bénéfice le matin ? ! (A moins, bien sûr, que ce soit "quand les bénéfices sont là le matin")... :)))))))

Je vous ai dit que je l'avais testé, il y a du profit là-dedans de toute façon. Mes paramètres ne sont pas standard. Il devrait être tel qu'il atteigne 3 heures du matin, il attend le take profit et éteint l'EA.
 
SpikeOne:

J'ai déjà écrit que je l'ai testé, il y a du profit de toute façon. Mes paramètres ne sont pas standard. Et il devrait être tel qu'il atteigne 3 heures du matin, il attend le take profit et ferme le conseiller expert.

En termes de logique de programmation, c'est absurde.

La possibilité d'un tel résultat existe. Elle doit donc être prévue. Sinon, vous risquez de vous retrouver dans une situation indéfinie, dans laquelle, par exemple, vous pouvez perdre votre caution.

 
Zhunko:

En termes de logique de programmation, c'est absurde.

La possibilité d'un tel résultat existe. Elle doit donc être prévue. Sinon, il peut y avoir une situation indéfinie dans laquelle, par exemple, un dépôt est perdu.


Si vous êtes un Martin, il y a toujours une possibilité de perdre le dépôt. Est-il possible de le faire sans considérer que c'est absurde ? Pouvez-vous au moins me montrer l'endroit du code où les ordres sont fermés au moment de la prise de bénéfices, afin que j'aie quelque chose pour commencer ?
 
SpikeOne:

Si vous êtes un Martin, il y a toujours la possibilité de perdre le dépôt. Pouvez-vous au moins me montrer l'endroit du code où les ordres sont fermés au moment de la prise de bénéfices, afin que j'aie quelque chose pour commencer ?

Vous pouvez, bien sûr ! Le bon programmeur tiendra compte de tous les cas de figure.

 

Qui peut me dire pourquoi je n'arrive pas à charger MT4 ? Présenter une capture d'écran de l'erreur.


 
SpikeOne:

Il y a toujours une possibilité de perdre le dépôt sur une martin, est-il possible de le faire sans considérer que c'est absurde ? Pouvez-vous au moins me montrer l'endroit du code où les ordres sont fermés au moment de la prise de bénéfices, afin que je puisse prendre un bon départ ?


Sur un martin, il y a toujours une probabilité d'obtenir le bénéfice attendu à partir du take profit du premier lot. Et si vous n'avez pas de chance, vous serez à court de dépôt ou vous dépasserez la taille maximale autorisée pour le lot.

Et cela vaut-il la peine de risquer autant d'argent pour récupérer la mise initiale ? D'autant plus que les lois de Murphy n'ont jamais été abolies...... Et ce n'est pas absurde, c'est juste la vie pratique, pas théorique ;))

 
Si c'est possible, vous pouvez peut-être m'aider à effectuer les tests, et je pourrai prouver que le programme fonctionne avec mes données initiales et sur les tests.
 

Les problèmes précédents de fermeture ont été résolus, mais de nouvelles questions sont apparues. L'essence de la question est de savoir comment comparer les lectures de l'indicateur actuel (en particulier le MACD) sur la barre zéro avec les lectures du même indicateur sur la première et la deuxième barre (c'est-à-dire les précédentes). Je ne comprends pas vraiment comment faire, je serai donc très reconnaissant pour toute aide)))).

 
ElhoroS:

Les problèmes précédents de fermeture ont été résolus, mais de nouvelles questions sont apparues. L'essence de la question est de savoir comment comparer les lectures de l'indicateur actuel (en particulier le MACD) sur la barre zéro avec les lectures du même indicateur sur la première et la deuxième barre (c'est-à-dire les précédentes). Je ne comprends pas vraiment comment faire, je serai donc très reconnaissant pour toute aide)))).

   double macd_1=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,1); // макдак на первом баре
   double macd_2=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,2); // макдак на втором баре
Sur la barre de zéro, les données de l'indicateur ne seront pas fixées. A chaque tick, en effet, changera, car la barre de zéro n'a pas encore été formée. Par conséquent, les données seront prises à partir de la première barre. Si vous voulez le prendre à partir de la barre zéro, changez PRICE_CLOSE en PRICE_OPEN - c'est le seul prix qui ne change pas sur la barre zéro, mais l'indicateur sera légèrement différent de sa représentation standard - juste un peu.
Raison: