[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 1061
![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
Bonsoir.
Il y a un conseiller intéressant "Frank_ud", question - Comment puis-je l'aiguiser pour alpari ?
Alexey, tu as raison. J'ai vérifié mon conseiller expert - lorsque la période MA = 6 ... 10 ... mon conseiller expert se bloque après un mois de tests ... Les tests s'arrêtent et se suspendent. Le conseiller expert ne pouvait tout simplement pas ouvrir de transactions. Pourquoi le testeur se bloque-t-il ?
Si la division par zéro était écrite dans le journal de bord, ce serait plus facile.
Mais de cette façon, vous devez placer les empreintes dans chaque bloc et surveiller la progression des événements. Ensuite, après avoir identifié la zone de survol, vous devez être plus précis sur les rangs.
C'est peut-être une question de cycles.
Pouvez-vous me dire comment modifier la formule de l'indicateur Momentum?
//| Droits d'auteur © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net/"
#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- paramètres d'entrée
extern int MomPeriod=14 ;
//---- tampons
double MomBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
string short_name ;
//---- ligne d'indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MomBuffer) ;
//---- nom pour le DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
short_name="Maman("+MomPeriod+")" ;
IndicatorShortName(nom_court) ;
SetIndexLabel(0,short_name) ;
//----
SetIndexDrawBegin(0,MomPeriod) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted() ;
//----
si(Bars<=MomPeriod) return(0) ;
//---- zéro initial
si(barres comptées<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0 ;
//----
i=Bars-MomPeriod-1 ;
si(compté_barres>=MomPeriod) i=Barres-compté_barres-1 ;
while(i>=0)
{
MomBuffer[i]=Close[i]-Close[i+MomPeriod] ;
i-- ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
OK. Question numéro deux.
ce qu'il y a exactement sur
//| Droits d'auteur © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net/"
#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- paramètres d'entrée
extern int MomPeriod=14 ;
//---- tampons
double MomBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
string short_name ;
//---- ligne d'indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MomBuffer) ;
//---- nom pour le DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
short_name="Maman("+MomPeriod+")" ;
IndicatorShortName(nom_court) ;
SetIndexLabel(0,short_name) ;
//----
SetIndexDrawBegin(0,MomPeriod) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted() ;
//----
si(Bars<=MomPeriod) return(0) ;
//---- zéro initial
si(barres comptées<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0 ;
//----
i=Bars-MomPeriod-1 ;
si(compté_barres>=MomPeriod) i=Barres-compté_barres-1 ;
while(i>=0)
{
MomBuffer[i]=Close[i]-Close[i+MomPeriod] ;
i-- ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
Qu'est-ce qui doit être modifié exactement dans la formule ? c'est-à-dire quelle nouvelle formule voulez-vous ajouter ?
PS.
vous devez avoir accidentellement publié l'indicateur deux fois
Désolé, j'ai déjà parlé de la dernière.
Voici l'original :
//| Momentum.mq4 |//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net/"
#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- paramètres d'entrée
extern int MomPeriod=14 ;
//---- tampons
double MomBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
string short_name ;
//---- ligne d'indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MomBuffer) ;
//---- nom pour le DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
short_name="Maman("+MomPeriod+")" ;
IndicatorShortName(nom_court) ;
SetIndexLabel(0,short_name) ;
//----
SetIndexDrawBegin(0,MomPeriod) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted() ;
//----
si(Bars<=MomPeriod) return(0) ;
//---- zéro initial
si(barres comptées<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0 ;
//----
i=Bars-MomPeriod-1 ;
si(compté_barres>=MomPeriod) i=Barres-compté_barres-1 ;
while(i>=0)
{
MomBuffer[i]=Close[i]*100/Close[i+MomPeriod] ;
i-- ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
Dans cet indicateur, la formule est la suivante : MOMENTUM = CLOSE (i) / CLOSE (i - n) * 100, et j'ai besoin de
MOMENTUM = CLOSE (i) - CLOSE (i - n)Désolé, j'ai déjà parlé de la dernière.
Voici l'original :
//| Momentum.mq4 |
MomBuffer[i]=Close[i] - Close[i+MomPeriod] ; // changement vers ce//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net/"
#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- paramètres d'entrée
extern int MomPeriod=14 ;
//---- tampons
double MomBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
string short_name ;
//---- ligne d'indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MomBuffer) ;
//---- nom pour le DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
short_name="Maman("+MomPeriod+")" ;
IndicatorShortName(nom_court) ;
SetIndexLabel(0,short_name) ;
//----
SetIndexDrawBegin(0,MomPeriod) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted() ;
//----
si(Bars<=MomPeriod) return(0) ;
//---- zéro initial
si(barres comptées<1)
for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0 ;
//----
i=Bars-MomPeriod-1 ;
si(compté_barres>=MomPeriod) i=Barres-compté_barres-1 ;
while(i>=0)
{
MomBuffer[i]=Close[i]*100/Close[i+MomPeriod] ; // ceci
i-- ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
Dans cet indicateur, la formule : MOMENTUM = CLOSE (i) / CLOSE (i - n) * 100, mais j'ai besoin de
MOMENTUM = CLOSE (i) - CLOSE (i - n)