Question sur le conseiller multi-devises - page 12

 

Après-midi. Fonction MiniMaxOrderPrice(Symbol(), -1, OP_BUYSTOP, 1 )

affiche correctement un ordre ticker qui est actuellement plus éloigné du prix actuel que les autres ordres.

Je dois supprimer cette commande "lointaine" si le nombre de commandes passées dépasse la valeur spécifiée.

Je le fais comme ça :

//--------Удаление лишних ордеров--------------

if ( NumberOfOrders(NULL,OP_BUYSTOP,-1)> Количество_ордеров_  ){
//если число ордеров больше заданного

 for (int v=0; v<OrdersTotal(); v++)                                   {       
  if (OrderSelect( v, SELECT_BY_TICKET, MODE_TRADES))                    {
// перебираем по тикету
           
   if (OrderSymbol()==Symbol())                                        {                  
    if (OrderType() == OP_BUYSTOP)     { выбираем байстопы 


if (OrderTicket()== MiniMaxOrderPrice(Symbol(), -1,OP_BUYSTOP,1) )
//если тикет равен тикету самого дальнего ордера, - удаляем его

{     OrderDelete(OrderTicket(),Yellow);     return(0);    }
             }}}}} 


Mais malheureusement, ce n'est pas du tout l'ordre le plus éloigné qui est supprimé (s'il l'est).

Cependant, je peux voir dans le commentaire et sur le graphique que la fonction est supprimée.

MiniMaxOrderPrice(Symbol(), -1,OP_BUYSTOP,1)
c'est le billet le plus éloigné qui est rendu.

Mais c'est l'ordre proche qui est supprimé. Et puis, après plusieurs suppressions, nous commençons à recevoir des erreurs de suppression de commande 4108 (mauvais ticket/ ticket inconnu).

Apparemment, il y a une erreur dans le code dans les 2-3 dernières lignes..... !

Veuillez indiquer où se trouve l'erreur... ? ? ?


 
rid писал(а) >>

Après-midi. Fonction MiniMaxOrderPrice(Symbol(), -1, OP_BUYSTOP, 1 )

affiche correctement un ordre ticker qui est actuellement plus éloigné du prix actuel que les autres ordres.

Je dois supprimer cette commande "lointaine" si le nombre de commandes passées dépasse la valeur spécifiée.

Je le fais comme ça :


Mais malheureusement, ce n'est pas l'ordre le plus éloigné qui est supprimé (s'il l'est).

Bien que, dans le commentaire et visuellement sur le graphique, je vois que la fonction

retourne le ticket le plus éloigné.

Mais il supprime le plus proche pour une raison quelconque. Et ensuite, après plusieurs suppressions, les erreurs de suppression de commande 4108 commencent à se produire (mauvais ticket/ ticket inconnu.)

Apparemment, il y a une erreur dans le code dans les 2-3 dernières lignes..... !

Veuillez m'indiquer où il pourrait y avoir une erreur... ? ? ?

int DeleteTicket= MiniMaxOrderPrice(Symbol(), -1,OP_BUYSTOP,1);
OrderSelect( DeleteTicket, SELECT_BY_TICKET);
OrderDelete(OrderTicket(),Yellow);  
Vous pourriez faire quelque chose comme ça, même si je ne suis pas sûr que ce soit la meilleure option.
 
Merci. Je vais essayer.
 

Ouais...

Il semble que le tri par ticket dans cette situation soit une affaire délicate et pas tout à fait correcte.

Le programme s'embrouille dans les billets ! Ça prend du retard à la sortie. Supprime les commandes non conformes...

Je vais essayer d'établir des commandes avec différents mages. Et ensuite trier par magicien avec toutes les implications...

 

Si ça ne vous dérange pas, je peux jeter un coup d'oeil à l'ensemble du code, vérifiez-le. vinin@mail.ru

 

OK ! Merci. Je vais nettoyer la morve dans le code, le brosser et l'envoyer.

 

Tu peux me dire quelque chose. Si j'ouvre plusieurs graphiques et que je place un EA sur chaque graphique, est-ce que chacun d'entre eux fonctionnera ou seulement celui qui se trouve dans la fenêtre du graphique actif ?

 

Oui, c'est probablement le cas. Tous les EAs fonctionneront, dans toutes les fenêtres.

Jetez également un coup d'œil aux paramètres de l'EA.

Il doit y avoir une option Magie ou quelque chose de similaire. SIMILAIRE.

En d'autres termes, il s'agit du paramètre par lequel l'EE distingue les ordres et les positions "étrangers" des siens !

C'est comme le poète l'a dit ! -

Si un homme m'est fidèle - il est mon frère,
Un frère infidèle est mon ennemi, maudis-le au centuple.
La médecine est parfois plus dangereuse que le poison,
La maladie guérit parfois le poison. (O.H.)

En d'autres termes, les mandats mis en place par un autre expert, avec un autre magicien, chaque expert particulier ne prête pas attention. Et expose et "ramasse pour modification" ou ferme uniquement les siens, avec le magicien spécifiquement mis en place par lui !

C'est tout...

 

Je me demande si chacun a son propre assistant et une seule position autorisée à la fois, l'EA ouvrira-t-il une position s'il y en a déjà une d'ouverte?

par un autre EA ?

 

La question est vaguement formulée, mais je l'ai comprise.

La réponse est - Oui ! - bien sûr que oui ! Car il est dit :

Qui dans la coupe de la vie fera briller une goutte ?
Toi ou moi ? Il va scintiller et disparaître.
Et l'échanson de la vie, - des millions
Radiant éclabousse, renverse et renverra.(0.X.)

//-------------------------------------------------------------

Qu'il y ait ou non des positions ouvertes dans le terminal pour cet instrument. Ouvert manuellement ou par un autre Expert Advisor.

Mais si le magik de ces positions ouvertes ne correspond pas au magik de l'EA spécifique en question, alors cet EA ouvrira sa propre position avec son propre magik ! Malgré la présence d'autres positions (avec un magicien différent) pour cet instrument.


Raison: