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

 
Salutations de l'estimée communauté !
Est-il possible d'enregistrer un tableau d'objets de classe dans un fichier ? Ou bien faut-il les convertir en un tableau de structures pour les enregistrer dans un fichier ?
 
BlackTomcat:
Salutations de l'estimée communauté !
Est-il possible d'enregistrer un tableau d'objets de classe dans un fichier ? Ou pour les enregistrer dans un fichier, faut-il les convertir en un tableau de structures ?
C'est possible.
 
Dmitriy Skub:
Peut-être.
Merci, je vais essayer. Si ça ne marche pas, je reviendrai avec une autre question. :) Si je comprends bien, toutes les informations sur les méthodes de la classe sont coupées ?
 
Alexey Volchanskiy:
Il n'y a pas d'indicateur Fibonacci commençant par "i", il est caché dans les objets graphiques. E_Ghazaryan, regardez l'aide dans ce chemin, il y a un exemple dans MQL4 Reference / Standard constants, enumerations and structures / Object constants / Object types / OBJ_FIBO
Merci, je vais essayer de l'utiliser.
 
BlackTomcat:
Si je comprends bien, toutes les informations sur les méthodes de la classe sont supprimées ?
Oui, seules les données sont conservées pendant la sérialisation.
 

L 'aide est silencieuse, sur le site web ils disent que la date d'expiration est dans les bars. J'ai effectué des recherches de 1 à 100 et la mise en attente n'expire pas d'elle-même.

Je n'ai jamais travaillé avec des commandes en attente. (Je n'ai jamais travaillé avec des ordres en attente dans mon EA).

 
Leanid Aladzyeu:

L 'aide est silencieuse, sur le site web ils disent que la date d'expiration est dans les bars. J'ai effectué des recherches de 1 à 100 et la mise en attente n'expire pas d'elle-même.

Je n'ai jamais travaillé avec des commandes en attente. (Je n'ai jamais travaillé avec des ordres en attente dans mon EA).

Peut-être que c'est un tampon de date/heure.
 
Leanid Aladzyeu:

L 'aide est silencieuse, sur le site web ils disent que la date d'expiration est dans les bars. J'ai tout essayé de 1 à 100, l'attente n'expire pas d'elle-même.

Je n'ai jamais travaillé avec des commandes en attente. (Je n'ai jamais travaillé avec des ordres en attente dans mon EA).

Pourquoi lire de telles sottises ? Essayez simplement de placer manuellement un ordre en attente et de lui fixer un délai d'expiration.


Vous verrez tout de suite que vous ne définissez pas le temps par rapport à quelque chose, en barres, minutes ou secondes ; vous définissez un temps spécifique pour supprimer l'ordre en attente. La seule remarque est que l'heure d'expiration ne peut être inférieure à dix minutes à compter de l'heure d'ouverture de l'ordre. La perte de temps à l'ouverture de la commande doit être prise en considération.

 
Alexey Viktorov:

Pourquoi lire de telles sottises ? Essayez simplement de placer manuellement un ordre en attente et de définir son délai d'expiration.

...

Tu ne devrais pas être si imprudent. Le problème est que lorsqu'un EA est généré à l'aide de l'assistant MQL5, il y a un paramètre d'expiration et il est en fait mesuré en barres:

//+------------------------------------------------------------------+
//|                                                         тест.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalAC.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string Expert_Title         ="тест"; // Document name
ulong        Expert_MagicNumber   =31146;  // 
bool         Expert_EveryTick     =false;  // 
//--- inputs for main signal
input int    Signal_ThresholdOpen =10;     // Signal threshold value to open [0...100]
input int    Signal_ThresholdClose=10;     // Signal threshold value to close [0...100]
input double Signal_PriceLevel    =0.0;    // Price level to execute a deal
input double Signal_StopLevel     =50.0;   // Stop Loss level (in points)
input double Signal_TakeLevel     =50.0;   // Take Profit level (in points)
input int    Signal_Expiration    =4;      // Expiration of pending orders (in bars)
input double Signal_AC_Weight     =1.0;    // Accelerator Oscillator Weight [0...1.0]
//--- inputs for money
input double Money_FixLot_Percent =10.0;   // Percent
input double Money_FixLot_Lots    =0.1;    // Fixed volume
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+


La signification physique de l'expiration du signal en barres : si le signal (ordre en attente) ne se déclenche pas dans un nombre spécifié de barres, cet ordre sera supprimé.

 
Karputov Vladimir:

Tu ne devrais pas être si imprudent. Le problème est que lors de la génération d'un EA à l'aide de l'assistant MQL5, il y a un paramètre d'expiration, et il est en fait mesuré en barres:


La signification physique de l'expiration en barres : si le signal (ordre en attente) ne se déclenche pas dans un nombre donné de barres, cet ordre sera supprimé.

Le nombre de barres doit être converti en temps et transmis à la fonction d'ouverture.
Raison: