[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

 

Bonsoir.

Il y a un conseiller intéressant "Frank_ud", question - Comment puis-je l'aiguiser pour alpari ?

 
volshebnik:
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?

 
Mettez cet indicateur ici. Je vais vous le montrer.
 
//| Momentum.mq4 |
//| 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

 
//| Momentum.mq4 |
//| 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)
 
lordsnake:

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] ; // ceci

MomBuffer[i]=Close[i] - Close[i+MomPeriod] ; // changement vers ce

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)
Raison: