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

 
Yurka Tim #:
Bonjour à tous !
Collègues, s'il vous plaît, lorsque vous faites glisser un nouveau symbole de la liste "Market Watch" dans une fenêtre graphique à l'aide de la souris, les objets de dessin du symbole précédent (par exemple, les niveaux, etc.) restent sur le graphique. Ces objets sont-ils liés à la fenêtre sans être liés au symbole ? Est-il possible de remédier à ce problème ? Peut-être existe-t-il un correctif ? Je ne veux pas créer un profil séparé pour chaque symbole.
C'est juste que l'EA qui crée des objets devrait les supprimer lors de la désinitialisation.
 
Sergey Gridnev #:
C'est juste que l'EA qui crée les objets devrait les supprimer lors de la désinitialisation.
J'utilise des outils de dessin standard (standard). Et pourquoi supprimer des objets ? Ils devraient être stockés dans un paquet avec un symbole et chaque fois que ce symbole est chargé dans la fenêtre, ils devraient également être affichés. Chaque symbole a ses propres niveaux, lignes de tendance, etc.
 
Yurka Tim #:
J'utilise des outils de dessin standard (standard). Et pourquoi supprimer des objets ? Ils devraient être stockés dans un paquet avec un symbole et chaque fois que vous chargez ce symbole dans la fenêtre, ils devraient également être affichés. Chaque symbole a ses propres niveaux, lignes de tendance, etc.

Les objets sont stockés avec le graphique, pas avec le symbole. Et la fenêtre du graphique peut contenir n'importe quel symbole. C'est pourquoi chaque symbole a son propre graphique. Et si vous comparez, vous pouvez changer de symbole dans le graphique.

 
Valeriy Yastremskiy #:

sont stockés en relation avec un graphique, et non avec un symbole. Un graphique peut contenir n'importe quel symbole. Chaque symbole a donc son propre graphique. Et si vous comparez, vous pouvez changer les symboles dans le graphique.

Quel est l'intérêt de lier des objets de dessin à un graphique sans les lier à un symbole ? Eh bien, c'est comme c'est, ce qui peut être fait. C'est pour ça que je pose la question, peut-être qu'il y a des trucs pour remédier à ça.
Et donc, MT et usability ne semblent pas du tout se connaître, les programmeurs ont fait pour les programmeurs :).
 

Amis, bonjour à tous )

Aide, qui sait. Le conseiller expert vérifie les ordres passés. Et, périodiquement, lorsque les ordres sont exécutés ou annulés, c'est-à-dire OrdersTotal()=0, il affiche toujours la propriété de l'ordre, par exemple, le type, le symbole (probablement le dernier dans l'historique des ordres). Existe-t-il une commande qui permettrait à l'Expert Advisor de"vider la mémoire" avant de recontrôler les ordres, comme ChartRedraw, mais uniquement pour les propriétés et les types de données ? Lorsque l'Expert Advisor est redémarré manuellement, il n'y a pas de problème de ce type pendant un certain temps. Merci d'avance !

 
Vladimir Voronin propriété de l'ordre, par exemple, le type, le symbole (probablement le dernier dans l'historique des ordres). Existe-t-il une commande qui avant de revérifier les ordres, l'Expert Advisor"efface la mémoire" pour ainsi dire, comme ChartRedraw seulement pour les propriétés, les types de données ? Lorsque l'Expert Advisor est redémarré manuellement, il n'y a pas de problème de ce type pendant un certain temps. Merci d'avance !

Je n'ai pas rencontré ce problème, car je conserve mes propres enregistrements d'ordres, mais je peux supposer qu'il s'agit des propriétés du dernier ordre sélectionné (dernier paragraphe https://www.mql5.com/ru/docs/trading/orderselect ).

 
Vladimir Voronin propriété de l'ordre, par exemple, le type, le symbole (probablement le dernier dans l'historique des ordres). Existe-t-il une commande qui permettrait à l'Expert Advisor de"vider la mémoire" avant de recontrôler les ordres, comme ChartRedraw, mais uniquement pour les propriétés et les types de données ? Lorsque l'Expert Advisor est redémarré manuellement, il n'y a pas de problème de ce type pendant un certain temps. Merci d'avance !

Avant toute vérification, l'ordre doit être sélectionné, même s'il s'agit d'un ordre dans le terminal. Et pour ne pas douter de l'exactitude des propriétés reçues, il faut vérifier l'heure de clôture. Si l'heure de clôture est supérieure à zéro, l'ordre est clôturé ou supprimé.

Ce texte ne permet pas de savoir si la question porte sur MQL5 ou 4.

 
//+------------------------------------------------------------------+
//|                                                  FXModel_exp.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- input parameters
#include "fxlib.mqh"
#include "fxexplib.mqh"
//--- input parameters
input string   I_model_path="C:\FXModel\SampleNet.pt";
input int      I_input_size=100;
input string   I_symbol="EUR/USD";
input ENUM_TIMEFRAMES I_time_frame = PERIOD_M5;
input double I_lot_size = 0.1;
input double I_get = 18;
input double I_cut = 10;
input int I_cycle_sec = 300;
input int I_position_sec = 5;
//--- indicator buffers
//double Label1Buffer[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(2);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   return;<===================
   MqlDateTime time;
   TimeTradeServer(time);
   if(IsTime(time, I_cycle_sec, I_position_sec) || FridayStopper(3, time))
      return;
   double ans[7];
   MqlTradeRequest request;
   MqlTradeResult result;
   MqlTradeCheckResult check;
//I_getPredict(ans);
   POSITTION type = GetPositionAns(ans);
   return;
   if(type == SELL)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_SELL);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_SELL);
   if(type==BUY)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_BUY);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_BUY);
   if(type== STAY)
      return;
//if(!OrderCheck(request, check) || !OrderSend(request,result))
//   return;
//MqlTradeRequest request2 = CreateSLTPRequest(result, I_symbol, request.magic, I_get, I_cut);
//if(!OrderSend(request2, result) || result.retcode != TRADE_RETCODE_DONE)
//   Comment("error");
   Sleep(I_position_sec*10+10);
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+

Lorsqu'il est testé pour être commercialisé

Compilé plusieurs fois

Compilé plusieurs fois

Changement de l'emplacement du retour

Commenter la méthode négociée

Supprimer .mq5

Le résultat ne change pas

 
1115 Libro #:

Lorsqu'ils sont testés pour être échangés

Pourquoi ?

Compilé de nombreuses fois

Changement de l'emplacement du retour

Commentez la méthode échangée

Supprimer .mq5

Le résultat ne change pas

Ce fil n'est pas synchronisé avec le fil original, il est donc inutile de poser des questions ici.

https://www.mql5.com/ru/forum/6343/page1408

Il s'agit du fil de discussion original. Postez ici en russe ou dans le forum anglais.

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2022.05.18
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Nagisa Unada #:

Ce fil n'est pas synchronisé avec le fil original, il est donc inutile de poser des questions ici.

https://www.mql5.com/ru/forum/6343/page1408

Il s'agit du fil de discussion original. Postez ici en russe ou dans le forum anglais.

ok merci
Raison: