La grande et terrible MT4 pour toujours (ou comment organiser une transition) - page 17

 
Andrey Khatimlianskii:

Nous l'attendons avec impatience. Si vous avez besoin d'aide pour quoi que ce soit, écrivez-nous.

Tout le monde est invité à tester la première version de la solution.

Библиотеки: TradesID
Библиотеки: TradesID
  • 2021.03.29
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: TradesID
 
fxsaber:

Tout le monde est invité à tester la première version de la solution.

Il est dommage que personne ne l'ait vérifié sur ses configurations. Considérons que le problème du doublement de position a effectivement été résolu.

 
fxsaber:

Il est dommage que personne ne l'ait testé sur ses propres configurations. Supposons que le problème du doublement de la position ait effectivement été résolu.

Je ne voyais pas l'intérêt de refaire le même test. Il ne fait pas tic-tac maintenant, je ne peux pas le vérifier.

 
Andrey Khatimlianskii:

Je ne voyais pas l'intérêt de refaire le même test.

Si le test de quelqu'un ne fonctionne pas, alors tous les autres vont avoir des problèmes.

 

C'est un endroit intéressant :

else if (::HistoryOrderGetInteger(this.Orders[i], ORDER_TICKET) != this.Orders[i])

Quand et pourquoi cette inégalité peut-elle se produire ?

En général, le code n'est pas encore clair, je vais devoir passer du temps à l'analyser :/.

Je ne peux pas dire que c'est facile et rapide et qu'on peut l'appeler sur chaque tique.

Au lieu de ByPass.Is(), vous devez essayer d'appeler tout autre code qui s'exécutera dans le même laps de temps.

Ou peut-être la solution est-elle simplement liée à son temps d'exécution.

Peut-être que pendant cette période, toutes les listes et quantités se normaliseront naturellement ?

 
Dmitry Fedoseev:

C'est un endroit intéressant :

Quand et pourquoi cette inégalité peut-elle se produire ?

En général, le code n'est pas encore clair, je vais devoir passer du temps à l'analyser :/.

Je ne peux pas dire que c'est facile et rapide et qu'on peut l'appeler sur chaque tique.

Au lieu de ByPass.Is(), vous devez essayer d'appeler tout autre code qui s'exécutera dans le même laps de temps.

Ou peut-être la solution est-elle simplement liée à son temps d'exécution.

Peut-être que toutes les listes et quantités se normaliseront naturellement pendant cette période ?

Une autre option est de vérifier sur FORTS à 10 heures précises.

 
Dmitry Fedoseev:

C'est un endroit intéressant :

Vous avez bien fait de dupliquer vos questions sur la mise en œuvre elle-même dans son fil de discussion. Je vais y répondre.

 

Je dois écrire un script sur un MT5 qui ouvre 100 positions sur un compte vide.


Sur MT4, je l'ai résolu de cette façon.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Qui a une solution sur MT5 ?

 
fxsaber:

Je dois écrire un script sur un MT5 qui ouvre 100 positions sur un compte vide.


Sur MT4, je l'ai résolu de cette façon.


Qui a une solution sur MT5 ?

Que pensez-vous de ça ?

//+------------------------------------------------------------------+
//|                                                    maxLimits.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Trade\Trade.mqh>
//---
CTrade m_trade; // trading object
//---
uint maxLimits=100; // Кол-во Позиции Открыть в одну сторону
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   for(uint i=0; i<maxLimits; i++)
     {
      //--- open position
      if(m_trade.Buy(0.01))
         printf("Position by %s to be opened",_Symbol);
     }
  }
//+------------------------------------------------------------------+
Photo par
 
SanAlex:

Vous pouvez le faire ?

Non.
Le résultat n'est pas garanti.