![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
La réponse courte est non.
Comme toujours, la barre 0 est temporellement incomplète pour les EA et les indicateurs, et son haut, son bas, sa clôture et son volume sont presque certainement différents de ce qu'ils deviennent lorsque cette barre se termine et devient la barre 1. Plus exactement, la valeur de StochRSICurr à la fin de la barre quotidienne n'est connue qu'au premier tick de la barre quotidienne suivante (et plus tard). Je pense que vous vous rendez un mauvais service en essayant d'utiliser les valeurs de la barre 0, car celles-ci, à quelques exceptions près, ne reflètent que l'état partiel de la barre incomplète.
Pour autant que je sache, l'indicateur est invoqué au moment du premier appel iCustom avec la combinaison particulière de valeurs de paramètres, pendant chaque invocation de la fonction EA start(). Les appels iCustom successifs pendant l'appel de la fonction EA start, au même indicateur, avec la même configuration de valeurs de paramètres, réutilisent ce que le premier appel a produit. La fonction EA start() suivante, appelant à nouveau iCustom, invoquera à nouveau l'indicateur, dans le contexte du tick qui a provoqué l'appel de la fonction start.
Ainsi, aux yeux de l'indicateur, il est invoqué une fois pour chaque tick pour lequel l'EA le laisse être invoqué. En disant à une MA d'utiliser le prix d'ouverture ou le prix haut, etc., on ne change que les valeurs des barres qu'elle regarde, alors que la manière d'invoquer reste la même : elle est invoquée à chaque tick (que l'EA lui permet).
Aidez-moi, s'il vous plaît
Bonjour à tous,
Personne ne veut m'aider. Je poste une fois de plus mon problème et je vous prie de m'aider.
Je veux juste comprendre pourquoi le résultat n'est pas le même avec les deux façons de coder le même indicateur (voir le code et l'image).
Manuel
backtesting lent
Je voulais juste dire merci à Ralph Ronnquist. J'ai maintenant réussi à faire fonctionner cette partie correctement.
J'ai une autre question pour toute personne qui pourrait m'aider. Lorsque j'essaie d'utiliser Strategy Tester avec mon EA, il est extrêmement lent. Je sais qu'il fonctionne car j'obtiens quelques résultats, mais je dois le laisser fonctionner toute la nuit pour obtenir des résultats sur 3 mois.
Mon EA est basé sur la tendance quotidienne en utilisant le croisement stochastique RSI (test) et ensuite seulement l'action des prix. Quelles peuvent être les raisons principales de cette lenteur ? Est-ce dans la programmation ou est-ce parce que j'utilise un indicateur extérieur ou est-ce parce que le RSI stochastique consomme beaucoup d'énergie.
J'exécute de nombreux autres EA et ils sont tous beaucoup plus rapides que le mien. Mon système est très puissant avec 3GB de Ram et un processeur Intel Centrino Duo.
Toute suggestion ou idée serait appréciée.
Putz
Comment écrire
Salut les codeurs
Je suis totalement novice en matière de codage Mql.4. J'apprends toujours en modifiant des EAs existants.
Exemple suivant pour un Pivot flottant :
pour la barre actuelle ;
double Flow_Pivot0 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))
+ iClose(NULL,0,0))/3.0 ;
pour une barre en arrière
où je dois définir le "nombre" ou la variable "shift_bars".
double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))
+ iClose(NULL,TimeFrame_Flow,0))/3.0 ;
Merci beaucoup
BadGay,
allez-y :
https://www.mql5.com/en/forum/173124
B.
Aucune solution trouvée
Bonjour Bongo
Désolé mais je n'ai pas trouvé de réponse sur ce lien.
Cas normal
double High1 = iHigh(NULL,0,0) ; // Prix haut maintenant
quand j'ai besoin d'une entrée externe
double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1) ; // Le prix est haut maintenant.
Le vert signifie combien de barres en arrière
Mais dans mon cas, où je dois insérer Barback_xxx, la ligne complète ci-dessous doit être une barre en arrière.
double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))
+ iClose(NULL,TimeFrame_Flow,0))/3.0 ;
BadGay,
aller à :
https://www.mql5.com/en/forum/173124
B.Temps de retour
Salut Bongo
désolé mais sur ce lien je n'ai pas trouvé de réponse.
Cas normal
double High1 = iHigh(NULL,0,0) ; // Prix haut maintenant
quand j'ai besoin d'une entrée externe
double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1) ; // Prix haut maintenant
Le vert signifie combien de barres en arrière
Mais dans mon cas, où je dois insérer Barback_xxx, la ligne complète ci-dessous doit être une barre en arrière.
double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0 ;Bonjour
Si vous voulez reculer la ligne d'une barre à la fois.
double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0 ; = Jour actuel
double Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)
+ iClose(NULL,TimeFrame_Flow,1))/3.0 ; = Retour 1 jour en arrière
double Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)
+ iClose(NULL,TimeFrame_Flow,2))/3.0 ; = Retour 2 jours en arrière
double Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)
+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0 ;
Barback_xxx = 1 ,2, 3, 4 etc. recule d'une barre à la fois.
Bonjour Cja
Ce n'est pas ce que je veux dire
Bonjour
Si vous voulez reculer la ligne d'une barre à la fois.
C'est un PIVOT flottant. C'est ça ?
#1
double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))
+ iClose(NULL,TimeFrame_Flow,0))/3.0 ; = Jour actuel
C'est le PIVOT normal pour aujourd'hui. N'est-ce pas ?
#2
double Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)
+ iClose(NULL,TimeFrame_Flow,1))/3.0 ; = Retour en arrière de 1 jour
C'est un PIVOT normal mais à partir d'hier. N'est-ce pas ?
#3
double Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)
+ iClose(NULL,TimeFrame_Flow,2))/3.0 ; = Retour 2 jours en arrière
J'ai besoin de la fonction #1, mais xx barres en arrière dans n'importe quelle Timeframe.
Même fonction que cet Indi : PrevDayAndFloatingPivot_O.mq4. ( mais seulement le FloatingPivot )
Indi est attaché
double Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)
+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0 ;
Barback_xxx = 1 ,2, 3, 4 etc. recule d'une mesure à la fois.C'est peut-être une question stupide...
mais j'espère que vous allez m'aider.
.... comment fermer ou ouvrir un ordre(ordre en attente) quand un autre ordre atteint le tp ?
merci b4 !![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)