Aide au codage - page 280

 
rkhan1:
Mladen et Mr Tools

pouvez-vous m'aider à faire cette indy est sep fenêtre en bas.

Trend Magic_mtf.mq4

Merci

rkhan1

Et voilà : trend_magic_mtf_separate.mq4

Dossiers :
 

Bonjour Mladen

Il y a une ligne magique de tendance, pouvez-vous faire en sorte qu'il y ait l'option de la deuxième ligne magique de tendance dans la même indy, comme le croisement.

Merci

Dossiers :
 
rkhan1:
Bonjour Mladen

Ceci a 1 ligne magique de tendance, pouvez-vous le faire pour avoir l'option de la 2ème ligne magique de tendance dans le même indy, comme le crossover.

Merci

Voilà : trend_magic_mtf_separate_2.mq4

Bon trading

Dossiers :
 

Bonjour Mladen

Il y a un problème

Le premier graphique, le timeframe de l'indy est actuel.

Le deuxième graphique, le timeframe est hebdomadaire, mais seulement 1 ligne.

Merci

Dossiers :
 
mrtools:
Farhad_1, c'est une version de WAVE PM que j'ai et qui fonctionne sur le build 646 pour moi.

Merci encore Mrtools. J'ai lu le livre mais je n'arrive pas à comprendre ce que WAVE-PM est censé montrer et ce que les indicateurs rouges et bleus sont censés signifier et comment ils peuvent être utilisés. Si vous le pouvez, expliquez-moi tout cela.

Merci d'avance.

 
rkhan1:
Bonjour Mladen

Il y a un problème

Le premier graphique, le timeframe de l'indy est actuel.

Le deuxième graphique, le cadre temporel est hebdomadaire, mais seulement une ligne.

Merci

Essayez celui-ci.

 
Farhad_1:
Merci encore Mrtools. J'ai lu le livre mais je n'arrive pas à comprendre ce que WAVE-PM est censé montrer et ce que les indicateurs rouges et bleus sont censés signifier et comment ils peuvent être utilisés. Si vous le pouvez, expliquez-moi tout cela, merci d'avance.

Farhad_1, d'après mes souvenirs, ce n'est pas un indicateur directionnel, mais plutôt un indicateur de tendance ou d'absence de tendance, si les lignes lentes et rapides sont inclinées vers le haut, alors il y a une tendance, lorsque les deux lignes sont autour de la zone .7 et .9, il y a une bonne chance que la tendance s'arrête ou se termine, et autour de la zone .3 à .5, la tendance reprend ou s'inverse. Donc, en regardant l'EurUsd horaire maintenant, la ligne lente est en pente ascendante et la ligne rapide est autour de la zone .3 et .5 et semble vouloir être en pente ascendante également, donc quelle que soit la tendance sur l'horaire, elle va probablement repartir à la hausse bientôt.

Dossiers :
wave_pm.png  56 kb
 
mrtools:
Farhad_1, d'après mes souvenirs, ce n'est pas un indicateur directionnel, c'est plus un indicateur de tendance ou d'absence de tendance, si les lignes lentes et rapides sont toutes deux inclinées vers le haut, alors il y a une tendance, quand les deux lignes sont autour de la zone .7 et .9, il y a une bonne chance que la tendance s'arrête ou se termine, et autour de la zone .3 à .5, la tendance reprend ou s'inverse. Donc, en regardant l'EurUsd horaire maintenant, la ligne lente est en pente ascendante et la ligne rapide est autour de la zone 0,3 et 0,5 et semble vouloir être en pente ascendante également, donc quelle que soit la tendance sur l'horaire, elle pourrait recommencer à monter bientôt.

Merci Mrtools. Il faut un peu de temps pour s'habituer à cet indicateur.

 

Fonctionne très bien

M. Outils

M. Mladen

Je vous salue tous les deux pour votre temps et votre expertise.

Salutations

 
mladen:
Vous pouvez faire quelque chose comme ceci :
double minprice = +99999999999;

for(int i =- 0; i<ObjectsTotal(); i++)

{

string name = ObjectName(i);

if (ObjectType(name) == OBJ_HLINE) MathMin(ObjectGet(name,OBJPROP_PRICE1),minprice);

}

Bonjour encore une fois,

J'ai essayé d'utiliser la fonction ci-dessus avec un commentaire mais elle n'affichait que le Max. Pouvez-vous m'aider avec peut-être deux fonctions. L'une affichant le prix de la ligne immédiate au-dessus de l'offre et la seconde la ligne en dessous de l'offre. Merci.

Voici le code.

//+------------------------------------------------------------------+

//| SimpleGrid.mq4+

//+------------------------------------------------------------------+

#include

#include

#property strict

// variables exportées

extern string GridStartingPrice = " Prix de départ pour placer des lignes " ;

extern double GSP = 0.0 ;

extern int GR = 5 ;

extern double GridStep = 5 ;

extern color CGL = Gold ;

extern color BGL = Green ;

extern color SGL = Rouge ;

extern bool ClearAllObjects = False ;

// variables locales

double PipValue=1 ; // cette variable est ici pour supporter les courtiers à 5 chiffres

bool Terminated = false ;

string LF = "\n" ; // utilisez cette variable dans les blocs personnalisés ou utilitaires où vous avez besoin de sauts de ligne.

int NDigits = 4 ; // utilisé principalement pour NormalizeDouble dans les blocs de type Flex

int ObjCount = 0 ; // compte de tous les objets créés sur le graphique, permet la création d'objets avec des noms uniques

int current = 0 ;

int init()

{

NDigits = Digits ;

if (false) ObjectsDeleteAll() ; // efface le graphique

Comment("") ; // efface le graphique

return(0) ;

}

// Démarrage de l'expert

int start()

{

si (Bars < 10)

{

Comment("Pas assez de barres") ;

retour (0) ;

}

if (Terminé == true)

{

Comment("EA Terminated.") ;

retour (0) ;

}

OnEveryTick7() ;

return (0) ;

}

void OnEveryTick7()

{

PipValue = 1 ;

if (NDigits == 3 || NDigits == 5) PipValue = 10 ;

CentreGridLine() ;

}

void CentreGridLine()

{ if (ObjectFind("CGL") == (-1) )

{

{

string objName = "CGL" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0],GSP) ;

ObjectSet(objName, OBJPROP_PRICE1, GSP) ;

ObjectSet(objName, OBJPROP_COLOR,CGL) ;

}

TradeLine() ;

UprBnd() ;

LwrBnd() ;

}

}

void TradeLine()

{

int i ;

double GridStep1= (GridStep*2) ;

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double SGSP= (GSP-((GridStep/2)*PipValue*Point)) ;

double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;

double SSGSP= (SGSP+((GridStep*(GR))*PipValue*Point)) ;

{

for(i=0 ; i<GR;i++)

{

SGL("Vendre "+i,BBGSP+GridStep1*i*PipValue*Point) ;

}

}

{

for(i=0 ; i<GR;i++)

{

BGL("Buy "+i,SSGSP-GridStep1*i*PipValue*Point) ;

}

}

}

void BGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, price) ;

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID) ;

ObjectSet(objName, OBJPROP_WIDTH, 1) ;

ObjectSet(objName, OBJPROP_COLOR, BGL) ;

}

void SGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, price) ;

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID) ;

ObjectSet(objName, OBJPROP_WIDTH, 1) ;

ObjectSet(objName, OBJPROP_COLOR, SGL) ;

}

void UprBnd()

{ if (ObjectFind("UPRBND") == (-1) )

{

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double price= (BGSP+((GridStep*(GR))*PipValue*Point)) ;

string objName = "UPRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price ) ;

ObjectSet(objName, OBJPROP_PRICE1,price) ;

ObjectSet(objName, OBJPROP_COLOR, DodgerBlue) ;

ObjectSet(objName, OBJPROP_WIDTH,3) ;

}

}

void LwrBnd()

{ if (ObjectFind("LWRBND") == (-1) )

{

double SGSP= (SGSP-((GridStep/2)*PipValue*Point)) ;

double price= (SGSP-((GridStep*(GR))*PipValue*Point)) ;

string objName = "LWRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price ) ;

ObjectSet(objName, OBJPROP_PRICE1,price) ;

ObjectSet(objName, OBJPROP_COLOR, Tomate) ;

ObjectSet(objName, OBJPROP_WIDTH, 3) ;

}

}

int deinit()

{

if (ClearAllObjects) ObjectsDeleteAll() ;

retourne (0) ;

}

//+------------------------------------------------------------------+