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
Et donc. C'est en train de se produire ! Même pas un an plus tard. J'ai pris ma décision ! J'ai vérifié la documentation de MQL5. J'ai commencé très petit : j'ai minimisé le code d'un indicateur pour tenter de simplifier et de comprendre sa structure et son fonctionnement. Puis j'ai été étourdi.
J'ai d'abord creusé Fractals - il semblait être étonnamment petit et très simple. Puis j'ai raisonné logiquement : il n'est pas raisonnable de faire glisser ce code d'un programme à l'autre, je devrais simplement appeler cet indicateur, le copier et utiliser les valeurs tampons déjà calculées. Si je ne me trompe pas de direction, j'ai été porté à l'étape de la quasi-standardisation et amené à un exemple avec les iFractals ("Est-ce que je l'ai bien fait ?"). (c)). J'ai réduit le code au maximum, supprimé tout ce qui était inutile et conventionnel, ne laissant que l'essentiel. Et qu'ai-je trouvé ? Le code de l'appel de l'indicateur n'est pas plus compact que le code original de l'indicateur lui-même en termes de taille et de lisibilité.
Les questions.
1. Quelle est la signification de iFractals ?
2. Qu'est-ce qui ne va pas chez moi ?
Merci !
P.S. : Ou s'agit-il simplement d'un cas particulier où il n'y a aucun avantage dans le montant du second code ?
2. Qu'est-ce qui ne va pas chez moi ?
Soyez plus précis dans vos questions.
C'est une question de
de la vie et de la mort...
Quelle est la manière non criminelle d'obtenir la valeur de la barre ouverte [15625] H1 de l'échelle de temps ?
J'ai essayé, peu importe à quel point j'ai essayé... J'ai tout essayé, alors qui sait... Je sais que c'est 3 lignes de code... mais qui... le droit... le droit... pour qu'il n'y ait pas d'erreur...
C'est une question de
de la vie et de la mort...
Quel est le moyen non criminel d'obtenir la valeur de la barre ouverte [15625] de la fenêtre temporelle H1 ?
J'ai fait de mon mieux pour obtenir une erreur critique... J'ai essayé toutes sortes de choses, alors qui sait... Je sais que c'est 3 lignes de code... mais quels sont les... le droit... le droit... pour qu'il n'y ait pas d'erreur...
Veuillez me donner votre code.
Veuillez nous donner votre code.
voici
double MTime ( int mode )
{
double iOpen_min [], iOpen_hour [], iOpen_4hour [] ;
ArraySetAsSeries ( iOpen_min, true ) ;ArraySetAsSeries ( iOpen_hour, true ) ;
ArraySetAsSeries ( iOpen_4hour, true ) ;
int rates_open_min, rates_open_hour, rates_open_4hour ;
int err = 0 ;
faire
{
rates_open_min = CopyOpen ( NULL, PERIOD_M1, 0, 7501, iOpen_min ) ;
rates_open_hour = CopyOpen ( NULL, PERIOD_H1, 0, 20000, iOpen_hour ) ;
rates_open_4hour = CopyOpen ( NULL, PERIOD_H4, 0, 10000, iOpen_4hour ) ;
err ++ ;
}
while ( rates_open_min <= 0 || rates_open_hour <= 0 || rates_open_4hour <= 0) && err < 10 ) ;
double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ] ;
double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ] ;
double Hour = iOpen_min [ 0 ] - iOpen_min [ 60 ] ; // Hour
double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ] ; // 5 Hour
double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ] ; // Day
double Week = iOpen_min [ 0 ] - iOpen_min [ 7500 ] ; // Semaine
double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ] ; // Mois
double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ] ; // Demi-année
double Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ] ; // 3 ans
sur la dernière ligne du dernier opérateur, il y a toujours une erreur critique... Le conseiller expert peut même commencer à fonctionner dans le testeur de stratégie, puis, après un an et demi de fonctionnement, il génère une erreur et s'arrête.
l'erreur critique est le dépassement des limites de la matrice.
vous pourriez essayer ceci :
erreur critique - dépassement des limites du tableau.
d'une manière ou d'une autre, nous pouvons essayer de cette façon :
Cela ne change pas l'essence du problème... S'il ne copie pas les données plus loin... L'Expert Advisor n'effectuera pas les transactions comme avant, mais sans erreur...
Le problème est de savoir pourquoi cette situation se produit en premier lieu, si l'histoire est énorme... et vous ne pouvez pas l'utiliser...
Veuillez fournir votre code.
Bon, comme il n'y a pas de réponse, je vais entrer )))) manuellement, puisqu'il n'y a qu'une seule valeur.
Vous n'avez pas de contrôles dans votre code. Que voulez-vous alors ?
Cela ne change rien au problème... s'il ne copie pas les données plus loin... L'Expert Advisor n'effectuera pas les transactions comme avant, mais sans erreur...
Le problème est de savoir pourquoi cette situation se produit, si l'histoire est énorme... et tu ne peux pas l'utiliser...
Les données seront copiées, mais pas toujours du premier coup... et après une erreur critique, le conseiller expert cesse de fonctionner.
while( ... rates_open_hour <= 0 // seule la quantité de données, disponible à ce moment, sera copiée, et le tableau, respectivement, peut être inférieur à 15625.
Cette situation est due à un manque de lecture des manuels :)