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
Fantastique - fonctionne très bien mladen ! Merci beaucoup.
Quelques demandes, si cela ne pose pas trop de problèmes :
1. Alors que les 4 MA sont toutes synchronisées, le prix recule et touche une MA désignée.
(dans ce cas, la deuxième MA la plus courte, la 15 EMA rouge), je voudrais qu'une flèche et une alerte soient produites.
Je passerais ensuite au cadre temporel plus petit de 1M pour rechercher un signal de vente à découvert.
J'insère des lignes horizontales et verticales pour qu'il soit facile de repérer où regarder (point A) sur le backtesting de l'échelle de temps 1M.
2. Puis-je demander à l'indy 4 ma synch de ne rechercher que deux ou trois ma synch afin de montrer la barre de l'histogramme ? (veuillez voir la pièce jointe sur les conditions 1m pour savoir ce que j'essaie de faire ici)
personne77
J'ai bien peur que cet indicateur ne soit pas conçu ou prévu pour montrer les touches de prix. Je suis également certain qu'il existe déjà de bons indicateurs qui font exactement ce genre de travail.
En ce qui concerne la version 2 et 3 mas : remplacez simplement le "" dans le code où vous voyez la comparaison qui va comme "if (ma1<ma2 && ma2<3" ... et ainsi de suite, par "=" et ensuite mettez 2 mas aux mêmes valeurs pour 3 mas différents ou 2 paires de mas aux mêmes valeurs pour avoir 2 mas affichés par l'indicateur.
mladen
Merci pour la suggestion.
Mon codage est à peu près inutile !
J'ai changé les > et < en = mais j'ai eu des erreurs lors de la compilation.
Que dois-je faire différemment ?
//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link "www.forex-tsd.com"
//------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 DarkOrange
#property indicator_width1 2
#property indicator_width2 2
#property indicator_minimum 0
#property indicator_maximum 1
extern int Ma1Period = 5 ;
extern int Ma1Price = PRICE_CLOSE ;
extern int Ma1Method = MODE_EMA ;
extern int Ma1Shift = 0 ;
extern int Ma2Period = 15 ;
extern int Ma2Price = PRICE_CLOSE ;
extern int Ma2Method = MODE_EMA ;
extern int Ma2Shift = 0 ;
extern int Ma3Period = 28 ;
extern int Ma3Price = PRICE_CLOSE ;
extern int Ma3Method = MODE_EMA ;
extern int Ma3Shift = 0 ;
extern int Ma4Period = 45 ;
extern int Ma4Price = PRICE_CLOSE ;
extern int Ma4Method = MODE_EMA ;
extern int Ma4Shift = 0 ;
//
//
//
//
//
double histu[] ;
double histd[] ;
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu) ; SetIndexStyle(0,DRAW_HISTOGRAM) ;
SetIndexBuffer(1,histd) ; SetIndexStyle(1,DRAW_HISTOGRAM) ;
return(0) ;
}
int deinit() { return(0) ; }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted() ;
si (counted_bars < 0) return(-1) ;
si (counted_bars > 0) counted_bars-- ;
int limit = MathMin(Bars-counted_bars,Bars-1) ;
//
//
//
//
//
for(int i = limite ; i >=0 ; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i) ;
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i) ;
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i) ;
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i) ;
histu = EMPTY_VALUE;
histd = EMPTY_VALUE ;
si(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1 ;
si (ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1 ;
}
return(0) ;
}
Bonjour
qu'en est-il du graphique renko 2min utilisant la MA ?
merci d'avance
mladen
Merci pour la suggestion.
Mon codage est à peu près inutile !
J'ai changé les > et < en = mais j'ai eu des erreurs lors de la compilation.
Que dois-je faire différemment ?
//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link "www.forex-tsd.com"
//------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 DarkOrange
#property indicator_width1 2
#property indicator_width2 2
#property indicator_minimum 0
#property indicator_maximum 1
extern int Ma1Period = 5 ;
extern int Ma1Price = PRICE_CLOSE ;
extern int Ma1Method = MODE_EMA ;
extern int Ma1Shift = 0 ;
extern int Ma2Period = 15 ;
extern int Ma2Price = PRICE_CLOSE ;
extern int Ma2Method = MODE_EMA ;
extern int Ma2Shift = 0 ;
extern int Ma3Period = 28 ;
extern int Ma3Price = PRICE_CLOSE ;
extern int Ma3Method = MODE_EMA ;
extern int Ma3Shift = 0 ;
extern int Ma4Period = 45 ;
extern int Ma4Price = PRICE_CLOSE ;
extern int Ma4Method = MODE_EMA ;
extern int Ma4Shift = 0 ;
//
//
//
//
//
double histu[] ;
double histd[] ;
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu) ; SetIndexStyle(0,DRAW_HISTOGRAM) ;
SetIndexBuffer(1,histd) ; SetIndexStyle(1,DRAW_HISTOGRAM) ;
return(0) ;
}
int deinit() { return(0) ; }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted() ;
si (counted_bars < 0) return(-1) ;
si (counted_bars > 0) counted_bars-- ;
int limit = MathMin(Bars-counted_bars,Bars-1) ;
//
//
//
//
//
for(int i = limite ; i >=0 ; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i) ;
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i) ;
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i) ;
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i) ;
histu = EMPTY_VALUE ;
histd = EMPTY_VALUE ;
si(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1 ;
si (ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1 ;
}
return(0) ;
}personne77
Vous auriez dû remplacer "<" par "" avec ">=" (pas seulement "=")
_____________________
PS : j'ai oublié de dire que 2 MAs sont toujours synchronisées
Cela fonctionne parfaitement !
Merci mladen.
Moyenne mobile adaptative de Kaufman
Moyenne mobile adaptative de Kaufman (par Alexander Gettinger)
Formulas:
KAMA = KAMA+sc*(Prix-KAMA), où
sc = (er*0,6015+0,0645)*(er*0,6015+0,0645),
er = Abs(Prix-Prix)/Somme1,
Sum1 = Somme(Abs(Prix-Prix)) de (i-Longueur+1) à i.
Deux versions de la régression linéaire (du même auteur)
Kaufman AMA pré-filtré
Je prépare la Kaufman AMA (moyenne mobile adaptative) pour d'autres choses, et voici une version qui a une façon très simplifiée d'utiliser (le calcul de l'ama est devenu une fonction maintenant). Il peut aussi avoir un prix par filtrage (au lieu d'utiliser le prix brut, le prix filtré peut être utilisé (pour activer le filtrage, mettez le PriceFilter à 1).
MA28 (par Alexander Gettinger)
serait-il possible, s'il vous plaît, de rendre l'indicateur multitimeframe ? merci
Je prépare l'AMA de Kaufman (moyenne mobile adaptative) pour d'autres choses, et voici une version qui a une façon très simplifiée d'utiliser (le calcul de l'ama est devenu une fonction maintenant). Il peut aussi avoir le prix par filtrage (au lieu d'utiliser le prix brut, le prix filtré peut être utilisé (pour activer le filtrage, mettez le PriceFilter à 1).