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

 
webip:
S'il vous plaît, aidez-moi. Cela fait 5 jours maintenant et je n'arrive pas à comprendre. J'ai fait en sorte que mon EA modifie l'ordre de stop loss lorsque les critères nécessaires se déclenchent. Et le stop loss - qui devrait être fixé, prendre le profit du dernier ordre fermé. Mais lorsque la modification commence, le robot fixe toujours un Stop Loss de 1.0000. Je ne comprends pas ce qui ne va pas. Je me suis déjà creusé les méninges. Quelqu'un a-t-il des variantes, comment prendre le take profit de l'ordre précédent et placer le stop loss de l'ordre actuel ?

Eh bien... il semble que vous le stockez dans une variable de type int, alors que vous voulez que ce soit un double.

La prise de l'ordre actuel n'est pas nécessairement fixée au stop loss de l'ordre précédent. Elle peut être placée à un endroit où elle ne devrait pas l'être.

 
artmedia70:

Eh bien... Il semble que vous le stockez dans une variable de type int, alors que vous devriez le stocker dans un double.

Et ce n'est pas forcément que l'on peut placer la prise de l'actuel sur l'arrêt du précédent... Elle peut être placée à un endroit où elle ne devrait pas l'être.


mais c'est là où tu peux le mettre. Au début, je pensais aussi que je mémorisais dans le mauvais type, mais ensuite j'ai vérifié et c'était bon.
 
webip:
mais c'est là où tu peux le mettre. Au début, je pensais aussi que je mémorisais dans le mauvais type, mais ensuite j'ai vérifié et c'était bon.

Stockez-le dans une variable double, il est plus probable que vous stockiez le prix dans une variable int, de sorte que la partie fractionnaire est coupée.
 
artmedia70:
Stockez-le dans une variable double, il est plus probable que vous stockiez le prix dans une variable int, de sorte que la partie fractionnaire est coupée.


Je l'ai vérifié à nouveau. Je n'ai rien compris, mais toutes les variables sont à leur place. Le seul problème maintenant est que lorsque le critère de modification d'un ordre se déclenche, le graphique du Strategy Tester se fige tout simplement. Que dois-je faire ? Je pense qu'on a tout mémorisé en double.
 
webip:

Je l'ai vérifié à nouveau. Je n'ai rien compris, mais toutes les variables sont à leur place. Le seul problème maintenant est que, lorsque le critère de modification d'un ordre se déclenche, le graphique du testeur de stratégie se fige tout simplement. Que dois-je faire ? Je pense qu' on a tout mémorisé en double.

J'ai oublié de verrouiller le frigo dans la cuisine :)

Que puis-je vous dire d'autre au milieu de nulle part ?

Comme ça ? Ou êtes-vous sûr que vous stockez les prix dans une variable de type double?

 
artmedia70:

Ils ont oublié de verrouiller le réfrigérateur dans la cuisine :)

Eh bien, que puis-je vous dire d'autre sur l'essentiel ?



Non. Le frigo est fermé. :))

Je ne sais pas quel est le problème. J'ai fait toutes les variables correctement. Voici la partie où il est modifié. Peut-être que tu comprendras quel est le problème.

int modify_2(int tip)
 {

 int ticket;  //номер ордера
 double 
 price,   //Цена открытия
 tp;     //Новое значение цены
 double ts;
 bool modify=false;
 double take;
 
  for(int n=1;n<=OrdersTotal();n++)
   {
    ticket=mas_ord[n][1];
    if(mas_ord[n][4]!=tip)
     continue;
    price=mas_ord[n][6];
    tp=mas_ord[n][2];                          
    
    switch(tip)
     {

      case 0:
     OrderSelect(1,SELECT_BY_POS,MODE_HISTORY);
      take=OrderTakeProfit();
       ts=take;
       modify=true;
       break;
      
      case 1:
       ts=Ask+Level_sell_138*Point;
       modify=true;        
     } 
    //--------------
    if(modify==false)
     continue;
    
    bool ans=OrderModify(ticket,price,ts,tp,0);
    
    if(ans==false)
     { 
      n--;
     }
     else ord_2=true;
   }
   return;
 }
 
webip:


Non. Le frigo est fermé. :))

Je ne sais pas quel est le problème. J'ai fait toutes les variables correctement. Voici la pièce où les modifications sont effectuées. Peut-être que tu peux trouver quel est le problème.

Ça vient d'un manuel ou autre ?

for(int n=1;n<=OrdersTotal();n++)

Vous allez passer outre les ordres comme ceci :

for(int n=0;n<OrdersTotal();n++)

En conséquence, le reste des tableaux flottera...

Je rechercherais le dernier ordre clôturé en essayant de faire une recherche dans l'historique, et non en pointant explicitement sur 1.

Et ainsi de suite... Je ne peux pas chercher plus loin - premièrement, sans l'intégrité du code, il est peu probable que cela aide, et deuxièmement, il est sept heures du matin et je ne me suis pas encore couché...

 
webip:


Non. Le frigo est fermé. :))

Je ne sais pas quel est le problème. J'ai fait toutes les variables correctement. Voici la pièce où les modifications sont effectuées. Peut-être que vous pourrez trouver quel est le problème.

Essayez de faire le double ! Ça ne ferait pas de mal, mais ça pourrait aider à résoudre le problème.
 
artmedia70:

Est-ce que ça vient d'un manuel scolaire ?

Vous devez dépasser les ordres comme ça :

En conséquence, le reste des tableaux flottera...

Je rechercherais le dernier ordre clôturé en essayant de faire une recherche dans l'historique, et non pas en pointant explicitement sur 1.

Et ainsi de suite... Je ne peux pas chercher plus loin - d'abord, cela ne m'aiderait guère sans l'intégrité du code, et ensuite, il est 7 heures du matin et je ne me suis même pas encore couché...



Le dernier ordre fermé, je l'ai signalé directement pour voir s'il fonctionnait. Et cette dernière commande fermée, je l'ai pointée directement pour savoir si le programme fonctionne bien du tout (et il fonctionne comme une merde). Et comme je teste dans le testeur (et que je sais que la commande qui m'intéresse s'ouvrira en premier), mon code est très long, je ne pourrai pas le copier ici :)
 
webip:


Non. Le frigo est fermé. :))

Je ne sais pas quel est le problème. J'ai fait toutes les variables correctement. Voici la pièce où les modifications sont effectuées. Peut-être que tu peux trouver quel est le problème.

Le tableau

mas_ord

Quel type avez-vous ?

Quel type de variables sont le prix, le tp, la prise ? Pourquoi devrions-nous deviner ici ?

Raison: