![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
Aide pour l'indicateur
Je veux le garder tel quel, mais le refaire en deux tampons.
#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#property indicator_maximum 1.4
#property indicator_level1 0
#property indicator_minimum -1.2
//------- Paramètres de l'indicateur externe -------------------------------
extern int CCI_Period_0 = 14 ; // Période CCI pour la période en cours
extern int Level_0 = 100 ; // Niveau CCI pour le TF actuel
extern int TF_1 = 60 ; // Nombre de minutes dans la première période de temps.
extern int CCI_Period_1 = 14 ; // Période CCI pour le premier TF
extern int Level_1 = 100 ; // Niveau CCI pour le premier TF
extern int TF_2 = 240 ; // Nombre de minutes de la deuxième TF
extern int CCI_Period_2 = 14 ; // Période CCI pour le second TF
extern int Level_2 = 100 ; // Niveau CCI pour le deuxième TF
extern int NumberOfBars = 10000 ; //Nombre de barres(0-all)
//------- Tampons indicateurs ------------------------------------------
double buf0[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
void init()
{
IndicateurDigits(1) ;
SetIndexBuffer(0,buf0) ;
SetIndexLabel(0, "i-3CCI-h") ;
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2) ;
SetIndexEmptyValue(0,0) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée de désinitialisation de l'indicateur |
//+------------------------------------------------------------------+
void deinit()
{
Commentaire (") ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
void start()
{
double cci0,cci1,cci2 ;
int nb1,nb2 ;
int LoopBegin,sh ;
if(NumberOfBars==0) LoopBegin=Bars-1 ;
sinon LoopBegin=NumberOfBars-1 ;
LoopBegin=MathMin(Bars-1,LoopBegin) ;
for(sh=LoopBegin ; sh>=0 ; sh--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False) ;
nb2=iBarShift(NULL, TF_2, Time[sh], False) ;
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh) ;
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1) ;
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2) ;
if(cci0>Niveau_0 && cci1>Niveau_1 && cci2>Niveau_2) buf0[sh]=1 ;
if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf0[sh]=-1 ;
}
}
//+------------------------------------------------------------------+
Je l'ai essayé moi-même, sans succès pour l'instant.
J'ai essayé de cette façon
#propriété indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_maximum 1.4
#property indicator_level1 0
#property indicator_minimum -1.2
//------- Paramètres de l'indicateur externe -------------------------------
extern int CCI_Period_0 = 14 ; // Période CCI pour la période en cours
extern int Level_0 = 100 ; // Niveau CCI pour le TF actuel
extern int TF_1 = 60 ; // Nombre de minutes dans la première période de temps.
extern int CCI_Period_1 = 14 ; // Période CCI pour le premier TF
extern int Level_1 = 100 ; // Niveau CCI pour le premier TF
extern int TF_2 = 240 ; // Nombre de minutes du deuxième TF
extern int CCI_Period_2 = 14 ; // Période CCI pour le deuxième TF
extern int Level_2 = 100 ; // Niveau CCI pour le deuxième TF
extern int NumberOfBars = 10000 ; //Nombre de barres(0-all)
//------- Tampons indicateurs ------------------------------------------
double ExtBuffer1[] ;
double ExtBuffer2[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
void init()
{
SetIndexBuffer(0,ExtBuffer1) ;
SetIndexStyle(0,DRAW_HISTOGRAM,0,2) ;
//----
SetIndexBuffer(1, ExtBuffer2) ;
SetIndexStyle(1,DRAW_HISTOGRAM,0,2) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée de désinitialisation de l'indicateur |
//+------------------------------------------------------------------+
void deinit()
{
Commentaire (") ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
void start()
{
double cci0,cci1,cci2 ;
int nb1,nb2 ;
int LoopBegin,sh ;
if(NumberOfBars==0) LoopBegin=Bars-1 ;
sinon LoopBegin=NumberOfBars-1 ;
LoopBegin=MathMin(Bars-1,LoopBegin) ;
for(sh=LoopBegin ; sh>=0 ; sh--)
for(st=LoopBegin ; st<0 ; st--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False) ;
nb2=iBarShift(NULL, TF_2, Time[st], False) ;
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh) ;
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1) ;
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2) ;
if(cci0>Niveau_0 && cci1>Niveau_1 && cci2>Niveau_2) buf1[sh]=1 ;
if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf2[st]=-1 ;
l'erreur est
à la fin, nous avons besoin de deux tampons, un au-dessus de zéro et un en dessous.
Cher Koziabrrr ! !! Vous avez créé votre propre sujet. Il y a plus de sujets. Et si quelqu'un commence à chercher un sujet ? Et il y a beaucoup de sujets, c'est difficile à trouver. Pour faciliter l'accès au sujet par sujet. Le sujet le plus haut est destiné à aider les débutants. C'est là que votre question devrait aller. Sujet créé supprimer, et là écrire en tenant compte de mes commentaires !!! Ensuite, vous avez également écrit dans ce fil - et bien, c'est de la mégalomanie, une opinion exagérée de la valeur de sa personne.
Pour attirer l'attention, vous devez expliquer la tâche. 1. A quoi ressemble l'indicateur = capture d'écran. 2. Que fait l'indicateur, quelle est son utilité (les points d'entrée seront indiqués, la tendance, le plat, ...). 3) Pourquoi avons-nous besoin de deux tampons ? Qu'est-ce qui est plus utile pour cela (cela montre mieux la tendance, le plat, les points d'entrée) ? C'est alors que tout le monde se précipitera pour l'affiner !!!! .... Ce sera bon pour eux et pour vous ! On devrait être amis, partager.
Et que c'est le moment d'acheter - c'est silencieux...
Voici une nouvelle version. Cela semble montrer une tendance. Mais c'est de la triche.
Nous saurons dans une demi-heure que nous aurions dû vendre...
Et que c'est le moment d'acheter - c'est silencieux...
Oui, c'est mieux, merci pour le nouveau design. Mais je ne comprends toujours pas comment)))
J'essaie, mais je n'arrive pas à faire le tour de la question. C'est bien quand on connaît le problème, mais quand on ne le connaît pas, chaque petite chose est un jour.
J'essaie, mais je n'arrive pas à faire le tour de la question. C'est bien quand on connaît le problème, mais quand on ne le connaît pas, chaque petite chose est un jour.
... Et chaque jour est une expérience inestimable qui ne vient que de son propre travail - pas d'une décision sur un forum.
C'est oui !
STARIJ: Merci pour votre aide !!!!
Le problème est résolu))))
Salut Yuri.
Description de l'indicateur : à partir de 3 bougies maintenues au même niveau ou presque, il envoie une alerte par email et transmet un son. L'instrument et le cadre temporel s'affichaient également à l'écran jusqu'à ce que je l'annule. Regardez les fichiers joints s'il vous plaît, il y a des exemples