Newslettre:

Analyse Technique | Indicateurs et systèmes | sujet : Repulse et Metatrader

inscription à pro-at
[pass oublié]

Formation à la Bourse

Boutique Quel livre choisir ?

Eric Lefort

Prix éditeur : 39.00 €
Fiche ProduitAjouter au panier

Formations Trading en ligne

Sujet : Repulse et Metatrader
Page : sur 1

Nouveau sujet  Répondre au sujet   Recommander cette page

Posté le : le 23-02-2008 18:29:28 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Bonjour,
Je souhaite utiliser le Repulse d\\\'Eric Lefort avec Metatrader.

Quelqu\\\'un sait-il si cet indicateur est programm
 Alerter un modérateur Retourner en haut de page
Posté le : le 04-05-2008 13:39:27 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Hello !
Personne ne sait ou trouver le repulse pour metatrader ?

Merci
 Alerter un modérateur Retourner en haut de page

boursicoton

(220 msg)

Pur intraday De 1 à 3 ans Technique et fondamentale Futures US

Posté le : le 05-05-2008 08:08:41 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
jamais vu pour mt4...et pourtant c'est fourni en indicateur....
correze for ever !
 Alerter un modérateur Retourner en haut de page
Posté le : le 05-05-2008 09:03:34 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
bonjour à tous,

voici les codes pour metatrader mq4:


//----------------------------------------------------------------------------------------------------
// Repulse
//----------------------------------------------------------------------------------------------------
vars:
ZeroLine(0),
Repulse(0),
ForceHaussiere(0),
ForceBaissiere(0);

ForceHaussiere = XAverage( ((3*C) - (2*L)-O) / C * 100, 5);
ForceBaissiere = XAverage( (O + (2*H)-(3*C)) / C * 100, 5);

Repulse = ForceHaussiere-ForceBaissiere ;

Plot1( Repulse, "Repulse" );
Plot2( ZeroLine, "Zero Line");
//----------------------------------------------------------------------------------------------------


//----------------------------------------------------------------------------------------------------
// Repulse(x)
//----------------------------------------------------------------------------------------------------
input:
Length(5);
vars:
Repulse(0),
ForceHaussiere(0),
ForceBaissiere(0);

ForceHaussiere = XAverage( ((3*C) - (2*lowest(L, Length))-O[Length]) / C * 100, 5*Length);
ForceBaissiere = XAverage( (O[Length] + (2*highest(H, Length))-(3*C)) / C * 100, 5*Length);

Repulse = ForceHaussiere-ForceBaissiere ;

Plot1( Repulse, "Repulse(x)" );
//----------------------------------------------------------------------------------------------------



//----------------------------------------------------------------------------------------------------
// STPMT
//----------------------------------------------------------------------------------------------------
inputs:
Length(9),
OverSold( 20 ),
OverBought( 80 ) ;

variables:
STPMT(0),
MM_STPMT(0);

STPMT = (4.1*SlowKCustomOrig(H, L, C, 5, 3) + 2.5*SlowKCustomOrig(H, L, C, 14, 3) + SlowKCustomOrig(h, L, C, 45, 14) + 4*SlowKCustomOrig(H, L, C, 75, 20))/11.6;
MM_STPMT = Average(STPMT, Length);

Plot1( STPMT, "STPMT" ) ;
Plot2( MM_STPMT, "MM_STPMT" ) ;
Plot3( OverBought, "OverBot" ) ;
Plot4( OverSold, "OverSld" ) ;

//----------------------------------------------------------------------------------------------------



//----------------------------------------------------------------------------------------------------
// Cycle
//----------------------------------------------------------------------------------------------------
inputs:
Length(9);

vars:
STPMT(0),
Cycle(0);

Value1 = SlowKCustomOrig(H, L, C, 5, 3);
Value2 = SlowKCustomOrig(H, L, C, 14, 3);
Value3 = SlowKCustomOrig(h, L, C, 45, 14);
Value4 = SlowKCustomOrig(H, L, C, 75, 20);

STPMT = ((4.1*Value1)+(2.5*Value2)+(Value3)+(4*Value4))/11.6;
Cycle = STPMT - AverageFC( STPMT, Length );

Cycle = STPMT - AverageFC( STPMT, Length );
Plot1( Cycle, "Cycle" );
//----------------------------------------------------------------------------------------------------

 Alerter un modérateur Retourner en haut de page

boursicoton

(220 msg)

Pur intraday De 1 à 3 ans Technique et fondamentale Futures US

Posté le : le 05-05-2008 09:33:09 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
merci à toi !
mais..il doit en manquer des bouts, j'ai des erreurs de compilation...à suivre !
édité le : 05-05-2008 09:38:10correze for ever !
 Alerter un modérateur Retourner en haut de page
Posté le : le 07-06-2008 01:05:46 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Je n'ai pas l'impression que ce soit du mq4....

Entre temps j'ai trouvé le code suivant qui fonctionne :

//+------------------------------------------------------------------+
//| Repulse.mq4 |
//| Anaphrais |
//| |
//+------------------------------------------------------------------+
#property copyright "Anaphrais"
#property link ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetLevelValue(0,0);
SetLevelStyle(STYLE_DOT,0,White);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{


double forcehaussiere=0 ,forcebaissiere=0;

for(int i=300;i>=0;i--)
{
forcehaussiere=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,i)*(((3*Close)-(2*Low)-Open)/Close*100);

forcebaissiere=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,i)*((Open+(2*High)-(3*Close))/Close*100);

ExtMapBuffer1=(forcehaussiere-forcebaissiere);
}
//----

//----
return(0);
}
//+------------------------------------------------------------------+
édité le : 07-06-2008 01:11:04 
 Alerter un modérateur Retourner en haut de page

fcognet

(11 msg)

Pur intraday Moins d'un an Uniquement technique Autres Dérivés

Posté le : le 07-06-2008 10:33:36 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Voici un repulse pour Metatrader : les périodes par défaut sont 1, 5, 15 (et modifiables bien entendu).
C'est mon premier indicateur pour Metatrader, alors d'avance merci pour toutes vos remarques, y compris des suggestion d'optimisation.

//+------------------------------------------------------------------+
//| Repulse.mq4 |
//| FCognet |
//| |
//+------------------------------------------------------------------+
#property copyright "Eric Lefort"
#property link "http://www.pro-at.com"

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Gray
#property indicator_color2 Yellow
#property indicator_color3 Cyan

//---- input parameters
extern int RepulsePeriod1=1;
extern int RepulsePeriod2=5;
extern int RepulsePeriod3=15;
//---- buffers
double RepulseBuffer1[];
double RepulseBuffer2[];
double RepulseBuffer3[];
double PosBuffer[];
double NegBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init() {
string short_name;
short_name="Repulse("+RepulsePeriod1+", "+RepulsePeriod2+", "+RepulsePeriod3+")";
IndicatorShortName(short_name);
//---- indicators
IndicatorBuffers(5);
SetIndexBuffer(0,RepulseBuffer1);
SetIndexBuffer(1,RepulseBuffer2);
SetIndexBuffer(2,RepulseBuffer3);
SetIndexBuffer(3,PosBuffer);
SetIndexBuffer(4,NegBuffer);

SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE);
SetIndexStyle(3,DRAW_NONE);
SetIndexStyle(4,DRAW_NONE);

SetLevelValue(0,0);
SetLevelStyle(STYLE_DOT,0,DimGray);

//----
return(0);
}

//+------------------------------------------------------------------+
//| iteration function |
//+------------------------------------------------------------------+
int start() {
double forceHaussiere, forceBaissiere;

int index = 0;
int counted_bars=IndicatorCounted();

int limit = Bars - counted_bars;

// Repulse1
for(index=0;index<Bars;index++) {
PosBuffer[index] = ((((3*Close[index])-(2*getLow(index, RepulsePeriod1))-Open[index])/Close[index])*100);
NegBuffer[index] = (((Open[index]+(2*getHigh(index, RepulsePeriod1))-(3*Close[index]))/Close[index])*100);
}
for(index=0;index<limit;index++) {
forceHaussiere=iMAOnArray(PosBuffer, 0, RepulsePeriod1 * 5, 0, MODE_EMA, index);
forceBaissiere=iMAOnArray(NegBuffer, 0, RepulsePeriod1 * 5, 0, MODE_EMA, index);
RepulseBuffer1[index]=forceHaussiere-forceBaissiere;
}

// Repulse2
for(index=0;index<Bars;index++) {
PosBuffer[index] = ((((3*Close[index])-(2*getLow(index, RepulsePeriod2))-Open[index+RepulsePeriod2])/Close[index])*100);
NegBuffer[index] = (((Open[index+RepulsePeriod2]+(2*getHigh(index, RepulsePeriod2))-(3*Close[index]))/Close[index])*100);
}
for(index=0;index<limit;index++) {
forceHaussiere=iMAOnArray(PosBuffer, 0, RepulsePeriod2 * 5, 0, MODE_EMA, index);
forceBaissiere=iMAOnArray(NegBuffer, 0, RepulsePeriod2 * 5, 0, MODE_EMA, index);
RepulseBuffer2[index]=forceHaussiere-forceBaissiere;
}

// Repulse3
for(index=0;index<Bars;index++) {
PosBuffer[index] = ((((3*Close[index])-(2*getLow(index, RepulsePeriod3))-Open[index+RepulsePeriod3])/Close[index])*100);
NegBuffer[index] = (((Open[index+RepulsePeriod3]+(2*getHigh(index, RepulsePeriod3))-(3*Close[index]))/Close[index])*100);
}
for(index=0;index<limit;index++) {
forceHaussiere=iMAOnArray(PosBuffer, 0, RepulsePeriod3 * 5, 0, MODE_EMA, index);
forceBaissiere=iMAOnArray(NegBuffer, 0, RepulsePeriod3 * 5, 0, MODE_EMA, index);
RepulseBuffer3[index]=forceHaussiere-forceBaissiere;
}
return(0);
}

//+------------------------------------------------------------------+
double getLow(int from, int period) {
double low = 9999999999;
for (int index=from; index<=from+period; index++) {
if (low > Low[index]) {
low = Low[index];
}
}
return (low);
}

double getHigh(int from, int period) {
double high = 0;
for (int index=from; index<=from+period; index++) {
if (high < High[index]) {
high = High[index];
}
}
return (high);
}

édité le : 07-06-2008 22:00:54 
 Alerter un modérateur Retourner en haut de page

fcognet

(11 msg)

Pur intraday Moins d'un an Uniquement technique Autres Dérivés

Posté le : le 07-06-2008 12:09:54 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Voici le STPMT.
A priori c'est ça, mais ça serait vraiment bien si quelqu'un pouvait comparer avec une implémentation sûre du STPMT sur une autre plate-forme.

//+------------------------------------------------------------------+
//| STPMT.mq4 |
//| FCognet |
//| |
//+------------------------------------------------------------------+
#property copyright "Eric Lefort"
#property link "http://www.pro-at.com"

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 DimGray
#property indicator_color2 DimGray
#property indicator_color3 DimGray
#property indicator_color4 DimGray
#property indicator_color5 Blue
#property indicator_color6 Red

//---- buffers
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double STPMT[];
double STPMT_MA[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init() {
string short_name;
short_name="STPMT";
IndicatorShortName(short_name);
//---- indicators
IndicatorBuffers(6);
SetIndexBuffer(0, Buffer1);
SetIndexBuffer(1, Buffer2);
SetIndexBuffer(2, Buffer3);
SetIndexBuffer(3, Buffer4);
SetIndexBuffer(4, STPMT);
SetIndexBuffer(5, STPMT_MA);

SetIndexStyle(0, DRAW_LINE, STYLE_DOT);
SetIndexStyle(1, DRAW_LINE, STYLE_DOT);
SetIndexStyle(2, DRAW_LINE, STYLE_DOT);
SetIndexStyle(3, DRAW_LINE, STYLE_DOT);
SetIndexStyle(4, DRAW_LINE, EMPTY, 1);
SetIndexStyle(5, DRAW_LINE, EMPTY, 1);


//----
return(0);
}

//+------------------------------------------------------------------+
//| iteration function |
//+------------------------------------------------------------------+
int start() {

int index = 0;
int counted_bars=IndicatorCounted();

int limit = Bars - counted_bars;

for(index=0;index<limit;index++) {
Buffer1[index] = iStochastic( NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer2[index] = iStochastic( NULL, 0, 14, 3, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer3[index] = iStochastic( NULL, 0, 45, 14, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer4[index] = iStochastic( NULL, 0, 75, 20, 3, MODE_SMA, 0, MODE_SIGNAL, index);
STPMT[index] = (4.1 * Buffer1[index] + 2.5 * Buffer2[index] + Buffer3[index] + 4 * Buffer4[index]) / 11.6;
}
for(index=0;index<limit;index++) {
STPMT_MA[index] = iMAOnArray(STPMT, 0, 9, 0, MODE_SMA, index);
}
return(0);
}


édité le : 07-06-2008 14:57:44 
 Alerter un modérateur Retourner en haut de page

fcognet

(11 msg)

Pur intraday Moins d'un an Uniquement technique Autres Dérivés

Posté le : le 07-06-2008 12:38:15 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Et enfin Cycles

//+------------------------------------------------------------------+
//| Cycles.mq4 |
//| FCognet |
//| |
//+------------------------------------------------------------------+
#property copyright "Eric Lefort"
#property link "http://www.pro-at.com"

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Yellow

//---- buffers
double Cycle[];
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double STPMT[];
double STPMT_MA[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init() {
string short_name;
short_name="Cycles";
IndicatorShortName(short_name);
//---- indicators
IndicatorBuffers(7);
SetIndexBuffer(0, Buffer1);
SetIndexBuffer(1, Buffer2);
SetIndexBuffer(2, Buffer3);
SetIndexBuffer(3, Buffer4);
SetIndexBuffer(4, STPMT);
SetIndexBuffer(5, STPMT_MA);
SetIndexBuffer(6, Cycle);

SetIndexStyle(0, DRAW_LINE, EMPTY, 1);
SetIndexStyle(1, DRAW_NONE);
SetIndexStyle(2, DRAW_NONE);
SetIndexStyle(3, DRAW_NONE);
SetIndexStyle(4, DRAW_NONE);
SetIndexStyle(5, DRAW_NONE);
SetIndexStyle(6, DRAW_NONE);

//----
return(0);
}

//+------------------------------------------------------------------+
//| iteration function |
//+------------------------------------------------------------------+
int start() {

int index = 0;
int counted_bars=IndicatorCounted();

int limit = Bars - counted_bars;

for(index=0;index<limit;index++) {
Buffer1[index] = iStochastic( NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer2[index] = iStochastic( NULL, 0, 14, 3, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer3[index] = iStochastic( NULL, 0, 45, 14, 3, MODE_SMA, 0, MODE_SIGNAL, index);
Buffer4[index] = iStochastic( NULL, 0, 75, 20, 3, MODE_SMA, 0, MODE_SIGNAL, index);
STPMT[index] = (4.1 * Buffer1[index] + 2.5 * Buffer2[index] + Buffer3[index] + 4 * Buffer4[index]) / 11.6;
}
for(index=0;index<limit;index++) {
STPMT_MA[index] = iMAOnArray(STPMT, 0, 9, 0, MODE_SMA, index);
Cycle[index] = STPMT[index] - STPMT_MA[index];
}
return(0);
}


édité le : 07-06-2008 14:59:48 
 Alerter un modérateur Retourner en haut de page

fcognet

(11 msg)

Pur intraday Moins d'un an Uniquement technique Autres Dérivés

Posté le : le 07-06-2008 12:55:08 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
Voici une vue du résultat final (repulse, stpmt et cycles)
Cliquez pour agrandir

 Alerter un modérateur Retourner en haut de page

fcognet

(11 msg)

Pur intraday Moins d'un an Uniquement technique Autres Dérivés

Posté le : le 07-06-2008 22:08:14 Voir le profil   Envoyer un email à l'auteur   Envoyer un message privé   Répondre avec citation  
il y a une erreur dans le code de Cycles dans cette file.
J'ai créé une autre file pour l'implémentation sur Metatrader des indicateurs d'Eric Lefort.
http://www.pro-at.com/forums-bourse/bourse-1-27352.html
 Alerter un modérateur Retourner en haut de page

Nouveau sujet   Répondre au sujet Recommander cette page

Sujet : Repulse et Metatrader
Page : sur 1
Invest-AT, l'analyse technique au service de l'investissement actif. Analyses, forums et signaux AT. Créer votre blog gratuitement avec TradersBlog, plateforme de blogs pour traders. Trading School, modules de formation à la bourse en ligne, glossaire de la bourse ...
Pro-AT:Forums bourse actions, Forums bourse et analyse technique,Forums Day Trading ,Forums partenaires bourse et trading, Forums indices boursiers,Forums entraide informatique,
Forums methodes bourse et techniques de trading, Forums placements et investissements boursiers , Forums produits dérivés boursiers,Forums réflexions et psychologie du trader,
Forums des traders régionaux, Autres forums bourse,
Partenaires :Forex avec Realtime Forex | Analyses devises avec Mataf.net | Bourse avec Edubourse | Conseils boursiers avec Zonebourse.com
| Forum immobilier |Placements financiers avec Encaissez | Logiciel boursier avec IsoBourse | Formation bourse en ligne avec Trading-School|BourseInvestir.com | Moneymanagement par jctrader | Le pret hypothecaire | Analyses cac 40 avec NouveauTrader | Faire construire sa maison individuelle | Immobilier|