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

 
neama:


écrivez le numéro du ticket... et son statut... s'il est modifié, alors l'ordre est à prix ouvert... pourquoi le magicien prescrirait-il quelque chose qui n'est pas à lui ou à elle...

pour vider l'historique dans un fichier. ouvert fermé... ou simplement faire défiler l'histoire tout court...

L'historique enregistre-t-il l'ordre déclenché ?

 
Bonjour, je suis en train d'écrire un EA utilisant l'indicateur de flèche (ci-joint), je n'arrive pas à comprendre comment obtenir des signaux à partir de celui-ci, en bref, il dessine des flèches sur la barre 0, peut redessiner, utilise des variables globales, mais ne les réécrit pas. Merci d'avance.
Dossiers :
arrow.mq4  6 kb
 
zfs:
Est-il possible de déterminer l'heure de déclenchement d'un ordre en suspens sans franchir le prix de l'ordre ?
.
Le temps de déclenchement == le temps d'ouverture de la position, c'est-à-dire OrderOpenTime() ; Dans ce cas, l'attente à partir de laquelle la position est apparue dans MODE_HISTORY ne sera pas
 
alexey1979621:

Chers membres du forum, je n'arrive pas à comprendre l'indicateur Ishimoku. J'ai créé un petit conseiller expert basé sur ce modèle, mais il n'ouvre que les positions d'achat, mais pas les positions de vente. Je pense que cela est très probablement dû au fait que le nuage s'inverse, en plus j'ai mal défini les conditions pour entrer dans le trade.

La figure montre une flèche rouge vers le bas où une transaction de vente devrait s'ouvrir et une flèche rouge vers le haut où une transaction d'achat devrait s'ouvrir. Une transaction d'achat a été ouverte avec une mauvaise entrée (en théorie, elle ne devrait pas être là).


Limite supérieure du nuage = MathMax(UpO, DownO) ;

Limite inférieure du nuage = MathMin(UpO, DownO) ;

 
zfs:

L'historique enregistre-t-il l'ordre déclenché ?

Non, seulement celui qui a été supprimé.
 

S'il y a plusieurs bibliothèques, chacune d'entre elles utilise plusieurs des mêmes variables... Toutes ces bibliothèques doivent être compilées séparément, en option. Les mêmes variables doivent-elles être ajoutées à chaque bibliothèque en tant que fichier en ligne (fichier d'en-tête) ?

Je veux faire des bibliothèques exactement séparées, ma tête est en train de craquer. Tout ne se passe pas comme prévu...

Chaque bibliothèque doit avoir son propre fichier d'en-tête en fait ? Et ces fichiers d'en-tête, à leur tour, peuvent être placés dans le conseiller expert lui-même, ou dans un fichier d'en-tête principal de base, qui les réunira tous. Est-ce que je comprends bien ?

 
hoz:

S'il y a plusieurs bibliothèques, chacune d'entre elles utilise plusieurs des mêmes variables... Toutes ces bibliothèques doivent être compilées séparément, en option. Les mêmes variables doivent-elles être ajoutées à chaque bibliothèque en tant que fichier en ligne (fichier d'en-tête) ?

Je veux faire des bibliothèques exactement séparées, ma tête est en train de craquer. Tout ne se passe pas comme prévu...

Chaque bibliothèque doit avoir son propre fichier d'en-tête en fait ? Et ces fichiers d'en-tête, à leur tour, peuvent être placés dans le conseiller expert lui-même, ou dans un fichier d'en-tête principal de base, qui les réunira tous. Est-ce que je comprends bien ?

Le fichier d'en-tête de la bibliothèque est un sujet distinct. C'est ainsi qu'il faut procéder.

Vous pouvez mettre les mêmes variables dans un fichier séparé et l'insérer dans chaque bibliothèque qui déclare des variables.

Victor, j'ai déjà répondu à votre question ci-dessus. Vous ne lisez pas les réponses ? :-)

 

Des gens bien ! Il existe une fonction Breakeven. Cela fonctionne bien. Comment faire pour qu'une transaction ne se termine pas à 0, mais à +2 pips. Je vous serais très reconnaissant de votre aide.

void BU()
{
   for(int a=0; a<OrdersTotal(); a++) 
      {
       if(OrderSelect(a, SELECT_BY_POS))
        {      
         if(OrderType()==OP_BUY) 
          {
           if(OrderOpenPrice()<=(Bid-BULevel*Point)&&OrderOpenPrice()>OrderStopLoss())
            {      
             OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
            }
           }       
 
         if(OrderType() == OP_SELL) 
           {
            if(OrderOpenPrice()>=(Ask+BULevel*Point)&&OrderOpenPrice()<OrderStopLoss())
             {
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
             }
           } 
         }
       }
}
  return(0);
 
Zhunko:

Le fichier d'en-tête de la bibliothèque est un sujet distinct. C'est ainsi qu'il faut procéder.

Vous pouvez mettre les mêmes variables dans un fichier séparé et l'insérer dans chaque bibliothèque qui déclare des variables.

Victor, j'ai déjà répondu à votre question ci-dessus. Vous ne lisez pas les réponses ? :-)


Vadim, la dernière fois que j'ai demandé, j'en avais une vague idée, et c'est pourquoi j'ai probablement mal compris. Aujourd'hui, je l'ai rencontré directement et je vois que j'ai enfin compris de quoi il s'agit.
 
alexey1979621:

Des gens bien ! Il existe une fonction Breakeven. Cela fonctionne bien. Comment faire pour qu'une transaction ne se termine pas à 0, mais à +2 pips. Je vous serais très reconnaissant de votre aide.


void BU()
{
   for(int a=0; a<OrdersTotal(); a++) 
      {
       if(OrderSelect(a, SELECT_BY_POS))
        {      
         if(OrderType()==OP_BUY) 
          {
           if(OrderOpenPrice()<=(Bid-BULevel*Point)&&OrderOpenPrice()>OrderStopLoss())
            {      
             OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+2*Point,OrderTakeProfit(),0,Green);
            }
           }       
 
         if(OrderType() == OP_SELL) 
           {
            if(OrderOpenPrice()>=(Ask+BULevel*Point)&&OrderOpenPrice()<OrderStopLoss())
             {
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-2*Point,OrderTakeProfit(),0,Red);
             }
           } 
         }
       }
}
  return(0);
Raison: