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
Bonjour Mladen,
Je veux faire une analyse de similarité dans les données forex.
Je veux dire, je veux trouver la barre horaire la plus corrélée (même valeur ou valeur la plus similaire dans OHLC) à la DERNIERE barre horaire (OHLC) dans l'historique de 20.000 barres (OHLC).
Est-ce que le coef. de corrélation de Pearson est suffisant pour trouver la similarité de la valeur de la dernière barre dans l'historique de 20.000 barres ? est-il possible de faire cette analyse dans metatraderv avec un script (ou EA) ? merci.
cher mlade :
J'ai créé mon premier indicateur MTF
mais la couleur est noire
comment le réparer ?
merci beaucoup
cher mlade :
J'ai créé mon premier indicateur MTF
mais la couleur est noire
comment le réparer ?
merci beaucoup
Bonjour Mladen,
Je veux faire une analyse de similarité dans les données forex.
Je veux dire, je veux trouver la barre horaire la plus corrélée (même valeur ou valeur la plus similaire dans OHLC) à la DERNIERE barre horaire (OHLC) dans l'historique de 20.000 barres (OHLC).
Est-ce que le coefficient de corrélation de Pearson est suffisant pour déterminer la similarité de la valeur de la dernière barre dans l'historique de 20.000 barres ? est-il possible de faire cette analyse dans metatraderv avec un script (ou EA) ? merci.
Mladen,
Un commentaire à ce sujet ?
Mladen,
Un commentaire là-dessus ?
Définissez la #property indicator_color1 à la couleur désirée (elle est définie à Black maintenant).
monsieur mladen :
je le fais mais je n'ai qu'une seule couleur
J'ai besoin de deux couleurs pour les marchés haussiers et baissiers.
monsieur mladen :
Je le fais mais je n'ai qu'une seule couleur
J'ai besoin de deux couleurs pour les marchés haussiers et baissiers.
Ensuite, vous devez le coder différemment (vous devez utiliser deux tampons et non un seul pour l'histogramme à deux couleurs).
C'est correct, monsieur ?
//+------------------------------------------------------------------+
//| MTF_xb4d.mq4 |
//|------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 2
#property indicateur_color1 LimeGreen
#property indicator_width1 2
#property indicator_color2 PaleVioletRed
#property indicator_width2 2
//---- paramètres d'entrée
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PÉRIODE_W1 10080
PERIOD_MN1 43200
Vous devez utiliser la valeur numérique de l'intervalle de temps que vous voulez utiliser
lorsque vous définissez la valeur 'TimeFrame' avec les entrées de l'indicateur.
---------------------------------------*/
extern int TimeFrame=0 ;
extern int period = 10 ;
extern int AppliedPrice=0 ;
extern bool SoundAlerts=false ;
double ExtMapBuffer1[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- ligne de l'indicateur
SetIndexStyle(0, DRAW_HISTOGRAM) ;
SetIndexStyle(1, DRAW_HISTOGRAM) ;
SetIndexBuffer(0, ExtMapBuffer1) ;
SetIndexBuffer(1, ExtMapBuffer1) ;
//---- nom pour l'étiquette de la DataWindow et de la sous-fenêtre de l'indicateur
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1" ; break ;
case 5 : TimeFrameStr="Period_M5" ; break ;
cas 15 : TimeFrameStr="Période_M15" ; pause ;
cas 30 : TimeFrameStr="Period_M30" ; break ;
cas 60 : TimeFrameStr="Period_H1" ; pause ;
cas 240 : TimeFrameStr="Period_H4" ; break ;
cas 1440 : TimeFrameStr="Period_D1" ; break ;
cas 10080 : TimeFrameStr="Period_W1" ; break ;
cas 43200 : TimeFrameStr="Period_MN1" ; pause ;
default : TimeFrameStr="Current Timeframe" ;
}
IndicatorShortName(" MTF_xb4d ("+TimeFrameStr+" ) ") ;
return(0) ;
}
//----
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[] ;
int i,limit,y=0,counted_bars=IndicatorCounted() ;
// Trace l'intervalle de temps défini sur l'intervalle de temps actuel.
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame) ;
limit= Barres-1 ;
for(i=0,y=0;i<limit;i++)
{
si (Time[i]<TimeArray[y]) y++ ;
/***********************************************************
Ajoutez la boucle principale de votre indicateur ci-dessous.
existant avec son iName ou iCustom.
Règle 1 : Ajoutez les entrées externes ci-dessus pour toutes les valeurs nécessaires.
Règle 2 : Utilisez 'TimeFrame' pour le cadre temporel de l'indicateur.
Règle 3 : Utilisez 'y' pour la valeur de décalage de votre indicateur.
**********************************************************/
ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y) ;
}
if(GlobalVariableGet(Symbol()+"previndicator")<0 && ExtMapBuffer1[0]>=0)
if(SoundAlerts){Alert("Buy Alert " + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}
if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)
if(SoundAlerts){Alert("Sell Alert " + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}
GlobalVariableSet(Symbol()+"previndicator",ExtMapBuffer1[0]) ;
retour(0) ;
}
//+------------------------------------------------------------------+
C'est correct, monsieur ?
//+------------------------------------------------------------------+
//| MTF_xb4d.mq4 |
//|------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 2
#property indicateur_color1 LimeGreen
#property indicator_width1 2
#property indicator_color2 PaleVioletRed
#property indicator_width2 2
//---- paramètres d'entrée
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PÉRIODE_W1 10080
PERIOD_MN1 43200
Vous devez utiliser la valeur numérique de l'intervalle de temps que vous voulez utiliser
lorsque vous définissez la valeur 'TimeFrame' avec les entrées de l'indicateur.
---------------------------------------*/
extern int TimeFrame=0 ;
extern int period = 10 ;
extern int AppliedPrice=0 ;
extern bool SoundAlerts=false ;
double ExtMapBuffer1[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- ligne de l'indicateur
SetIndexStyle(0, DRAW_HISTOGRAM) ;
SetIndexStyle(1, DRAW_HISTOGRAM) ;
SetIndexBuffer(0, ExtMapBuffer1) ;
SetIndexBuffer(1, ExtMapBuffer1) ;
//---- nom pour l'étiquette de la DataWindow et de la sous-fenêtre de l'indicateur
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1" ; break ;
case 5 : TimeFrameStr="Period_M5" ; break ;
cas 15 : TimeFrameStr="Période_M15" ; pause ;
cas 30 : TimeFrameStr="Period_M30" ; break ;
cas 60 : TimeFrameStr="Period_H1" ; pause ;
cas 240 : TimeFrameStr="Period_H4" ; break ;
cas 1440 : TimeFrameStr="Period_D1" ; break ;
cas 10080 : TimeFrameStr="Period_W1" ; break ;
cas 43200 : TimeFrameStr="Period_MN1" ; pause ;
default : TimeFrameStr="Current Timeframe" ;
}
IndicatorShortName(" MTF_xb4d ("+TimeFrameStr+" ) ") ;
return(0) ;
}
//----
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[] ;
int i,limit,y=0,counted_bars=IndicatorCounted() ;
// Trace l'intervalle de temps défini sur l'intervalle de temps actuel.
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame) ;
limit= Barres-1 ;
for(i=0,y=0;i<limit;i++)
{
si (Time[i]<TimeArray[y]) y++ ;
/***********************************************************
Ajoutez la boucle principale de votre indicateur ci-dessous.
existant avec son iName ou iCustom.
Règle 1 : Ajoutez les entrées externes ci-dessus pour toutes les valeurs nécessaires.
Règle 2 : Utilisez 'TimeFrame' pour le cadre temporel de l'indicateur.
Règle 3 : Utilisez 'y' pour la valeur de décalage de votre indicateur.
**********************************************************/
ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y) ;
}
if(GlobalVariableGet(Symbol()+"previndicator")<0 && ExtMapBuffer1[0]>=0)
if(SoundAlerts){Alert("Buy Alert " + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}
if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)
if(SoundAlerts){Alert("Sell Alert " + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}
GlobalVariableSet(Symbol()+"previndicator",ExtMapBuffer1[0]) ;
retour(0) ;
}
//+------------------------------------------------------------------+
Est-ce qu'il montre les couleurs comme vous le vouliez ?
cher mladen :
j'en trouve des traces sur https://www.forex-tsd.com/forum/debates-discussions/1131-multi-timeframe-indicators/page762#comment_1831838
Merci beaucoup pour votre aide à tous les membres.
Que Dieu bénisse votre vie