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

 
Bonjour.
Je n'ai pas d'onglets dans la fenêtre des outils de MT-5 - calendrier, signaux, pourriez-vous me dire comment les ajouter ?
 
sergey966121:
Bonjour.
Je n'ai pas d'onglets dans la fenêtre des outils de MT5 : calendrier, signaux, pouvez-vous me dire comment les ajouter ?

Les paramètres du serveur de trading sont responsables de l'onglet "Calendrier". S'il n'y a pas d'onglet, demandez son inclusion auprès du commerçant où le compte de trading est ouvert.

S'il n'y a pas d'onglet "Signaux" :

S'il n'y a pas d'onglet "Signaux" dans MetaTrader

Ajouté : Est-ce le système d'exploitation Windows ?

 

Bonjour !

Je peux obtenir les valeurs TP et SL d'une position en utilisantPositionGet...(), mais comment puis-je définir le takeprofit de la position entière ?

Je ne peux pas l'avoir maintenant.

 
Alexander Kharlamov:

Bonjour !

Je peux obtenir les valeurs TP et SL d'une position en utilisantPositionGet...(), mais comment puis-je définir le takeprofit de la position entière ?

Merci !

Comme ceci, en utilisant la bibliothèque standard et la classe CTrade :

#include <Trade\Trade.mqh>
Ctrade my_trade
...
my_trade.Buy(...
//или
my_trade.Sell(...
//или
my_trade.PositionModify(...
 
Karputov Vladimir:

Voilà, vous utilisez la bibliothèque standard et la classe CTrade :

Merci !
 
Alexander Kharlamov:
Merci !
Vous êtes les bienvenus. L'utilisation de la bibliothèque standard rend la programmation très facile.
 
Alexander Kharlamov:
Merci !

Voici un exemple de script (PositionModify(SL).mq5) - il ouvre d'abord une position, puis modifie le stop loss de cette position :

//+------------------------------------------------------------------+
//|                                           PositionModify(SL).mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#include <Trade\Trade.mqh>
//--- variable
CTrade   my_trade;         // object CTrade
int      my_stop_loss=30;  // stop level
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   my_trade.Buy(0.01);
   Sleep(6000);

   double m_adjusted_point;         // point value adjusted for 3 or 5 points
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(Digits()==3 || Digits()==5)
      digits_adjust=10;
   m_adjusted_point=Point()*digits_adjust;

   double m_stop_loss=my_stop_loss*m_adjusted_point;

   MqlTick m_tick;
   SymbolInfoTick(Symbol(),m_tick);

   double sl=NormalizeDouble(m_tick.bid-m_stop_loss,Digits());
   my_trade.PositionModify(Symbol(),sl,0);
  }

Restriction d'utilisation : il ne fonctionnera correctement que sur les comptes de compensation.

Dossiers :
 

J'ai réussi à mettre en place un TP pour la position, merci.

Je me demande s'il est possible d'utiliser MQL5 pour tracer l'événement - TP déclenché ? Ou est-il nécessaire de vérifier l'état de la position ?

 
Alexander Kharlamov:

J'ai réussi à mettre en place un TP pour la position, merci.

Je me demande s'il est possible d'utiliser MQL5 pour tracer l'événement - TP déclenché ? Ou est-il nécessaire de vérifier l'état de la position ?

Bien sûr, la position vous informe de l'événement - il s'agit simplement d'une entité (un enregistrement dans la base de données + autre chose) sur le serveur de la société de courtage.
 

Je ne m'en suis pas encore occupé pour des raisons pratiques, mais les événements OnTrade et OnTradeTransaction ne vont-ils pas tracer la fermeture des positions par prise ?

Trade

L'événement Trade est généré lorsqu'une opération de trade sur le serveur de trade est terminée. L'événement Trade est géré par la fonction OnTrade() pour les opérations suivantes

  • la fixation, la modification ou la suppression d'un ordre en cours ;
  • l'annulation d'un ordre en cours en cas de fonds insuffisants ou à l'expiration ;
  • ledéclenchement d'un ordre en attente;
  • ouverture, ajout ou fermeture d'une position (ou d'une partie d'une position) ;
  • modification d'une position ouverte (changement de butée).

TradeTransaction

À la suite de certaines actions effectuées sur un compte commercial, son état change. Ces actions comprennent :

  • Envoi d'une demande de transaction par toute application MQL5 dans le terminal client à l'aide des fonctions OrderSend et OrderSendAsync et son exécution ultérieure ;
  • Envoi d'une demande de transaction via l'interface graphique du terminal et son exécution ultérieure ;
  • Déclenchement des ordres en attente et des ordres stop sur le serveur;
  • Exécution d'opérations du côté du serveur commercial.

À la suite de ces actions, des transactions commerciales sont effectuées pour le compte :

  • le traitement d'une demande de commerce ;
  • modification des ordres ouverts ;
  • Modification de l'historique des commandes ;
  • Changer l'histoire des transactions ;
  • Changement de position.

Par exemple, lorsqu'un ordre d'achat au marché est envoyé, il est traité, un ordre d'achat approprié est créé pour le compte, l'ordre est exécuté, retiré de la liste des ordres ouverts, ajouté à l'historique des ordres, puis la transaction correspondante est ajoutée à l'historique et une nouvelle position est créée. Toutes ces actions sont des transactions commerciales. L'arrivée de chacune de ces transactions dans le terminal est l'événement TradeTransaction. Cet événement est géré par la fonction OnTradeTransaction.


Raison: