[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 631
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
...Essayez de formuler la même question d'une manière différente, de sorte que personne ne s'en empare... ;)
Pourquoi devrais-je formuler une question à laquelle je connais la réponse.
Cela signifie que pour calculer l'indicateur sur la barre actuelle, nous avons besoin d'un certain nombre de valeurs de prix précédentes, dans ce cas, la PeriodSMA. Si nous ne diminuons pas l'indice de la barre initiale, nous aurons plusieurs valeurs d'indicateurs mal calculées à l'extrémité gauche du graphique.
alsu, si vous le voulez bien, pouvez-vous me donner un petit exemple ? Je ne comprends pas vraiment l'intérêt de ce "changement". Après tout, toute la série de barres sera calculée de toute façon, alors pourquoi ce décalage ? Et pourquoi choisir PeriodSMA et pas n'importe quel
et pas une autre valeur qui en diffère ? Je ne trouve nulle part de description ou d'explication de ce problème. Merci !
Ma question est probablement stupide, mais si le terminal utilise des guillemets à cinq chiffres, les variables globales doivent-elles également être spécifiées avec des zéros supplémentaires ? Par exemple TP = 500 au lieu de 50 ?
alsu, si vous le voulez bien, pouvez-vous me donner un petit exemple ? Je ne comprends pas vraiment l'intérêt de ce "changement". Après tout, toute la série de barres sera calculée de toute façon, alors pourquoi ce décalage ? Et pourquoi choisir PeriodSMA et pas n'importe quel
et pas une autre valeur qui en diffère ? Je ne trouve nulle part une description ou une explication de ce problème. Merci !
Par exemple, vous devez calculer une moyenne mobile simple avec PeriodSMA. Pour calculer la SMA, vous devez ajouter les valeurs des dernières barres de la PeriodSMA et diviser par la PeriodSMA. Il est évident que pour les barres avec les numéros Bars-1, Bars-2, ..., Bars-PeriodSMA+1, cela ne fonctionnera pas, car nous n'avons tout simplement pas le nombre de barres nécessaires pour le calcul (la barre la plus à gauche a l'indice Bars-1). Par conséquent, nous devons commencer le calcul de l'indicateur non pas avec la dernière barre du graphique, mais avec la barre avec l'indice Bars-PeriodSMA.
Pourquoi écrivent-ils cette valeur, et non une valeur arbitraire ? C'est parce que ce décalage du début du calcul nous permet de calculer la quantité maximale de barres sans préjudice de l'exactitude du calcul.
Mais n'oubliez pas qu'il s'agit du cas le plus simple. Parfois, le code ne permet pas de savoir immédiatement de combien de barres passées le programme a besoin pour le calcul et d'où provient exactement ce décalage. Eh bien, vous devriez probablement demander au développeur qui a écrit le code. Mais en général, il y a un moyen universel - il suffit de regarder le code, ce qu'en principe l'indice maximal de la barre peut être obtenu en utilisant les données de prix et les données des tampons d'index pendant le fonctionnement du programme, généralement déjà à ce stade il devient clair ....
new_sl = NormalizeDouble(MathMax(order_open_price + MathMax(STOP_LOSS*coef,stop_level)*Point, Ask + stop_level*Point), Digits) sentir cette construction
Et d'ailleurs, dans la question l'exemple était attendu pour TP et vous avez "new_sl = ".
Vous devriez être plus attentifs, les débutants après tout ..., la réponse doit être intelligente, pas absconse.
Si vous aviez mentionné que votre variable "coef" est de 10 pour 5 chiffres et de 1 pour 4 chiffres, je l'aurais ressentie aussi, mais sinon...
Et d'ailleurs, dans la question l'exemple était attendu pour TP et vous avez "new_sl = ".
Vous devriez être plus attentifs, les débutants après tout ..., la réponse devrait être intelligente.
J'aimerais que quelqu'un me dise une stratégie qui fonctionne (la larme d'un homme tombe sur le sol...).
Si j'ai bien compris, cette construction peut être insérée après start() ?
De même pour la variable coef, comment lui donner les valeurs du commentaire précédent ? Je veux dire 10 pour un 5ème chiffre et 1 pour un 4ème chiffre ?
Si je comprends bien, cette construction peut-elle être insérée après start() ?
Aussi la variable coef, comment lui donner les valeurs du commentaire précédent ? Je veux dire 10 pour un 5-symbole et 1 pour un 4-symbole ?
Les conseillers experts que j'utilise ont approximativement la même construction :
si (Chiffres==4 || Chiffres==2) coef=1 ; sinon coef=10 ; // multiplicateur pour les différents types de compte 4/2 et 5/3Les EAs que j'utilise ont à peu près cette conception :
if (Digits==4 || Digits==2) coef=1 ; else coef=10 ; // multiplicateur pour les différents types de comptes 4/2 et 5/3Merci pour cette précision !
Et juste pour clarifier, si j'ajoute mécaniquement 0, est-ce que TP et SL fonctionneront dans ce type de terminal ?