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

 
MakarFX:

Je ne sais pas, je vais devoir vérifier.

Qu'y a-t-il à vérifier... ? Si nous supposons que l'historique contient plusieurs transactions avec la même heure de clôture, elles doivent être traitées séquentiellement, l'une après l'autre. Le gestionnaireOnTradeTransaction fait exactement cela (gérer les événements de transaction) et il n'est pas nécessaire d'inventer une "roue".

 
Mihail Matkovskij:

Qu'y a-t-il à vérifier... ? Si nous supposons qu'il y a plusieurs transactions avec la même heure de clôture dans l'historique, alors elles doivent être traitées séquentiellement, l'une après l'autre. Le gestionnaireOnTradeTransaction fait exactement cela (gérer les événements de transaction) et il n'est pas nécessaire d'inventer une "roue".

comme alternative au bénéfice total

profit+=HistoryDealGetDouble(ticket,DEAL_PROFIT); 
 
MakarFX:

comme option pour le bénéfice total

Non. Ce n'est pas une option !

 
Mihail Matkovskij:

Non. Ce n'est pas une option !

Pourquoi pas ?
 
Eugen8519:

Il est également possible d'activer les alertes commerciales dans le terminal et le serveur les enverra à l'application mobilehttps://www.metatrader5.com/ru/releasenotes .

Что нового в MetaTrader 5?
Что нового в MetaTrader 5?
  • www.metatrader5.com
Всего поддерживаются три типа уведомлений: об ордерах, о сделках и о балансовых операциях. При включении опции доступные виды уведомлений будут выведены в журнал терминала:
 
Mihail Matkovskij:

Il est également possible d'activer les alertes commerciales dans le terminal et le serveur les enverra à l'application mobilehttps://www.metatrader5.com/ru/releasenotes .

Cela semble être la meilleure option)
 
MakarFX:
Pourquoi ?

Parce qu'on ne peut pas sauter les métiers. Imaginez que deux transactions se soient conclues sur le TP et que vous n'ayez envoyé une notification que pour l'une d'entre elles. Ou leur bénéfice total (comme vous l'avez suggéré). Qu'est-ce que cela est censé dire à l'utilisateur... ? Pas clair... :)

Laissez-moi vous expliquer encore plus clairement. Le nombre de notifications doit toujours correspondre au nombre de transactions.

De plus,SendNotification a des limitations sur la fréquence d'envoi des notifications. Vous devez donc vous assurer que l'application n'appelle pas la fonction plus de 2 fois par seconde et pas plus de 10 fois par minute. Créez une file d'attente de notifications et envoyez-les au maximum à la fréquence indiquée dans la documentation.

Документация по MQL5: Сетевые функции / SendNotification
Документация по MQL5: Сетевые функции / SendNotification
  • www.mql5.com
SendNotification - Сетевые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij:

Parce qu'on ne peut pas sauter les métiers. Imaginez que deux transactions se soient conclues sur le TP et que vous n'ayez envoyé une notification que pour l'une d'entre elles. Ou leur bénéfice total (comme vous l'avez suggéré). Qu'est-ce que cela est censé dire à l'utilisateur... ? Pas clair... :)

Vous n'avez pas vu son EA.

Je vous l'ai dit, d'après ce que j'ai compris, il voulait des notifications d'ouverture et de fermeture d'ordres, et peu importe la raison.

L'homme veut voir sur son téléphone que l'EA fait quelque chose.

 
MakarFX:

Vous n'avez pas vu son EA.

Je vous l'ai dit, d'après ce que j'ai compris, il veut des notifications sur les ordres d'ouverture et de fermeture et peu importe la raison.

L'homme veut voir sur son téléphone que l'EA fait quelque chose.

J'ai modifié le message précédent.

Non. Il veut suivre la fermeture par SL et TP.

C'est le forum pour le trading, les systèmes de trading automatisés et les tests de stratégies.

Toutes les questions des débutants en MQL4 et MQL5, l'aide et la discussion sur les algorithmes et les codes

Eugen8519, 2021.08.07 12:20



Aidez-moi à positionner correctement la fonction

SendNotification ("текст");




Inséré pour signaler l'entrée en position ici

void OPENORDER(string ord)

  {
  
  double priceL=m_symbol.Ask();
   if(ord=="Sell")      
    SendNotification ("текст");

        //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,my_lot,priceL)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Sell(my_lot,Symbol(),m_symbol.Bid(),my_SL,my_TP,""))
         Print("BUY_STOP -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of Retcode: ",m_trade.ResultRetcodeDescription(),
               ", ticket of order: ",m_trade.ResultOrder());                     // Если sell, то не открываемся
     double priceS=m_symbol.Bid();
   if(ord=="Buy")
    SendNotification ("текст");
 //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,my_lot,priceS)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Buy(my_lot,Symbol(),m_symbol.Ask(),my_SL,my_TP,""))
 
         Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription(),
               ", ticket of deal: ",m_trade.ResultDeal());
   return;
 }

Et je réussis déjà à recevoir des notifications sur mon smartphone.




Mais comment et où insérer

SendNotification

Pour recevoir un message lorsque j'atteins le stop loss ou letake profit?


 
Mihail Matkovskij:

J'ai modifié le message précédent.

Non. Ce qu'il doit faire, c'est suivre les fermetures SL et TP.

Ok, tu as raison. Je me suis trompé.

Raison: