Nous créerons votre conseiller expert gratuitement ! - page 18

 

Est-ce que vous codez toujours des EA ? Si oui, je pense que celui-ci serait facile et efficace. Le NonLagMa v.7 est un indicateur qui est similaire au modèle Sanefx. Lorsque l'indicateur change de couleur, l'EA ouvre un trade, dès que la couleur change, il ferme la position et ouvre immédiatement un trade dans la direction opposée. Simple mais efficace ! Ci-dessous le mq4.

Merci d'avoir jeté un coup d'oeil !!!

Jim

//+------------------------------------------------------------------+
//| NonLagMA_v7.1.mq4 |
//| Copyright © 2007, TrendLaboratory |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail : igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, TrendLaboratory"
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"


#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_color2 Aqua
#property indicator_width2 2
#property indicator_color3 Magenta
#property indicator_width3 2


//---- paramètres d'entrée
extern int Price = 0 ; //Application au prix (0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)
extern int Length = 15 ; //Période de NonLagMA
extern int Displace = 0 ; //DispLace ou Shift
extern double PctFilter = 0 ; //Filtre dynamique en décimal
extern int Color = 1 ; //Changement du mode de couleur (1-couleur)
extern int ColorBarBack = 1 ; //Barrière pour le mode couleur
extern double Deviation = 0 ; //Déviation à la hausse ou à la baisse
extern int AlertMode = 0 ; //Commutateur d'alerte sonore (0-off,1-on)
extern int WarningMode = 0 ; //Changement d'avertissement sonore (0-off,1-on)
//---- tampons d'indicateurs
double MABuffer[] ;
double UpBuffer[] ;
double DnBuffer[] ;
double trend[] ;
double Del[] ;
double AvgDel[] ;

double alfa[] ;
int i, Phase, Len,Cycle=4 ;
double Coeff, beta, t, Sum, Weight, g ;
double pi = 3.1415926535 ;
bool UpTrendAlert=false, DownTrendAlert=false ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6) ;
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MABuffer) ;
SetIndexStyle(1,DRAW_LINE) ;
SetIndexBuffer(1,UpBuffer) ;
SetIndexStyle(2,DRAW_LINE) ;
SetIndexBuffer(2,DnBuffer) ;
SetIndexBuffer(3,trend) ;
SetIndexBuffer(4,Del) ;
SetIndexBuffer(5,AvgDel) ;
string short_name ;
//---- ligne d'indicateur

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)) ;
//---- nom pour l'étiquette de la DataWindow et de la sous-fenêtre de l'indicateur
short_name="NonLagMA("+Length+")" ;
IndicatorShortName(short_name) ;
SetIndexLabel(0, "NonLagMA") ;
SetIndexLabel(1, "Up") ;
SetIndexLabel(2, "Dn") ;
//----
SetIndexShift(0,Displace) ;
SetIndexShift(1,Displace) ;
SetIndexShift(2,Displace) ;

SetIndexEmptyValue(0,EMPTY_VALUE) ;
SetIndexEmptyValue(1,EMPTY_VALUE) ;
SetIndexEmptyValue(2,EMPTY_VALUE) ;

SetIndexDrawBegin(0,Length*Cycle+Length+1) ;
SetIndexDrawBegin(1,Longueur*Cycle+Longueur+1) ;
SetIndexDrawBegin(2,Longueur*Cycle+Longueur+1) ;
//----

Coeff = 3*pi ;
Phase = Longueur-1 ;
Len = Longueur*4 + Phase ;
ArrayResize(alfa,Len) ;
Poids=0 ;

for (i=0;i<Len-1;i++)
{
si (i<=Phase-1) t = 1.0*i/(Phase-1) ;
sinon t = 1,0 + (i-Phase+1)*(2,0*Cycle-1,0)/(Cycle*Longueur-1,0) ;
beta = MathCos(pi*t) ;
g = 1,0/(Coeff*t+1) ;
si (t <= 0,5 ) g = 1 ;
alfa[i] = g * beta ;
Poids += alfa[i] ;
}

return(0) ;
}

//+------------------------------------------------------------------+
//| NonLagMA_v7.1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit ;
double prix ;
si ( counted_bars > 0 ) limit=Bars-counted_bars ;
si ( counted_bars < 0 ) return(0) ;
si ( counted_bars ==0 ) limit=Bars-Len-1 ;
si ( barres comptées < 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--)
{
Somme = 0 ;
pour (i=0;i<=Len-1;i++)
{
prix = iMA(NULL,0,1,0,3,Prix,i+shift) ;
Somme += alfa[i]*prix ;

}

if (Weight > 0) MABuffer[shift] = (1.0+Deviation/100)*Sum/Weight ;


si (PctFilter>0)
{
Del[shift] = MathAbs(MABuffer[shift] - MABuffer[shift+1]) ;

double sumdel=0 ;
for (i=0;i<=Length-1;i++) sumdel = sumdel+Del[shift+i] ;
AvgDel[shift] = sumdel/Length ;

double sumpow = 0 ;
for (i=0;i<=Longueur-1;i++) sumpow+=MathPow(Del[shift+i]-AvgDel[shift+i],2) ;
double StdDev = MathSqrt(sumpow/Length) ;

double Filter = PctFilter * StdDev ;

if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter ) MABuffer[shift]=MABuffer[shift+1] ;
}
sinon
Filtre=0 ;

si (Couleur>0)
{
trend[shift]=trend[shift+1] ;
si (MABuffer[shift]-MABuffer[shift+1] > Filter) trend[shift]= 1 ;
si (MABuffer[shift+1]-MABuffer[shift] > Filtre) trend[shift]=-1 ;
si (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
DnBuffer[shift] = EMPTY_VALUE ;
if (WarningMode>0 && trend[shift+1]<0 && shift==0) PlaySound("alert2.wav") ;
}
si (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
UpBuffer[shift] = EMPTY_VALUE ;
if (WarningMode>0 && trend[shift+1]>0 && shift==0) PlaySound("alert2.wav") ;
}
}
}
//----------
Message de chaîne de caractères ;

if ( trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+" : Signal for BUY" ;
if ( AlertMode>0 ) Alert (Message) ;
UpTrendAlert=true ; DownTrendAlert=false ;
}

if ( trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+" : Signal de VENTE" ;
if ( AlertMode>0 ) Alert (Message) ;
DownTrendAlert=true ; UpTrendAlert=false ;
}
//----
retour(0) ;
}
Dossiers :
 
Redland:

Est-ce que vous codez toujours des EA ? Si oui, je pense que celui-ci serait facile et efficace. Le NonLagMa v.7 est un indicateur qui est similaire au modèle Sanefx. Lorsque l'indicateur change de couleur, l'EA ouvre un trade, dès que la couleur change, il ferme la position et ouvre immédiatement un trade dans la direction opposée. Simple mais efficace ! Ci-dessous le mq4.

Merci de jeter un coup d'œil !!!

Jim

//+------------------------------------------------------------------+
//| NonLagMA_v7.1.mq4 |
//| Copyright © 2007, TrendLaboratory |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail : igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, TrendLaboratory"
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"


#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_color2 Aqua
#property indicator_width2 2
#property indicator_color3 Magenta
#property indicator_width3 2


//---- paramètres d'entrée
extern int Price = 0 ; //Application au prix (0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)
extern int Length = 15 ; //Période de NonLagMA
extern int Displace = 0 ; //DispLace ou Shift
extern double PctFilter = 0 ; //Filtre dynamique en décimal
extern int Color = 1 ; //Changement du mode de couleur (1-couleur)
extern int ColorBarBack = 1 ; //Barrière pour le mode couleur
extern double Deviation = 0 ; //Déviation à la hausse ou à la baisse
extern int AlertMode = 0 ; //Commutateur d'alerte sonore (0-off,1-on)
extern int WarningMode = 0 ; //Changement d'avertissement sonore (0-off,1-on)
//---- tampons d'indicateurs
double MABuffer[] ;
double UpBuffer[] ;
double DnBuffer[] ;
double trend[] ;
double Del[] ;
double AvgDel[] ;

double alfa[] ;
int i, Phase, Len,Cycle=4 ;
double Coeff, beta, t, Sum, Weight, g ;
double pi = 3.1415926535 ;
bool UpTrendAlert=false, DownTrendAlert=false ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6) ;
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MABuffer) ;
SetIndexStyle(1,DRAW_LINE) ;
SetIndexBuffer(1,UpBuffer) ;
SetIndexStyle(2,DRAW_LINE) ;
SetIndexBuffer(2,DnBuffer) ;
SetIndexBuffer(3,trend) ;
SetIndexBuffer(4,Del) ;
SetIndexBuffer(5,AvgDel) ;
string short_name ;
//---- ligne d'indicateur

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)) ;
//---- nom pour l'étiquette de la DataWindow et de la sous-fenêtre de l'indicateur
short_name="NonLagMA("+Length+")" ;
IndicatorShortName(short_name) ;
SetIndexLabel(0, "NonLagMA") ;
SetIndexLabel(1, "Up") ;
SetIndexLabel(2, "Dn") ;
//----
SetIndexShift(0,Displace) ;
SetIndexShift(1,Displace) ;
SetIndexShift(2,Displace) ;

SetIndexEmptyValue(0,EMPTY_VALUE) ;
SetIndexEmptyValue(1,EMPTY_VALUE) ;
SetIndexEmptyValue(2,EMPTY_VALUE) ;

SetIndexDrawBegin(0,Length*Cycle+Length+1) ;
SetIndexDrawBegin(1,Longueur*Cycle+Longueur+1) ;
SetIndexDrawBegin(2,Longueur*Cycle+Longueur+1) ;
//----

Coeff = 3*pi ;
Phase = Longueur-1 ;
Len = Longueur*4 + Phase ;
ArrayResize(alfa,Len) ;
Poids=0 ;

for (i=0;i<Len-1;i++)
{
si (i<=Phase-1) t = 1.0*i/(Phase-1) ;
sinon t = 1,0 + (i-Phase+1)*(2,0*Cycle-1,0)/(Cycle*Longueur-1,0) ;
beta = MathCos(pi*t) ;
g = 1,0/(Coeff*t+1) ;
si (t <= 0,5 ) g = 1 ;
alfa[i] = g * beta ;
Poids += alfa[i] ;
}

return(0) ;
}

//+------------------------------------------------------------------+
//| NonLagMA_v7.1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit ;
double prix ;
si ( counted_bars > 0 ) limit=Bars-counted_bars ;
si ( counted_bars < 0 ) return(0) ;
si ( counted_bars ==0 ) limit=Bars-Len-1 ;
si ( barres comptées < 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--)
{
Somme = 0 ;
pour (i=0;i<=Len-1;i++)
{
prix = iMA(NULL,0,1,0,3,Prix,i+shift) ;
Somme += alfa[i]*prix ;

}

if (Weight > 0) MABuffer[shift] = (1.0+Deviation/100)*Sum/Weight ;


si (PctFilter>0)
{
Del[shift] = MathAbs(MABuffer[shift] - MABuffer[shift+1]) ;

double sumdel=0 ;
for (i=0;i<=Length-1;i++) sumdel = sumdel+Del[shift+i] ;
AvgDel[shift] = sumdel/Length ;

double sumpow = 0 ;
for (i=0;i<=Longueur-1;i++) sumpow+=MathPow(Del[shift+i]-AvgDel[shift+i],2) ;
double StdDev = MathSqrt(sumpow/Length) ;

double Filter = PctFilter * StdDev ;

if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter ) MABuffer[shift]=MABuffer[shift+1] ;
}
sinon
Filtre=0 ;

si (Couleur>0)
{
trend[shift]=trend[shift+1] ;
si (MABuffer[shift]-MABuffer[shift+1] > Filter) trend[shift]= 1 ;
si (MABuffer[shift+1]-MABuffer[shift] > Filtre) trend[shift]=-1 ;
si (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
DnBuffer[shift] = EMPTY_VALUE ;
if (WarningMode>0 && trend[shift+1]<0 && shift==0) PlaySound("alert2.wav") ;
}
si (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift] ;
si (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack] ;
UpBuffer[shift] = EMPTY_VALUE ;
if (WarningMode>0 && trend[shift+1]>0 && shift==0) PlaySound("alert2.wav") ;
}
}
}
//----------
Message de chaîne de caractères ;

if ( trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+" : Signal for BUY" ;
if ( AlertMode>0 ) Alert (Message) ;
UpTrendAlert=true ; DownTrendAlert=false ;
}

if ( trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+" : Signal de VENTE" ;
if ( AlertMode>0 ) Alert (Message) ;
DownTrendAlert=true ; UpTrendAlert=false ;
}
//----
retour(0) ;
}

Bonjour Jim


Un indicateur fascinant. Je pense que j'en sais juste assez pour en faire un EA ;}


Je vous tiendrai au courant, merci de partager.

 
Bonjour, pourriez-vous travailler sur l'EA ci-jointe pour la faire fonctionner ? Je n'arrive pas à trouver la variable qui fait disparaître l'erreur. Peut-être pouvez-vous aussi ajouter un autre ma qui, lorsque les croisements et l'indicateur de commerce primaire Heiken changent, reste en place. Comme un filtre. Et peut-être que cela fonctionnerait aussi avec Heiken avec deux croisements Heiken séparés pour filtrer le commerce. J'ai remarqué que si Heiken avec différents paramètres fonctionne comme ma et filtre le commerce.
Dossiers :
alliheik_1.mq4  17 kb
 
Ajarn.Chan:

Bonjour Jim


Un indicateur fascinant. Je pense en savoir juste assez pour en faire un EA ;}


Je vous tiendrai au courant, merci de partager.

 

C'est génial ! Je vais l'attendre avec impatience. J'ai aussi le manuel de l'indicateur. Si vous m'envoyez une adresse e-mail privée, je vous le ferai parvenir. Je pense qu'il serait très utile. J'aimerais pouvoir écrire ces EA.

Jim

 
vriesde1:
Salut les gars,

Je suis un étudiant en informatique en route vers mon master, et très intéressé par le Forex.

En gros, je propose de créer un Expert Advisor gratuit pour quiconque en a besoin. Je viens de terminer mon premier Expert Advisor, il m'a donné un rendement de 100% sur 2007-2008, mais il est moins performant pour les années avant 2007, certains ne sont même pas rentables. C'est pourquoi je cherche plus d'inspiration !

Je fais cela pour acquérir une expérience supplémentaire à la fois sur mq4 et sur les systèmes de trading forex eux-mêmes.

Oh et d'ailleurs, je travaille déjà sur l'expert inside bar donc ne venez pas avec celui-là :D.

Envoyez-moi un message privé avec votre plan, et vous pouvez espérer, si l'EA n'est pas trop compliqué, dans une semaine.

Salutations !

Bonjour. Si vous êtes toujours en train de créer des conseillers experts s'il vous plaît faites-moi savoir.ma stratégie est très simple s'il vous plaît envoyez-moi un email à forexgls@yahoo.com merci.

 
vriesde1 wrote >>
Salut les gars,

Je suis étudiant en informatique en vue de mon master, et très intéressé par le Forex.

En gros, je propose de créer un Expert Advisor gratuit pour quiconque en a besoin. Je viens de terminer mon premier Expert Advisor, il m'a donné un rendement de 100% sur 2007-2008, mais il est moins performant pour les années avant 2007, certains ne sont même pas rentables. C'est pourquoi je cherche plus d'inspiration !

Je fais cela pour acquérir une expérience supplémentaire à la fois sur mq4 et sur les systèmes de trading forex eux-mêmes.

Oh et d'ailleurs, je travaille déjà sur l'expert inside bar donc ne venez pas avec celui-là :D.

Envoyez-moi un message privé avec votre plan, et vous pouvez espérer, si l'EA n'est pas trop compliqué, dans une semaine.

Salutations !

Si vous êtes toujours en train de coder, veuillez me contacter à l'adresse dvesledahl@comcast.net. J'ai ce qui devrait être une demande assez simple.

Merci ! Doug

 
vriesde1 wrote >>
Salut les gars,

Je suis étudiant en informatique en vue de mon master, et très intéressé par le Forex.

En gros, je propose de créer un conseiller expert gratuit pour quiconque en a besoin. Je viens de terminer mon premier Expert Advisor, il m'a donné un rendement de 100% sur 2007-2008, mais il est moins performant pour les années avant 2007, certains ne sont même pas rentables. C'est pourquoi je cherche plus d'inspiration !

Je fais cela pour acquérir une expérience supplémentaire à la fois sur mq4 et sur les systèmes de trading forex eux-mêmes.

Oh et d'ailleurs, je travaille déjà sur l'expert inside bar donc ne venez pas avec celui-là :D.

Envoyez-moi un message privé avec votre plan, et vous pouvez espérer, si l'EA n'est pas trop compliqué, dans une semaine.

Salutations !

Bonjour, je suis Cody, moi et un ami nouvellement fondé, sommes tous deux à la recherche du même système simple. Si vous pouviez nous aider, vous nous sauveriez la vie. Nous sommes tous deux assez nouveaux. Tout est expliqué dans le post 'DAILY BREAKOUT EA , PLEAS E HELP MY SYSTEM'. Mon adresse électronique est all1truth@gmal.com. Merci de m'envoyer un email ou de poster une réponse de toute façon, afin que je sache si je dois continuer à vérifier. Merci beaucoup.

 

all1truth et d'autres,

Je pense que Vriesde ne fait plus de service gratuit.

mieux vaut demander ailleurs

 
fgiovanardi:

Cher Vriesde1,

Je négocie des contrats à terme depuis de nombreuses années en utilisant des indicateurs techniques, j'ai quelques stratégies qui semblent bien fonctionner, malheureusement je n'ai aucune expérience dans l'écriture de programmes et d'Expert Advisors, j'ai désespérément besoin de votre aide ! Mes stratégies fonctionnent sur des indicateurs simples, rien de compliqué ou d'exotique...

Veuillez me contacter, fgiovanardi@yahoo.com

Merci. Franco

Bonjour,


je trade le forex depuis 4 ans maintenant avec seulement un système simple,


j'aimerais que vous me contactiez à mrafolabiplaza@yahoo.com.


Je veux convertir ma stratégie en EA.


MERCI

Raison: