Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1712

 
MakarFX #:

Essayez

Il est surligné en jaune. C'est comme ça que c'est censé être ?

Donc tu n'as rien changé. C'est ainsi que les oiseaux ont été transformés. Je ne comprends pas. Voulez-vous que je les supprime, que je les fasse pivoter ou que je supprime complètement cette ligne ?

 
Порт-моне тв #:

donc je n'ai rien changé. C'est ainsi que les oiseaux ont été transformés. Je ne comprends pas. Voulez-vous que je les supprime, que je les fasse pivoter ou que je supprime complètement cette ligne ?

J'ai posé la question des "oiseaux" parce que la condition est la même pour l'achat et la vente.

 
Порт-моне тв #:
vous essayez toujours de trouver un bug, mais cela fait des heures que je vous demande de faire autre chose. Pourquoi ?

après un OrderSend réussi, la variable OrderOfSymbol doit être mise à jour.
ou sortir et attendre le prochain tick.

 
MakarFX #:

J'ai posé la question des "oiseaux" parce que la condition est la même pour l'achat et la vente.

Il n'y a qu'un seul type de doublet : acheter ou vendre, pas d'achat ou de vente, pas d'achat ou de vente.

 
Taras Slobodyanik #:

après un OrderSend réussi, la variable OrderOfSymbol doit être mise à jour.
ou sortir et attendre le prochain tick.

Ok, et comment tu fais ça ?

 
Порт-моне тв #:

Eh bien, je peux voir à partir de l'historique dans le testeur où la queue s'est produite, quand, quels paramètres. Qu'est-ce que ça vous donne ?

Vous n'avez pas besoin de chercher où la filature a eu lieu, mais pour quelle raison elle a eu lieu. Je proposais d'imprimer non pas le fait de l'ouverture, mais les conditions de l'ouverture. Cela vous aidera à déterminer la raison... La suppression d'un tel ordre dupliqué ne vous fera subir qu'une perte supplémentaire.

 
Alexey Viktorov #:

Vous n'avez pas besoin de chercher où se trouve la queue, mais pour quelle raison elle se trouve. Ma suggestion n'était pas d'imprimer le fait de l'ouverture, mais les conditions de l'ouverture. Cela permettra de déterminer la raison... La suppression d'un tel ordre en double ne vous fera subir qu'une perte supplémentaire.

Merci, mais je m'en suis rendu compte hier soir.

 
MakarFX #:

Pouvez-vous me dire comment obtenir la valeur

avant d'exécuter OnInit() ?

Il existe peut-être un autre moyen de connaître le langage de l'interface avant d'exécuter OnInit() .

Vitaly Muzichenko #:

Il n'y a pas de chemin, seulement à l'intérieur des Fonctions. DansOnInit() ou après, mais pas avant.

Que diable.........

string terminalLanguage = TerminalInfoString(TERMINAL_LANGUAGE);

/********************Script program start function*******************/
void OnStart()
 {
  Print(terminalLanguage);
 }/******************************************************************/
2021.11.03 16:25:08.033 00 EURJPY,M15: Russian
 
Je comprends donc que personne ici ne m'écrira une fonction pour supprimer un ordre au même lot, prix et heure d'ouverture que le précédent. L'entêtement est un péché, les gars.
 
Порт-моне тв heure d'ouverture que le précédent. L'entêtement est un péché, les gars.

Vérifiez comme ceci

   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {

      if(CounterOrderTradeType(-1)<1)
         if(signal=="buy")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_BUY, Lot, Ask, 3, SLbuy, TPbuy, "открыт ордер на покупку", Magic, 0, Green);
               Print("OpenOrderSuccess");
              }


      if(CounterOrderTradeType(-1)<1)
         if(signal=="sell")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_SELL, Lot, Bid, 3, SLsell, TPsell, "открыт ордер на продажу", Magic, 0, Red);
               Print("OpenOrderSuccess");
              }

     }
Raison: