Questions sur l'assistant MQL5 et la bibliothèque standard de classes de trading - page 9
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
Quel est donc son objectif pratique, plutôt que son objectif de test ? Il semble être là, mais vous ne pouvez pas l'utiliser. Et pourquoi toutes les questions sur ce sujet, par exemple la suggestion d'introduire un tel traitement ou d'écrire un article par les développeurs ou un guide sur la gestion des erreurs, se heurtent toujours au silence des développeurs ? Après tout, ils sont les plus compétents en la matière - quel est le problème ? Il semble pour le moins étrange qu'au lieu de quelque chose de vraiment utile, nous travaillions sur un tas d'indicateurs dont personne n'a besoin (0 commentaire, 0 demande pour eux), alors qu'il n'y a aucune base pour le trading - la possibilité d'ouvrir et de fermer des transactions. La question de l'émulateur d'auto-trading est restée sans réponse, mais il doit être dans la bibliothèque standard. J'aimerais entendre la réponse.
Ainsi, personne ne cache le fait que l'assistant de stratégie est uniquement destiné au testeur. )) Vérifiez simplement et rapidement telle ou telle idée et décidez ensuite de la direction à prendre. Et la gestion des erreurs n'est pas une tâche si difficile. Vous pouvez au moins regarder comment les autres le font. Par exemple, la bibliothèque de fonctions de KimIV sur le quatrième forum. Je pense que je pourrais même écrire un article sur ce sujet, mais je n'ai pas le temps maintenant.
Et les promoteurs ont maintenant, si j'ai bien compris, concentré tous leurs efforts sur le développement du projet dans son ensemble. Les services Marché, Signaux et Entrepôt sont en suspens, peut-être encore quelques bugs. Voici, à mon avis, les principales tâches à accomplir maintenant.
La question n'est pas de savoir si la tâche est complexe ou non, mais si elle doit être mise en œuvre dans une bibliothèque standard. Ce serait une bonne idée de définir une liste des principales tâches lors de l'écriture de l'EE et de les mettre en œuvre pour les développeurs, afin qu'il ne soit pas nécessaire de regarder comment les autres le font, ou d'attendre que quelqu'un ait le temps d'écrire un article.
... Mais si je le fais ? ))
Non.
Je suis désolé, mais c'est à cela que sert la bibliothèque standard, à contenir des solutions génériques. Le traitement des erreurs de trading dépend largement des préférences du trader.
Alors, chers amis, faisons-le par nous-mêmes.
Dans tous les cas, il faudra probablement attendre que l'entreprise ait plus de priorités. Peut-être sera-t-elle mise en œuvre dans un avenir proche. Ici, j'ai décidé de ne pas attendre, car je n'aime vraiment pas attendre et je l'ai déjà mis en œuvre il y a longtemps. Ça n'a pas pris longtemps du tout. De plus, je l'ai fait au tout début de l'apprentissage de la langue. Vous pouvez écrire votre demande au Service Desk. Et si je le fais ? ))
La mise en œuvre peut être effectuée par n'importe qui et de n'importe quelle manière. Êtes-vous sûr d'avoir tout fait de manière optimale, correcte et belle ? Bien sûr, il peut y avoir de nombreuses variantes, mais une seule typique des développeurs suffit pour la personnaliser selon vos besoins ou l'utiliser telle quelle.
Bonjour, j'ai deux questions.
1) Dans la méthode double CExpertSignal::Direction(), pour normaliser le résultat sur tous les filtres, nous divisons la valeur totale obtenue par la valeur numérique. Supposons que nous utilisions un seul filtre, alors selon le code de la bibliothèque standard, la valeur du nombre qui =1 pendant l'initialisation sera incrémentée de +1 et deviendra 2. Le résultat obtenu avec un filtre est donc divisé par 2. Question = y a-t-il une erreur ?
double CExpertSignal::Direction()
{
CExpertSignal *filtre ;
long masque ;
double sens ;
double result=m_weight*(LongCondition()-ShortCondition()) ;
int number=1 ; // nombre de "votés".
//---
int total=m_filters.Total() ;
//--- pour le débogage
//printf(__FUNCTION__+" : %s %d",EnumToString(m_period),total) ;
//--- boucle par les filtres
for(int i=0;i<total;i++)
{
//--- masque pour les cartes binaires
mask=((long)1)<<i ;
//--- vérification du drapeau d'ignorance du signal du filtre
si((m_ignore&mask)!=0) continuer ;
filtre=m_filtres.at(i) ;
direction=filter.Direction() ;
//--- le signal "interdiction
if(direction==EMPTY_VALUE) return(EMPTY_VALUE) ;
//--- vérification du drapeau d'inversion du signal du filtre
if((m_invert&mask)!=0) result=direction ;
autre résultat+=direction ;
numéro++ ;
}
//--- normalisation
résultat/=nombre ;
//--- retourner le résultat
retour(résultat) ;
}
2) Pouvez-vous me dire ce que signifie la variable m_adjusted_point ?
Merci.
Bonjour, j'ai deux questions.
1) Il n'y a pas d'erreur fondamentale.
2) Correction pour les citations à 3/5 chiffres.
Non.
Je suis désolé, mais c'est à cela que sert la bibliothèque standard, à contenir des solutions génériques. Le traitement des erreurs de trading dépend largement des préférences du trader.
Alors, chers amis, c'est un truc à faire soi-même.
Bonjour.
J'ai décidé d'écrire mon propre module de signal à des fins purement cognitives. J'ai été confronté à un problème. J'ai compris que cela peut être fait par CExpertSignal::OpenLongParams(...). Mais j'ai un problème - mon testeur m'avertit d'une expiration invalide. Après avoir creusé le code source, je me suis rendu compte que nous ne pouvons pas obtenir de type de temps autre queORDER_TIME_SPECIFIED et que nous voudrions ORDER_TIME_GTC.
J'ai fait un geste intelligent jusqu'à présent, mais ce n'est pas tout à fait ça. J'ai corrigé la fonction dans la bibliothèque :
Que pouvez-vous conseiller ?