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

 
Oh, alors j'ai bien compris ?
 
FAQ 17.03.2012 12:18
Le plus probable est qu'au moment de l'ouverture, vous avez zéro dans la variablepriceBUY, donc Bid-priceBUY(0)==Bid, et donc

Non, si c'était le cas, alors le SELL serait également chaluté de manière incorrecte, alors que le SELL fonctionne bien....... J'ai déjà essayé de changer la valeur initiale de priceBUY de "0" à "open price"..... ne fonctionne pas, mon cerveau est déjà grillé(((

 
MIR-ASOV:

Non, si c'était le cas, SELL ne fonctionnerait pas correctement non plus, mais SELL fonctionne bien....... J'ai déjà essayé de changer la valeur initiale de priceBUY de "0" à "prix ouvert" ..... ne fonctionne pas, mon cerveau est déjà grillé(((

Qu'est-ce qui vous empêche d'utiliser un tel code ?

   
   extern int ts=25, minp=10;

for(int i = OrdersTotal(); i >= 0; i--)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) 
         {
          if(OrderType() == OP_BUY) // long position is opened
            {
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) // trall
                 {
                  if(OrderStopLoss()<Bid-Point*ts)
                    {
                      if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*ts,Digits),0,0,Orange)) {Sleep(11000); prevtime = Time[1];}
                    }
                 }
            } 
           if(OrderType() == OP_SELL) // short position is opened
            {

               if((OrderOpenPrice()-Ask)>Point*(ts+minp))// trall
                {
                 if(OrderStopLoss()>Ask+Point*ts)
                   {
                       if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*ts,Digits),0,0,Orange))
                      {
                        Sleep(11000);
                        prevtime = Time[1];
                      }
                   }
                }

            }
          }
     }
//----

Tout fonctionne comme il se doit.

 

Bonne fête de la Saint-Patrick à tous !

Chérie, je demande de l'aide. Aidez-moi à obtenir un signal d'un indicateur dans un EA. C'est-à-dire que si une ligne bleue apparaît - acheter, si rouge - vendre.

Je l'ai écrit en hibou :

double dn_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,0,1); // синий, снизу
double up_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,1,1); // красный, сверху

   if (dn_stop_1!=EMPTY_VALUE)
       return(1);//покупка
   if (up_stop_1!=EMPTY_VALUE)  
       return(-1);//продажа

Je n'ai rien obtenu, il semble que les tampons soient toujours égaux à 0.

Dossiers :
 

evillive А что мешает использавать вот такой код?


S'il n'y a qu'un seul ordre dans l'exemple (soit ACHAT ou VENTE), mais s'il y a plusieurs ordres, alors j'ai besoin que tous les ordres soient tracés à partir du niveau du seuil de rentabilité total. Et il est important pour moi de comprendre quelle est la raison de ce code, car l'ordre SELL est exécuté de manière excellente, que manque-t-il à BUY ? Pourquoi modifie-t-il l'arrêt immédiatement après l'ouverture de ...... !?
 
MIR-ASOV:


Dans cet exemple, je n'ai qu'un seul ordre (soit ACHAT ou VENTE), mais s'il y en a plusieurs, je veux que tous les ordres soient pris à partir du seuil de rentabilité. Et il est important pour moi de comprendre quelle est la raison de ce code, parce que l'ordre SELL est exécuté de manière satisfaisante, que manque-t-il à BUY ? Pourquoi modifie-t-il l'arrêt immédiatement après l'ouverture de ...... !?


Parce que le prix comparé n'est pas :

1) initialisé

2) égal à zéro

Actions :

1) Désinitialiser et voir,

2) initialiser avec un grand nombre

3) piège si le prix comparé est égal à zéro

 
Sancho77:

Bonne fête de la Saint-Patrick à tous !

Chérie, je demande de l'aide. Aidez-moi à obtenir un signal d'un indicateur dans un EA. C'est-à-dire que si une ligne bleue apparaît - acheter, si rouge - vendre.

Je l'ai écrit en hibou :

Je n'ai rien obtenu, il semble que les tampons soient toujours égaux à 0.



Et pourquoi comparez-vous avec EMPTY_VALUE. Vous comparez avec la version 0.0
 
Parce que le prix comparable n'est pas :

1) инициализирована

2) est égal à zéro.

Actions :

1) déprogrammer l'imprimante et voir,

2) initialiser avec un grand nombre

3) déclencher un piège si le prix comparé est égal à zéro.

Merci pour votre aide, merci à tous ceux qui ont répondu...... Cela a fonctionné, j'ai échangé le "Calcul du seuil de rentabilité" avec le bloc "Ouverture de position" et tout a fonctionné comme il se doit....... Merci encore à tous)))) Je vais aller me pendre.)
 
Vinin:

Et pourquoi comparez-vous avec EMPTY_VALUE. Vous comparez avec la version 0.0.

J'ai aussi essayé de cette façon :

   if (dn_stop_1!=0.0)
       return(1);
   if (up_stop_1!=0.0)  
       return(-1);

Toujours pas de réponse.

 

Pouvez-vous me dire s'il ya quelque chose dans le code MTFindyuka faire qu'il a automatiquement calculé et refait l'histoire, idéalement chaque minute qui ne serait pas tourner ici est un tel krakozobraha

Dans l'image, il y a deux МТФinduks pour 5 min, sur le graphique à une minute.

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",0,y) ;

ExtMapBuffer2[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",1,y) ;

Je dois obtenir la vue normale, c'est à dire des étapes lisses, pour choisir les propriétés de l'indicateur et appuyer sur "OK" ou "rafraîchir le graphique".Si j'utilise m1 et MTF5m, je suis fatigué de le rafraîchir manuellement parfois, peut-être que je peux simplement l'implémenter en attachant une fonction intelligente, je ne veux pas écrire un code séparé pour chaque indicateur.