[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 518

 
Dozol:

Bonjour.

Des personnes intelligentes conseillent une chose simple. J'ai trois conseillers experts qui travaillent simultanément sur différentes paires de devises. Si l'un d'entre eux souhaite effectuer une transaction, comment puis-je vérifier s'il existe déjà des transactions ouvertes sur cette paire de devises ? Lorsqu'un seul conseiller expert fonctionne, tout est facile. OrderTotal(). Quand il y en a beaucoup, que faire ?

Une question d'adulte ! Avez-vous entendu parler de OrderMagicNumber()?
 
Pacman:

Bonsoir à tous.

J'ai essayé d'écrire un indicateur (c'est mon premier indicateur) qui devrait afficher la valeur minimale et maximale du prix parmi les n dernières barres.

Je n'arrive pas à comprendre où je me trompe.

Aidez-moi à comprendre ce que je veux faire !

Le compte à rebours commence à partir de 1 mesure.


Essayez-le :

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 DeepSkyBlue

extern int Quant_Bars = 5; //количество баров

double Line_1[];     //объявление массивов под..
double Line_2[];     //..буферы индикаторов

int init()
  {//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(0,Line_1);                    //назнач. массива буферу
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(1,Line_2);                    //назнач. массива буферу
    return(0);}

int start()
  {double Minimum=1000005; //минимум за n баров
   double  Maximum;      //максимум за n баров
   int z,k; 
  for(z=1;z<Quant_Bars;z++)
   {if(Low[z]<Minimum)    //если меньше известного..
       Minimum=Low[z];    //..то оно и будет минимальным
    if(High[z]>Maximum)    //если большн известного..
       Maximum=High[z];    //..то оно и будет максимальным
    }
for(k=1;k<Quant_Bars;k++)     
  {Line_1[k]=Minimum;    //отобразить линию минимума
   Line_2[k]=Maximum;    //отобразить линию максимума
  }return(0);}
 

TarasBY:
Взрослый вопрос! Про OrderMagicNumber() что-нибудь слышали?

Je l'ai entendu. Je ne vois pas comment cela va m'aider à résoudre mon problème.

Permettez-moi de reformuler la question : comment puis-je déterminer s'il y a des transactions ouvertes sur une paire de devises particulière ou non ?

 
Dozol:
Avant de rechercher "votre" ordre (ouvert par un conseiller spécifique), vous devez lui attribuer un MAGIC unique lors de son ouverture. Et ensuite, utilisez la MAGIE pour décider de votre question.
 
TarasBY:
Avant de rechercher "votre" ordre (ouvert par un EA spécifique), vous devez lui attribuer un MAGIC unique lors de son ouverture. Et alors, en utilisant la MAGIE, votre question sera résolue.


Vous pouvez également utiliser la commande OrderSymbol()

comme ceci

int count_orders=0;

string Symbole=eurusd;

  for (int i = OrdersTotal() - 1; i >= 0; i--)

    {

        OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

        if ( OrderSymbol()==Symbole) count_orders=count_orders+1;

   } 
 
Bonjour Chers utilisateurs du forum, Je suis un débutant, je suis en train d'écrire mon premier Expert Advisor, pouvez-vous m'aider à corriger un bug algorithmique, (la fermeture des ordres par critère ne fonctionne pas(( ?)), voici un fichier ...
Dossiers :
 
Equilibrium:
Bonjour Chers utilisateurs du forum, Je suis un débutant, je suis en train d'écrire mon premier Expert Advisor, pouvez-vous m'aider à corriger une erreur algorithmique, (la fermeture des ordres par critère ne fonctionne pas(( ?), voici le fichier...

Pourriez-vous ajouter un message dans le journal lorsque la commande se ferme ou est-ce qu'elle ne fonctionne pas du tout pour essayer de se fermer ?
 

Bonjour à tous.

Pouvez-vous me dire s'il existe des moyens d'envoyer les éléments d'un tableau unidimensionnel à comment () (ou autre chose). La taille du tableau peut varier, mais il est peu probable qu'il y ait plus de 20 éléments dans mon cas.

 
Lians:

Bonjour à tous.

Pouvez-vous me dire s'il existe des moyens d'envoyer les éléments d'un tableau unidimensionnel à comment() (ou autre chose). La taille du tableau peut varier, mais il est peu probable qu'il y ait plus de 20 éléments dans mon cas.

Dans la boucle, lisez consécutivement tous les éléments du tableau et formez une variable chaîne (avec des séparateurs) à partir d'eux. Et sortir cette variable dans Commentaire.
 
Usual_Trader:

ajouteriez-vous un message qui est enregistré lorsque les ordres sont fermés ou n'atteint-il pas du tout la tentative de fermeture ?

Voici une capture d'écran pendant le test... Les ordres ne sont fermés qu'au niveau du Take Profit ou du Stop Loss, mais pas au critère spécifié dans le code ((. (Les ordres doivent être fermés chaque fois qu'une stochastique est franchie).