[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 443
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
Oui, j'ai compris...
Peut-être que je ne le comprends pas ?
Une ligne comme celle-ci :
en comparant la valeur MACDa à zéro et si la condition correspond, une flèche est dessinée.
Comment cela fonctionne-t-il ?
Que fait-il ? Si MACD[i]>0 et que macd[i+1] est également supérieur à 0, comment la condition ? ???????????????? est-elle remplie ?
Peut-être que je ne le comprends pas ?
Une ligne comme celle-ci :
en comparant la valeur MACDa à zéro et si la condition correspond, une flèche est dessinée.
Comment cela fonctionne-t-il ?
Si MACD[i]>0 et que MACD[i+1] est également supérieur à 0, alors comment la condition ? ???????????????? est-elle remplie ?
Si le produit de la valeur précédente et de la valeur actuelle est inférieur à zéro, alors ces valeurs se trouvent de part et d'autre de la ligne du zéro.
La multiplication est environ 10 fois plus rapide que la condition logique. J'ai remplacé deux conditions logiques par une multiplication et une condition logique.
Nous vérifions d'abord s'il y a eu une intersection de la ligne zéro. S'il y a une intersection, nous déterminons alors la direction de l'intersection.
Je vous demande pardon, mais j'ai du mal à mettre en œuvre cette condition :
MACD va vers le haut, franchit le niveau N (bien sûr avec un signe moins) - une flèche est dessinée, NACD va vers le bas, franchit le niveau N (signe +) - une flèche est dessinée.
Le niveau N est un certain niveau, comme pour le CCI - 20 et 80. La logique est claire, mais comment la mettre en œuvre...... ?????
Je vous demande pardon, mais j'ai du mal à mettre en place cette condition :
MACD va vers le haut, franchit le niveau N (bien sûr avec un signe moins) - une flèche est dessinée, NACD va vers le bas, franchit le niveau N (signe +) - une flèche est dessinée.
Le niveau N est un certain niveau, comme pour le CCI - 20 et 80. La logique est claire, mais comment la mettre en œuvre...... ?????
Это контроль пробития уровня. В твоем случае нужно будет делать два контроля. Для положительного и отрицательного Level отдельно
C'est comme ça ?
Désolé pour l'intrusion, vous m'avez déjà aidé à définir les paramètres d'entrée de l'indicateur NonLagDOT et à les sortir via la fonction iCustom() vers l'Expert Advisor.
Veuillez m'indiquer comment ouvrir des ordres pour cet indicateur.
/+------------------------------------------------------------------+|| NonLagDOT.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_width1 1
#property indicator_color2 RoyalBlue
#property indicator_width2 1
#property indicator_color3 Red
#propriété indicator_width3 1
//---- paramètres d'entrée
extern int Prix = 0 ;
extern int Length = 20 ;
extern intplace Displace = 0 ;
extern int Filter = 0 ;
extern int Couleur = 1 ;
extern int ColorBarBack = 0 ;
extern double Déviation = 0 ;
double Cycle = 4 ;
//---- tampons indicateurs
double MABuffer[] ;
double UpBuffer[] ;
double DnBuffer[] ;
double prix[] ;
double tendance[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
int ft=0 ;
string short_name ;
//---- ligne d'indicateurs
IndicatorBuffers(5) ;
SetIndexStyle(0,DRAW_ARROW) ;
SetIndexBuffer(0,MABuffer) ;
SetIndexStyle(1,DRAW_ARROW) ;
SetIndexBuffer(1,UpBuffer) ;
SetIndexStyle(2,DRAW_ARROW) ;
SetIndexBuffer(2,DnBuffer) ;
SetIndexBuffer(3,price) ;
SetIndexBuffer(4,trend) ;
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)) ;
SetIndexArrow(0,159) ;
SetIndexArrow(1,159) ;
SetIndexArrow(2,159) ;
SetIndexArrow(3,159) ;
//---- nom pour le DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
short_name="NonLagDot("+Length+")" ;
IndicatorShortName(nom_court) ;
SetIndexLabel(0, "NLD") ;
SetIndexLabel(1, "Up") ;
SetIndexLabel(2, "Dn") ;
//----
SetIndexShift(0,Displace) ;
SetIndexShift(1,Displace) ;
SetIndexShift(2,Displace) ;
SetIndexDrawBegin(0,Length*Cycle+Length) ;
SetIndexDrawBegin(1,Length*Cycle+Length) ;
SetIndexDrawBegin(2,Length*Cycle+Length) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| NonLagMA_v4 | |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit ;
double alfa,beta,t,Sum,Weight,step,g ;
double pi = 3,1415926535 ;
double Coeff = 3*pi ;
int Phase = Longueur-1 ;
double Len = Longueur*Cycle + Phase ;
si ( counted_bars > 0 ) limit=Bars-counted_bars ;
si ( counted_bars < 0 ) return(0) ;
si ( counted_bars ==0 ) limit=Bars-Len-1 ;
si ( counted_bars < 1 )
for(i=1;i<Longueur*Cycle+Longueur;i++)
{
MABuffer[Bars-i]=0 ;
UpBuffer[Bars-i]=0 ;
DnBuffer[Bars-i]=0 ;
}
for(shift=limite;shift>=0;shift--)
{
Poids=0 ; Somme=0 ; t=0 ;
pour (i=0;i<=Len-1;i++)
{
g = 1,0/(Coeff*t+1) ;
si (t <= 0.5 ) g = 1 ;
bêta = MathCos(pi*t) ;
alfa = g * beta ;
//si (shift>=1) price[i] = iMA(NULL,0,Per,Displace,Mode,Price,shift+i) ;
//seulement
prix[i] = iMA(NULL,0,1,0,MODE_SMA,Prix,shift+i) ;
Somme += alfa*prix[i] ;
Poids += alfa ;
si ( t < 1 ) t += 1.0/(Phase-1) ;
sinon si ( t < Len-1 ) t += (2*Cycle-1)/(Cycle*Longueur-1) ;
}
if (Weight > 0) MABuffer[shift] = (1.0+Deviation/100)*Sum/Weight ;
si (Filtre>0)
{
if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter*Point ) MABuffer[shift]=MABuffer[shift+1] ;
}
si (Couleur>0)
{
trend[shift]=trend[shift+1] ;
si (MABuffer[shift]-MABuffer[shift+1] > Filter*Point) trend[shift]=1 ;
si (MABuffer[shift+1]-MABuffer[shift] > Filter*Point) trend[shift]=-1 ;
si (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
DnBuffer[shift] = 0 ;
}
si (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
UpBuffer[shift] = 0 ;
}
}
}
retour(0) ;
}
C'est comme ça ?
Veuillez expliquer les termes "LevelUP" et "LevelDN".
LevelUP- niveau positif
NiveauDN- niveau négatif.
En général, ils sont égaux en valeur absolue.
S'ils sont égaux, il est possible d'utiliser