Questions des débutants MQL5 MT5 MetaTrader 5 - page 1048

 

Ici, on a même écrit les empreintes



J'ai fait une entrée, peut-être que cela aiderahttp://recordit.co/ot9m4jpiws

 
Roman Sharanov:

Ici, on a même écrit les empreintes


La demande de modification consiste en fait à ne pas changer les niveaux qui existent déjà.
 
Vladimir Karputov:
Je ne peux pas effectuer une demande de modification sans changer les niveaux déjà existants.

Alors, quelle est la cause de l'erreur ? Que j'essaie de mettre l'ancien arrêt (zéro dans ce cas) dans l'arrêt.

J'ai ajouté un contrôle sur l'enregistrement, si la prise est la même, alors aucun transfert n'est fait...mais toujours la même chose

Ou dois-je normaliser le té, sinon il ne vérifie pas ?

 
Roman Sharanov:

Alors, quelle est la cause de l'erreur ? Que j'essaie de mettre l'ancien arrêt (zéro dans ce cas) dans l'arrêt.

J'ai ajouté un contrôle sur l'enregistrement, si la prise est la même, alors aucun transfert n'est fait...mais toujours la même chose

Ou bien je dois normaliser le TP, sinon il ne vérifiera pas ?

La position avait ces arrêts : une pastèque et trois melons. Vous voulez changer les arrêts et, attention, vous envoyez une commande : une pastèque et trois melons.

C'est-à-dire qu'il n'y a en fait aucun changement dans les arrêts.
 
Vladimir Karputov:
La position avait ces arrêts : une pastèque et trois melons. Vous voulez changer les arrêts et, attention, vous envoyez une commande : une pastèque et trois melons.

Il n'y a donc effectivement aucun changement dans les arrêts.

Je vois. Alors comment puis-je changer ce take profit sans changer le niveau de stop ?

 
Roman Sharanov:

Je l'ai. Alors comment puis-je changer le take profit sans changer le niveau de stop ?

Vous ne comprenez rien. Lisez sur les pastèques et les melons jusqu'à ce que ça devienne clair.
 
Vladimir Karputov:
Vous ne comprenez rien. Lisez sur les pastèques et les melons jusqu'à ce que ce soit clair.

Faisons abstraction du fait que j'ai...

J'ai une position, sa prise au niveau 5, son entrée au niveau 3, son stop au niveau 2.

Je veux déplacer la prise au niveau 6.

Comment je fais ça ?

 
Roman Sharanov:

Faisons abstraction du fait que j'ai...

J'ai une position, sa prise au niveau 5, son entrée au niveau 3, son stop au niveau 2.

Je veux déplacer la prise au niveau 6.

Comment je fais ça ?

Code complet. Symbole. Période de temps. Date de début du test. Graphique (capture d'écran). Fichier journal de l'onglet "Journal".
C'est le minimum.
J'attends jusqu'à demain.
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie

FAQ des débutants MQL5 MT5 MetaTrader 5

Roman Sharanov, 2019.05.23 09:43

void transposeTakeProfit(double tpLvl){
        for(int i = PositionsTotal() - 1; i >= 0; i--){
        PositionSelectByTicket(PositionGetTicket(i));
        if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == _magic){
                trade.PositionModify(PositionGetTicket(i), PositionGetDouble(POSITION_SL), tpLvl);
        }
   }
}

Eh bien, voici ce qui se passe, une transaction est ouverte, le niveau auquel je dois déplacer tous les take profit, s'il y a d'autres transactions

Mais c'est la première transaction, elle va directement dans cette fonction et immédiatement une erreur.


PositionSelectByTicket est absolument inutile ici. Il suffit de laisser celui qui a été choisi.

Pour éviter d'essayer de placer un stop ou un take au prix où il est déjà placé, nous devons vérifier si le nouveau stop ou take est égal à l'ancien.

Et nous devons comprendre combien de spreads constituent le niveau minimum pour placer un stop.

 

Bonjour à tous. S'il vous plaît, dites-moi ce qui se passe.

J'écris du code dans mql5, je veux utiliser la fonction PositionClose, mais elle dit "Man ! PositionClose' - la fonction ne peut être déclarée que dans la portée globale".

J'étais comme, je veux dire cette même fonction est dans #include <Trade\Trade.mqh> par défaut.


Vérifié. C'est là.

Pourquoi se montre-t-il, de quoi a-t-il besoin, comment fermer la position?


Le code lui-même


string bumaga1 = "SBERP";
 int MinuteClose;
 
//---------- Закрываем позиции и удаляем ордера перед концом сессии старт
 MinuteClose =  MinuteMQL4();
 
 if (PositionSelect(bumaga1) && HOUR1 == 18 && MinuteClose > 15)
 {
                bool  PositionClose(bumaga1, 3);
 }
 
  if (!PositionSelect(bumaga1) && HOUR1 == 18)
  {
                                bool  OrderDelete(tik1);
   }
   
//---------- Закрываем позиции и удаляем ордера перед концом сессии энд