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
Salut Mladen,
Je suis tombé sur un code fait par vous sur le stochastique. Cependant, lorsque je l'intègre dans mes systèmes, rien ne se passe. Puis-je vérifier avec vous ce qu'il fait ?
http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4
Salutations
Terrance
...
Essayez quelques-uns de ceux postés ici : https://www.mql5.com/en/forum/175297/page3
Ou ici : https://www.mql5.com/en/forum/177239/page2
J'ai testé et elles fonctionnent
Salut Mladen,
Je suis tombé sur un code fait par vous sur stochastic. Cependant, lorsque je l'intègre dans mes systèmes, rien ne se passe. Puis-je vérifier avec vous ce qu'il fait ?
http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4
Salutations
TerranceC'est étrange.
J'ai examiné le problème du cadenas un peu plus en détail. Apparemment, c'est lié aux paramètres de l'UAC (User Account Control). Je suis donc allé dans le panneau de configuration de Windows 7 et j'ai complètement désactivé l'UAC. Une fois que j'ai redémarré, j'ai remarqué que le cadenas avait disparu du fichier. Je l'ai ouvert et c'est le même que le fichier que j'ai posté sur ce forum. Il est complètement différent du code que j'ai écrit au cours des dernières semaines, même s'il s'agit du même fichier. J'ai cru que j'avais perdu tout mon travail de codage. J'ai réactivé l'UAC et redémarré, le cadenas était revenu et le code que j'avais écrit était redevenu normal.
Mais ensuite, j'ai essayé de compiler le code et il a détecté un tas d'erreurs. Mais les erreurs qu'il relève ne proviennent pas de ce code, mais du code complètement différent lorsque je désactive l'UAC - je le sais parce qu'il relève des variables qui ne sont utilisées que dans l'autre code.
Je pense que je vais devoir ouvrir un nouvel EA et taper manuellement tout ce code et le sauvegarder.
...
C'est un problème habituel avec windows 7 (avec sa protection)
Le moyen le plus simple d'éviter cela sous windows 7 est d'installer metatrader sur une partition différente de C et vous n'aurez aucun problème de ce genre
C'est étrange.
J'ai examiné le problème du cadenas un peu plus en détail. Apparemment, il s'agit d'un problème lié aux paramètres de l'UAC (User Account Control). Je me suis donc rendu dans le panneau de configuration de Windows 7 et j'ai complètement désactivé l'UAC. Une fois que j'ai redémarré, j'ai remarqué que le cadenas avait disparu du fichier. Je l'ai ouvert et c'est le même que le fichier que j'ai posté sur ce forum. Il est complètement différent du code que j'ai écrit au cours des dernières semaines, même s'il s'agit du même fichier. J'ai cru que j'avais perdu tout mon travail de codage. J'ai réactivé l'UAC et redémarré, le cadenas était revenu et le code que j'avais écrit était redevenu normal.
Mais ensuite, j'ai essayé de compiler le code et il a détecté un tas d'erreurs. Mais les erreurs qu'il détecte ne proviennent pas de ce code, mais du code complètement différent lorsque je désactive l'UAC - je le sais parce qu'il détecte des variables qui ne sont utilisées que dans l'autre code.
Je pense que je vais devoir ouvrir un nouvel EA et taper manuellement tout ce code et le sauvegarder.J'ai enfin réussi à créer un EA qui fonctionne correctement. Il fonctionne exactement comme il le devrait - j'ai fini par copier mon code dans notepad, désactiver UAC, puis le coller dans un nouveau fichier EA. Et j'ai trouvé pourquoi mes fonctions ne fonctionnaient pas - j'avais mis une variable int dans un double normalisé. Je ne savais pas que je ne pouvais pas faire ça, mais maintenant je le sais - ça ne m'a pris qu'une semaine pour le découvrir ! :/
Bref, j'ai écrit ceci :
if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort) ;
si (VariableRisk == false) Risk = StaticRisk ;
Et je me demandais si cela pouvait être raccourci comme ceci ?
if (VariableRisk == true)
{
Risk = GetRiskShort (LastOpenTicket, RiskShort) ;
sinon Risk = StaticRisk ;
}
Et j'ai aussi écrit ceci :
//--- Fonction de calcul de la position take profit lorsqu'elle est longue
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0 ;
si (AutoCalcTakeProfit == true)
{
RefreshRates() ;
TPPriceLong = OrderOpenPrice() + ((OrderOpenPrice() - SLPriceLong) * RiskRewardRatio) ;
Print("Position de prise de profit calculée avec succès") ;
retourne (TPPriceLong) ;
}
if (AutoCalcTakeProfit == false)
{
RefreshRates() ;
TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001) ;
Print("Position statique de prise de profit calculée avec succès") ;
retourne (TPPriceLong) ;
}
}
Et je me demandais si on pouvait la raccourcir comme ceci ?
//--- Fonction de calcul de la position de prise de profit lorsqu'elle est longue
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0 ;
RefreshRates() ;
si (AutoCalcTakeProfit == true)
{
TPPriceLong = OrderOpenPrice() + ((OrderOpenPrice() - SLPriceLong) * RiskRewardRatio) ;
Print("Position de prise de profit calculée avec succès") ;
else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001) ;
Print("Position statique de prise de profit calculée avec succès") ;
retourner (TPPriceLong) ;
}
Et une dernière question, pour donner plus de flexibilité à mon EA, je veux définir mes horizons temporels comme des variables externes. Mon graphique de signal doit être D1, par exemple, et mon graphique de déclenchement doit être H4. Donc, sous variables externes, je pourrais faire ceci :
extern int SignalChart = PERIOD_D1 ;
extern int TriggerChart = PERIOD_H4 ;
Et ensuite le référencer en faisant ceci par exemple :
SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) ;
A propos de cette partie :
Oui, c'est une façon 100% correcte de l'utiliser (même au point que vous utilisez une barre fermée (shift dans cet exemple est fixé à 1) et que, en utilisant une barre fermée dans les tests, vous allez éviter le piège habituel de l'utilisation d'une barre ouverte dans un cadrage multitemporel).
J'ai finalement réussi à créer un EA qui fonctionne correctement. Il fonctionne exactement comme il le devrait - j'ai fini par copier mon code dans notepad, désactiver l'UAC, puis le coller dans un nouveau fichier EA. Et j'ai trouvé pourquoi mes fonctions ne fonctionnaient pas - j'avais mis une variable int dans un double normalisé. Je ne savais pas que je ne pouvais pas faire ça, mais maintenant je le sais - ça ne m'a pris qu'une semaine pour le découvrir ! :/
Bref, j'ai écrit ceci :
if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort) ;
si (VariableRisk == false) Risk = StaticRisk ;
Et je me demandais si cela pouvait être raccourci comme ceci ?
if (VariableRisk == true)
{
Risk = GetRiskShort (LastOpenTicket, RiskShort) ;
sinon Risk = StaticRisk ;
}
Et j'ai aussi écrit ceci :
//--- Fonction de calcul de la position take profit lorsqu'elle est longue
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0 ;
si (AutoCalcTakeProfit == true)
{
RefreshRates() ;
TPPriceLong = OrderOpenPrice() + ((OrderOpenPrice() - SLPriceLong) * RiskRewardRatio) ;
Print("Position de prise de profit calculée avec succès") ;
retourne (TPPriceLong) ;
}
if (AutoCalcTakeProfit == false)
{
RefreshRates() ;
TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001) ;
Print("Position statique de prise de profit calculée avec succès") ;
retourne (TPPriceLong) ;
}
}
Et je me demandais si on ne pouvait pas la raccourcir comme ceci ?
//--- Fonction de calcul de la position de prise de profit lorsqu'elle est longue
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0 ;
RefreshRates() ;
si (AutoCalcTakeProfit == true)
{
TPPriceLong = OrderOpenPrice() + ((OrderOpenPrice() - SLPriceLong) * RiskRewardRatio) ;
Print("Position de prise de profit calculée avec succès") ;
else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001) ;
Print("Position statique de prise de profit calculée avec succès") ;
retourner (TPPriceLong) ;
}
Et une dernière question, pour donner plus de flexibilité à mon EA, je veux définir mes horizons temporels comme des variables externes. Mon graphique de signal doit être D1, par exemple, et mon graphique de déclenchement doit être H4. Donc, sous variables externes, je pourrais faire ceci :
extern int SignalChart = PERIOD_D1 ;
extern int TriggerChart = PERIOD_H4 ;
Et ensuite le référencer en faisant ceci par exemple :
SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) ;Bonjour, je reçois le code d'erreur 4059 :
ERR_FUNC_NOT_ALLOWED_IN_TESTING[/TD]
J'ai fait une recherche mais je ne trouve pas plus d'informations sur ce que cela signifie ?
Pouvez-vous m'aider à ajouter les codes suivants à cet indicateur sar parabolique ?
Merci Mladen,
Je vais relire votre message pour comprendre, honnêtement je me suis un peu perdu en le lisant mais c'est probablement mon ignorance qui joue. Je posterai des questions si j'en ai.
Merci mon ami.
Merci,
PipCher ami,
Pouvez-vous m'aider à ajouter les codes suivants à cette alerte PARABOLIC SAR parabolic_alert_mod.mq4INDICATOR?
Je ne suis pas à la recherche d'un EA. Si possible, ajoutez au moins l'option SHIFT à l'indicateur.
extern double TakeProfit = 50 ;
extern double Lots = 0.1 ;
extern double TrailingStop = 30 ;
extern double SAR_Step = 0.02 ;
extern double SAR_Maximum = 0.2 ;
extern double Shift=1 ;
...
joelnelson
TakeProfit, Lots et TrailingStop n'ont rien à voir avec la façon dont le sar parabolique est calculé (ces paramètres sont évidemment pris d'un EA utilisant le sar dans son travail). Donc, si vous ne cherchez pas un EA, il n'est pas possible d'ajouter ces paramètres de manière significative.
De plus, le décalage dans les paramètres se réfère à la barre qui est testée (le SAR parabolique n'est pas décalé comme la moyenne mobile peut l'être habituellement). Ces paramètres sont probablement destinés à un appel à un sar intégré et le sar intégré a la forme suivante
Shift 1 dans ce cas signifie tester la valeur de la première barre fermée du sar parabolique.
Cher ami,
Pouvez-vous m'aider à ajouter les codes suivants à cette alerte PARABOLIC SAR parabolic_alert_mod.mq4INDICATOR?
Je ne suis pas à la recherche d'un EA. Si possible, ajoutez au moins l'option SHIFT à l'indicateur.
extern double TakeProfit = 50 ;
extern double Lots = 0.1 ;
extern double TrailingStop = 30 ;
extern double SAR_Step = 0.02 ;
extern double SAR_Maximum = 0.2 ;
double externe Shift=1 ;...
Cette erreur peut être renvoyée par certaines fonctions.
Les fonctions qui peuvent provoquer cette erreur lors des tests sont les suivantes :
Ainsi, un appel à certaines des fonctions ci-dessus a provoqué cette erreur
Bonjour, je reçois le code d'erreur 4059 :