La tâche de recherche des commandes - page 2

 
Михаил:

Ne soyez pas ridicules....

Si un imprévu survient, aucun cours ne vous sauvera !

S'il y a un redémarrage inattendu du serveur pendant 5 minutes ou plus, toutes les données variables sont effacées...

Pendant le redémarrage sur les serveurs du courtier, les ordres peuvent se fermer sur sl ou тп ou devenir marché,

La seule solution stable consiste à recueillir des informations au moment du chargement de l'EA ou lorsque cela est nécessaire ...

Malheureusement, cet imprévu se produit très souvent, alors à la recherche de solutions bonnes/normales, j'ai créé ce fil de discussion.

Merci Michael pour vos suggestions ...

 
Михаил:

Ne soyez pas ridicules....

Si un imprévu survient, aucun cours ne vous sauvera !

Si Windows ou le terminal se bloque, lors de la réinitialisation de l'EA,

Je ne fais que "regarder" les ordres actifs et les fermer, car il n'y a aucun contrôle sur eux.

N'est-il pas logique d'en reprendre le contrôle ?
 
Vladimir Pastushak:
N'est-il pas logique de reprendre le contrôle sur eux ?

Je ne vois pas l'intérêt. Pourquoi se donner la peine d'examiner ce qu'ils ont "fait" ?

C'est beaucoup plus facile de les "clouer" et de regarder la position, d'autant plus que vous devez la regarder de toute façon !

 
Михаил:

Je ne vois pas l'intérêt. Pourquoi se donner la peine d'examiner ce qu'ils ont "fait" ?

C'est beaucoup plus facile de les "clouer" et de regarder la position, d'autant plus que vous devez la regarder de toute façon !

Non. Il y a des ordres qui doivent être laissés sur le marché et d'autres pour lesquels une décision doit être prise. Tout cela est fait par le conseiller expert qui "scanne" son "espace de travail" et dispose toujours de données pertinentes. Et dans les situations vraiment inattendues - ici aussi, le message est automatiquement envoyé au téléphone portable, de sorte que je puisse intervenir en utilisant mon esprit, et non le robot. À mon humble avis, c'est le comportement le plus raisonnable pour un EA.

Et il n'y a pas de variables, dans lesquelles l'environnement important est mémorisé - seulement la recherche de l'état le plus récent, le plus frais, seulement l'extrême. C'est de l'argent ;)

 
Artyom Trishkin:

Eh bien non. Il y a les commandes qui doivent être laissées sur le marché, et il y a celles pour lesquelles une décision doit être prise. Tout ceci est réalisé par le conseiller expert en "scannant" son "espace de travail" et il dispose toujours des données réelles. Et dans les situations vraiment inattendues - ici aussi, le message est automatiquement envoyé au téléphone portable, de sorte que je puisse intervenir en utilisant mon esprit, et non le robot. A mon humble avis, c'est le comportement le plus raisonnable des EAs.

Et il n'y a pas de variables dans lesquelles l'environnement important est mémorisé - seulement la recherche du dernier état, le plus récent, seulement l'extrême. C'est de l'argent ;)

Ce sont des mots généraux.

Veuillez me donner un exemple (MT5) d'un ordre qui doit simplement être laissé sur le marché,

après un "crash" des fenêtres ou du terminal ?

Est-il préférable et plus rapide d'analyser 100 ordres non supervisés ou de placer les ordres requis après avoir analysé la position?

nécessaire ?

 

En mettant en œuvre différentes "grilles", j'ai abouti à la structure suivante :

struct OrderInfo
{
   int            type;
   int            ticket;
   int            martinLeg;
   double         lots;
   double         openPrice;
   double         profit;
   datetime       openTime;
};

struct SeriesInfo
{
   int            ordersCnt;
   int            maxMartinLeg;                                                                    // Максимальный номер ордера в серии.
   
   double         lastOpenPrice;                                                                   // Минимальная для Buy-серии и максимальная для Sell-серии цена открытия ордера в серии
   double         totalProfit;                                                                                                   
   OrderInfo      order[MAX_ORDERS_IN_SERIES];
   
   void Init()
   {
      ordersCnt = 0;
      maxMartinLeg = 0;
      lastOpenPrice = 0.0;
      totalProfit = 0.0;
   }
};

La structure est remplie à chaque nouveau tick sur la base de la valeur du Magic Number (elle stocke toutes les informations nécessaires à l'identification de l'ordre : numéro d'ordre, grille à laquelle il appartient, etc.)

 
Михаил:

Ce sont des mots généraux.

Donnez-moi un exemple (MT5) où vous devez absolument laisser un ordre précédemment placé sur le marché,

après un "plantage" de Windows ou du terminal ?

Est-il préférable et plus rapide d'analyser 100 ordres non supervisés ou de placer les ordres requis après avoir analysé la position?

les ordres nécessaires ?

Il ne s'agit pas de l'implémentation (code), mais de l'algorithme. Le conseiller expert doit récupérer tous ses ordres et positions après le redémarrage. S'il les perd - c'est un truc d'écolier, s'il les ferme après les avoir vus, c'est aussi du même domaine.

Un EA doit essayer de répéter les actions du trader, et croyez-moi, autant de clients pour lesquels j'ai écrit des codes, tous ne veulent pas qu'un EA se ferme bêtement (si cela ne fait pas partie du TS), mais qu'il les reprenne et tire des conclusions de leur état afin d'effectuer les actions nécessaires avec eux.

Et pourquoi pensez-vous qu'après le redémarrage du terminal, les ordres ouverts par l'EA il y a cinq ou dix minutes (ou même une heure ou deux, etc., tout dépend du TS), devraient soudainement devenir incontrôlables pour l'EA et obligatoirement supprimés ?

 
Artyom Trishkin:

Ce n'est pas l'implémentation (le code) qui compte, mais l'algorithme. Le conseiller expert doit reprendre tous ses ordres et positions après le redémarrage. S'il les perd - c'est un truc d'école, s'il les ferme après les avoir vus, hors d'état de nuire, c'est aussi du même domaine.

Le conseiller expert doit essayer de répéter les actions du trader et, croyez-moi, j'ai écrit à tous les clients qui ont besoin que le conseiller expert ne ferme pas bêtement (si cela ne fait pas partie du TS), mais qu'il les reprenne et tire des conclusions de leur état afin d'effectuer d'autres actions avec eux.

Et pourquoi pensez-vous qu'après le redémarrage du terminal, les ordres ouverts par l'EA il y a cinq ou dix minutes (ou même une heure ou deux, etc., tout dépend du TS), devraient soudainement devenir incontrôlables pour l'EA et obligatoirement supprimés ?

Vous êtes engagé dans le verbiage (artisanat scolaire, etc.).

Vous n'avez pas besoin d'un mentor pour vous expliquer comment cela doit être !

Vous répondez à la question posée :

Donnez-moi un exemple (MT5) où vous avez simplement besoin de laisser un ordre précédemment placé sur le marché,

Après un "crash" de l'éolienne ou du terminal ?

Quel est le meilleur moyen et le plus rapide d'analyser 100 ordres non supervisés, ou d'analyserune position et de placer l'ordre.

les ordres nécessaires ?

P/S Commandes non contrôlées - parce que leurs tickets sont perdus !

Une position ne peut être perdue :)

Soit elle (la position) existe, soit elle n'existe pas !

 
Михаил:
...

P/S Mandats non contrôlés - parce que leurs billets sont perdus !

Et une position ne peut être perdue :)

Voici ma réponse à PS : ils doivent simplement être trouvés - c'est ce dont nous parlons, alors pourquoi les supprimer ? C'est de cela que parlait le topicstarter, avec lequel je suis entièrement d'accord. Je le répète - il s'agit uniquement de mon opinion. A propos, si vous essayez de mettre sur le marché un EA qui supprimera les ordres et les positions en cas d'échec de connexion ou de redémarrage du terminal - il ne sera probablement pas modéré. Et là, croyez-moi, les modérateurs vérifient tout et exigent un comportement adéquat des programmes dans leurs exigences pour les produits, ce qui semble parfois même stupide. Les exemples de modération sévère peuvent vous donner beaucoup de vendeurs, je ne suis pas le seul (bien que j'ai eu des plaintes seulement sur le design) ...

Quant au verbiage et autres choses que vous "pensez" dans mes posts - c'est juste ce que vous pensez. Je communique avec vous de manière très amicale, sans remontrances et autres choses apparemment négatives. J'exprimais simplement mon IMHO (que j'ai rapporté, et cité mon observation que les gens demandent).

À propos - si Windows se plante, le conseiller expert ne peut pas supprimer les ordres - seulement manuellement, donc cet exemple ne peut pas être entièrement lié à la négociation automatique.

 
Artyom Trishkin:

Voici ma réponse à PS : il leur suffit donc de le trouver - c'est ce dont je parle, pourquoi le supprimer ? C'est de cela que parlait le topicstarter, avec lequel je suis entièrement d'accord. Je le répète - il s'agit uniquement de mon opinion. A propos, si vous essayez d'introduire sur le marché un EA qui supprimera les ordres et les positions en cas d'échec de connexion ou de redémarrage du terminal - il ne sera probablement pas modéré. Et là, croyez-moi, les modérateurs vérifient tout et exigent un comportement adéquat des programmes dans leurs exigences pour les produits, ce qui semble parfois même stupide. Les exemples de modération sévère peuvent vous donner beaucoup de vendeurs, je ne suis pas le seul (bien que j'ai eu des plaintes seulement sur le design) ...

En ce qui concerne le verbiage et les autres choses qui vous "semblent" dans mes messages - cela ne semble qu'à vous. Je communique avec vous de manière tout à fait amicale, sans remontrances ni autres choses apparemment négatives. J'exprimais simplement mon IMHO (que j'ai rapporté, et cité mon observation que les gens demandent).

À propos - si Windows se plante, le conseiller expert ne peut pas supprimer les ordres - seulement manuellement, donc cet exemple ne peut pas être entièrement lié à la négociation automatique.

Je ne dis pas que ce n'est pas une communication amicale...

Mais une fois de plus (comme je le crois), il ne sert à rien de creuser dans les mandats !

Au fait, en réponse à cette question :

"Au fait - si le vent est en panne, l'EA ne peut pas non plus supprimer les ordres - uniquement manuellement ici, donc cet exemple ne peut pas s'appliquer entièrement à l'autotrading."

POSSIBLE, vous ne savez probablement pas comment. Si cela vous intéresse, je peux vous envoyer le code.