Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Pushkin va-t-il initialiser la chaîne ?
Hmmm... Je ne suis pas très bon en programmation, mais la chaîne ne serait-elle pas réinitialisée à chaque fois ?
Je suis intéressé par sa valeur de base, par exemple, la valeur de double est zéro, bool est 1, mais quoi ?
L'exemple de Dabble :
double Statys ;
void OnTick()
{
si(Statys == 0)
{OpenBuy();}
}
Et cela semble fonctionner))
(Exactement, ce n'est pas mis à zéro.)) Je ne les ai jamais initialisés à cet endroit).
Hmm... Je ne suis pas bon en programmation, mais la chaîne ne serait-elle pas réinitialisée à chaque fois ?
Je suis intéressé par sa valeur de base, par exemple, la valeur de double est zéro, bool est 1, mais qu'est-ce que c'est ?
Exactement, ce n'est pas mis à zéro.) Et je ne les ai jamais initialisés là)
Dans l'aide de MQL5, c'est clairement indiqué dans la section Initialisation des variables:
Toute variable peut être initialisée lors de sa définition. Si une variable n'est pas explicitement initialisée, la valeur stockée dans cette variable peut être ce que vous voulez. L'initialisation implicite n'est pas effectuée.
La section Initialisation des variables de l'aide de MQL5 indique explicitement :
Vous avez juste de la chance pour le moment, mais un jour vous n'aurez pas de chance et vous passerez un temps fou à chercher un bug dans votre code, sans savoir que le diable se cache dans les détails. Vous ne devez pas compter sur le "je vais avoir de la chance".J'écris une fonction simple pour vérifier la direction de l'indexation dans un tableau. Les tableaux eux-mêmes sont issus de OnCalculate(), c'est-à-dire qu'ils ont des types différents (double, datetime, etc.). Il existe des exemples de fonctions terminales dans la référence qui utilisent le type d'en-tête f(void &array[]) lors du traitement de tableaux de différents types. Mais le compilateur jure sur l'utilisation du type void dans la fonction utilisateur. Existe-t-il un moyen universel d'indiquer au compilateur que le type de paramètre de tableau n'est pas important pour une fonction utilisateur ?
Je voudrais clarifier la structure du résultat de la demande de transaction (MqlTradeResult).
double price; // Prix de la transaction, confirmé par le courtier.
Il ne renvoie pas le prix d'un ordre en attente ? Le conseiller expert a écrit le code suivant :
double Statys = 0 ;
void OnTick()
{
if (Statys == 0)
{OpenBuy();}
}
void OpenBuy()
{
MqlTradeRequest o ; MqlTradeResult p ;
double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK) ;
o.action = TRADE_ACTION_PENDING ;
o.symbole = _Symbole ;
o.volume = 1 ;
o.prix = 82 000 ;
o.sl = 81,800 ;
o.tp = 82.200 ;
o.type = ORDER_TYPE_BUY_STOP ;
o.type_filling = ORDER_FILLING_AON ;
o.type_time = ORDER_TIME_GTC ;
CommandeEnvoi(o,p) ;
Statys = p.prix ;
}
Si l'on en juge par le fait que nous avons beaucoup de transactions ouvertes, j'ose supposer que la réponse est prix = 0. C'est un peu bizarre quand même.
Existe-t-il un moyen universel d'indiquer au compilateur que le type du paramètre du tableau n'est pas important pour une fonction utilisateur ?
Je voudrais clarifier la structure du résultat de la demande de transaction (MqlTradeResult).
double price; // Prix de la transaction, confirmé par le courtier.
Il ne renvoie pas le prix d'un ordre en attente ? Le conseiller expert a écrit un tel code :
À en juger par le fait qu'il y a beaucoup de transactions ouvertes, j'imagine que la réponse est prix = 0. C'est un peu bizarre quand même.
Un ordre en attente n'implique pas la conclusion d'une transaction. Consultez l'aide sur la structure de MqlTradeResult:
Description du champ
Champ
Description
retcode
Code de retour du serveur commercial
transaction
Ticket de transaction, si une transaction a été effectuée. Signalé dans l'opération commerciale TRADE_ACTION_DEAL
commander
Ticket de commande, si un ticket a été placé. Notifié pendant une opération commerciale TRADE_ACTION_PENDING
volume
Volume de la transaction confirmée par le courtier. Cela dépend du type de remplissage de la commande
prix
Prix de la transaction, confirmé par le courtier. Dépend du champ de déviation dans la demande de transaction et/ou du type de transaction.
offre
Prix actuel de l'offre du marché (prix de la requote)
demandez à
Prix actuel des offres du marché (prix des requêtes)
commentaire
Commentaire du courtier sur la transaction (par défaut, rempli avec un décryptage)
Un ordre en attente ne constitue pas une transaction. Consultez l'aide pour la structure MqlTradeResult:
Veuillez également insérer le code correctement.OK, arrête. Doit-on aussi initialiser les chaînes de caractères ? Ce n'est pas un type atomique.