Aide au codage - page 394

 

mladen

des suggestions pour le dll le plus efficace utilisant microsoft visual studio?

 
Jeeves:
Est-ce que je pousserais le bouchon plus loin si je demandais une alerte sonore WAV, mais UNIQUEMENT lorsque les cinq sont "en ligne" ? Choix de l'entrée sonore par l'utilisateur

Je suppose que j'ai eu la réponse que je méritais.... Je suis dans ce jeu depuis assez longtemps pour savoir mieux.

Tout ce que j'avais à faire, c'était de placer mon fichier Wav. dans la boîte > options > alerte, et le tour était joué. Désolé Mladen d'avoir été aussi stupide, et merci à vous de m'avoir forcé à y réfléchir.

 
Jeeves:
Je suppose que j'ai eu la réponse que je méritais.... Je suis dans ce jeu depuis assez longtemps pour savoir mieux. Tout ce que j'avais à faire, c'était de placer mon fichier Wav. dans la boîte > options > alerte, et le tour était joué. Désolé Mladen d'avoir été aussi stupide, et merci à vous de m'avoir forcé à y réfléchir.

Ne vous inquiétez pas.

Le week-end n'est pas un moment propice au brainstorming.

 

Bonjour à tous, j'ai besoin d'aide et s'il vous plaît si quelqu'un peut m'aider :/

Donc, je veux vérifier le total de mes commandes et coloriser leurs fonds comme impairs et pairs.

Comme ceci

Mais mon problème est la dernière étiquette :/ dans cette image, mes commandes totales est de 5 mais les étiquettes est de 6 :/

Voici mon code :

int ticket1 = OrdersTotal();

int a_ticket1[];

ArrayResize( a_ticket1, ticket1 );

for (int cnt1=0;cnt1<ticket1;cnt1++)

{

if ( !OrderSelect(cnt1,SELECT_BY_POS,MODE_TRADES) ) continue;

a_ticket1[cnt1]=OrderTicket();

int orcol;

if(ExtLines<0)

{

for(orcol=0; orcol<9; orcol++)

{

string OrderNumber1 = "Orders Background " +cnt1/2+orcol;

string OrderNumbert1 = "Orders Backgrnds " +cnt1/2+orcol;

if(ObjectCreate(OrderNumber1,OBJ_LABEL,0,0,0))

{

string Ydistanc1 = 65 + (24 * cnt1);

ObjectSetText(OrderNumber1, Obg[orcol], 15, "Acc_info", Gray);

ObjectSet(OrderNumber1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumber1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumber1, OBJPROP_YDISTANCE, Ydistanc1);

}

if(ObjectCreate(OrderNumbert1,OBJ_LABEL,0,0,0))

{

string Ydistanct1 = 89 + (24 * cnt1);

ObjectSetText(OrderNumbert1, Obg[orcol], 15, "Acc_info", DarkGray);

ObjectSet(OrderNumbert1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumbert1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumbert1, OBJPROP_YDISTANCE, Ydistanct1);

}

}

}

}

Merci d'avance et désolé pour mon mauvais anglais

Dossiers :
 

Chers codeurs

J'ai besoin de votre aide

L'indicateur ci-joint fonctionne bien mais si les niveaux sont fixés à " 0 & 100 ", la couleur sur l'histo (ligne centrale) ne change pas !

Est-il possible de le faire fonctionner avec ces niveaux aussi !

Merci pour votre aide

secretcode

Dossiers :
 
secretcode:
Chers codeurs

Besoin de votre aide

L'indicateur ci-joint fonctionne bien mais si les niveaux sont fixés à " 0 & 100 ", la couleur sur l'histo (ligne centrale) ne change pas !

Est-il possible de le faire fonctionner avec ces niveaux aussi ?

Merci pour toute aide

code secret

secretcode

La valeur du RSX doit être supérieure ou inférieure aux valeurs des niveaux. Essayez d'utiliser 99.9999 et 0.0001 au lieu de 100 et 0.

 
mladen:
secretcode La valeur du RSX doit être supérieure ou inférieure aux valeurs du niveau. Essayez d'utiliser 99.9999 et 0.0001 au lieu de 100 et 0.

Merci beaucoup à Mladen pour son aide

Meilleures salutations,

secretcode

 

Bonjour M. Mladen, comment allez-vous ? Pouvez-vous m'aider ?

Je suis en train de développer mon propre indicateur basé sur les ruptures de support et de résistance.

Je l'ai presque prêt, mais il y a 32 choses que je ne sais pas où insérer dans le code ou mieux l'écrire.

1.- la première chose est de faire en sorte que le premier ordre d'achat après vente soit peint dans une autre couleur, dans ce cas la couleur Lime, et le premier ordre de vente après achat dans la couleur rouge.

2.- Pour faire que l'indicateur déploie un Pop up avec un texte pour cet ordre dans une couleur différente disant "paire .... aller long" et "paire.... aller court".

3.- d'inclure le code de ces indicateurs fractals dans mon code pour que tout soit cohérent...

voici ce que j'ai jusqu'à présent pour mon indicateur :

#property strict

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 clrLime

#property indicator_color2 clrRed

#property indicateur_color3 clrMagenta

#property indicator_color4 clrCyan

#define BUY 1

#define SELL 2

double Buy[],

Sell[],

FirstBuy[],

FirstSell[] ;

int OnInit() {

SetIndexBuffer(0,FirstBuy) ;

SetIndexBuffer(1,FirstSell) ;

SetIndexBuffer(2,Buy) ;

SetIndexBuffer(3,Sell) ;

for(int i=0 ; i<4 ; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233) ;

SetIndexArrow (1,234) ;

SetIndexArrow (2,233) ;

SetIndexArrow (3,234) ;

return(INIT_SUCCEEDED);}

void OnDeinit(const int reason) {}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],

const double &open[], const double &high[], const double &low[],

const double &close[], const long &tick_volume[], const long &volume[],

const int &spread[]) {

static int lastSignal=0 ;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1) ; i>=0 ; i--) {

FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE ;

datetime when=Time ;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15,when),

z=iBarShift(NULL,PERIOD_M5, when) ;

double srUpH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Support et résistance (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Support and Resistance (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Support and Resistance (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Support and Resistance (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Support et Résistance (Barry)",0,i),

srDown = iCustom(NULL,0, "Support and Resistance (Barry)",1,i) ;

if(ClosesrUp) {

if(lastSignal==SELL) {

FirstBuy=Low-_Point ;

SoundAlert(when, "Buy");}

else {

Buy=Low-_Point ; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

si(lastSignal==BUY) {

FirstSell=High+_Point ;

SoundAlert(when, "Sell");}

else {

Sell=High+_Point ; }

lastSignal=SELL;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0 ;

if(lastAlert!=i) {

Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i))) ;

lastAlert=i;}}

Voici le code des fractales pour le support et la résistance, je ne sais pas où les entrer :

[TD="class : bb-bot, width : 100%"] [TD="class : bb-right-bot, width : 4"]merci
#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double v1[] ;

double v2[] ;

double val1 ;

double val2 ;

int i ;

int init()

{

IndicatorBuffers(2) ;

//---- paramètres de dessin

SetIndexArrow(0, 119) ;

SetIndexArrow(1, 119) ;

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red) ;

SetIndexDrawBegin(0,i-1) ;

SetIndexBuffer(0, v1) ;

SetIndexLabel(0, "Résistance") ;

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue) ;

SetIndexDrawBegin(1,i-1) ;

SetIndexBuffer(1, v2) ;

SetIndexLabel(1, "Support") ;

return(0) ;

}

int start()

{

i=Bars ;

while(i>=0)

{

val1 = iFractals(NULL, 0, MODE_UPPER,i) ;

if (val1 > 0)

v1=High ;

else

v1 = v1 ;

val2 = iFractals(NULL, 0, MODE_LOWER,i) ;

if (val2 > 0)

v2=Low ;

else

v2 = v2 ;

i-- ;

}

return(0) ;

}

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

[/TD]
[/TD]

[/TR]

[TR]

 
daniel1983:
Bonjour M. Mladen, comment allez-vous ? Pouvez-vous m'aider ?

Je suis en train de développer mon propre indicateur basé sur les ruptures de support et de résistance.

Je l'ai presque prêt, mais il y a 32 choses que je ne sais pas où insérer dans le code ou mieux l'écrire.

1.- la première chose est de faire en sorte que le premier ordre d'achat après vente soit peint dans une autre couleur, dans ce cas la couleur Lime, et le premier ordre de vente après achat dans la couleur rouge.

2.- Pour faire que l'indicateur déploie un Pop up avec un texte pour cet ordre dans une couleur différente disant "paire .... aller long" et "paire.... aller court".

3.- d'inclure le code de ces indicateurs fractals dans mon code pour que tout soit cohérent...

voici ce que j'ai jusqu'à présent pour mon indicateur :

#property strict

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 clrLime

#property indicator_color2 clrRed

#property indicateur_color3 clrMagenta

#property indicator_color4 clrCyan

#define BUY 1

#define SELL 2

double Buy[],

Sell[],

FirstBuy[],

FirstSell[] ;

int OnInit() {

SetIndexBuffer(0,FirstBuy) ;

SetIndexBuffer(1,FirstSell) ;

SetIndexBuffer(2,Buy) ;

SetIndexBuffer(3,Sell) ;

for(int i=0 ; i<4 ; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233) ;

SetIndexArrow (1,234) ;

SetIndexArrow (2,233) ;

SetIndexArrow (3,234) ;

return(INIT_SUCCEEDED);}

void OnDeinit(const int reason) {}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],

const double &open[], const double &high[], const double &low[],

const double &close[], const long &tick_volume[], const long &volume[],

const int &spread[]) {

static int lastSignal=0 ;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1) ; i>=0 ; i--) {

FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE ;

datetime when=Time ;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15,when),

z=iBarShift(NULL,PERIOD_M5, when) ;

double srUpH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Support et résistance (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Support and Resistance (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Support and Resistance (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Support and Resistance (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Support et Résistance (Barry)",0,i),

srDown = iCustom(NULL,0, "Support and Resistance (Barry)",1,i) ;

if(ClosesrUp) {

if(lastSignal==SELL) {

FirstBuy=Low-_Point ;

SoundAlert(when, "Buy");}

else {

Buy=Low-_Point ; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

si(lastSignal==BUY) {

FirstSell=High+_Point ;

SoundAlert(when, "Sell");}

else {

Sell=High+_Point ; }

lastSignal=SELL;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0 ;

if(lastAlert!=i) {

Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i))) ;

lastAlert=i;}}

Voici le code des fractales pour le support et la résistance, je ne sais pas où entrer :

[TD="class : bb-bot, width : 100%"] [TD="class : bb-right-bot, width : 4"]merci
#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double v1[] ;

double v2[] ;

double val1 ;

double val2 ;

int i ;

int init()

{

IndicatorBuffers(2) ;

//---- paramètres de dessin

SetIndexArrow(0, 119) ;

SetIndexArrow(1, 119) ;

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red) ;

SetIndexDrawBegin(0,i-1) ;

SetIndexBuffer(0, v1) ;

SetIndexLabel(0, "Résistance") ;

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue) ;

SetIndexDrawBegin(1,i-1) ;

SetIndexBuffer(1, v2) ;

SetIndexLabel(1, "Support") ;

return(0) ;

}

int start()

{

i=Bars ;

while(i>=0)

{

val1 = iFractals(NULL, 0, MODE_UPPER,i) ;

if (val1 > 0)

v1=High ;

else

v1 = v1 ;

val2 = iFractals(NULL, 0, MODE_LOWER,i) ;

if (val2 > 0)

v2=Low ;

else

v2 = v2 ;

i-- ;

}

return(0) ;

}

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

[/TD]
[/TD]

[/TR]

[TR]

daniel1983

points 2 et 3 maintenant :

2. Il suffit d'ajouter Alert(t "texte à utiliser pour la fenêtre popup") pour avoir une alerte popup.

3. Ce n'est pas une bonne idée - cela rend le code trop compliqué et augmente la possibilité que quelque chose ne fonctionne pas correctement.

 

Cher Mladen

Est-il possible d'ajouter une bande dans l'indicateur ci-joint comme dans ce post : https://www.mql5.com/en/forum/172894/page45

Cet indicateur est de la section elite mais j'aime la façon dont vous ajoutez la bande sur lui.

Merci pour toute aide

code secret

Raison: