Comment coder ? - page 334

 

Salut les gars,

Je n'arrive pas à dessiner des enveloppes sur Array.

Je peux dessiner la bande de Bollinger sans aucun problème.

Je veux dessiner les enveloppes sur l'indicateur CCI.

J'ai dessiné avec des bandes de Bollinger avec le code joint et cela fonctionne,

le seul problème est de dessiner avec des Enveloppes sur l'indicateur CCI.

Merci de m'aider.

Dossiers :
cci_env.mq4  3 kb
 
luffy:
Salut les gars,

Je n'arrive pas à dessiner des enveloppes sur un tableau

Je peux dessiner la bande de Bollinger sans aucun problème.

Je veux dessiner les enveloppes sur l'indicateur CCI.

J'ai dessiné avec des bandes de Bollinger avec le code joint et cela fonctionne,

le seul problème est de dessiner avec des Enveloppes sur l'indicateur CCI.

Veuillez m'aider.

luffy

Il n'est pas possible de le faire sans coder des enveloppes pour chaque valeur d'indicateur à laquelle vous souhaitez appliquer des enveloppes.

 
mladen:
luffy Il n'est pas possible de le faire sans coder des enveloppes pour chaque valeur d'indicateur à laquelle vous souhaitez appliquer des enveloppes.

Bonjour Mladen

J'apprécie votre aide précieuse car je suis incapable de programmer.

J'ai un problème avec le Macd3 ci-joint qui ne se rafraîchit que si je l'édite et le referme.

Ce serait une grande aide s'il se rafraîchissait à chaque barre fermée. J'espère que vous pourrez trouver une solution.

BTW c'est un très bon indicateur en ce qui concerne l'obtention du point de retournement tôt !

Dossiers :
macd_3m.ex4  17 kb
macd_3m.mq4  5 kb
 
wolfsch:
Bonjour Mladen

J'apprécie votre grande aide car je suis incapable de programmer.

J'ai un problème avec le Macd3 ci-joint qui ne se rafraîchit que si je l'édite et le referme.

Ce serait une grande aide s'il se rafraîchissait à chaque barre fermée. J'espère que vous pourrez trouver une solution.

BTW c'est un très bon indicateur pour obtenir le point de retournement tôt !

wolfsch

Cela fonctionne bien sur mon terminal (je l'ai testé sur un graphique d'une minute et tout s'est bien passé - j'utilise la version 788).

 
wolfsch:
Bonjour Mladen

J'apprécie votre grande aide car je suis incapable de programmer.

J'ai un problème avec le Macd3 ci-joint qui ne se rafraîchit que si je l'édite et le referme.

Ce serait une grande aide s'il se rafraîchissait à chaque barre fermée. J'espère que vous pourrez trouver une solution.

BTW c'est un très bon indicateur pour obtenir le point de retournement tôt !

Cela marche pour moi aussi

 
luffy:
Salut les gars,

Je n'arrive pas à dessiner des enveloppes sur un tableau

Je peux dessiner la bande de Bollinger sans aucun problème.

Je veux dessiner les enveloppes sur l'indicateur CCI.

J'ai dessiné avec des bandes de Bollinger avec le code joint et cela fonctionne,

le seul problème est de dessiner avec des Enveloppes sur l'indicateur CCI.

Veuillez m'aider.

luffy

Essayez-le maintenant : cci_env_1.mq4

Dossiers :
cci_env_1.mq4  3 kb
cci_env.gif  71 kb
 

Bonjour, j'essaie de configurer mon ea pour qu'il ferme automatiquement toutes mes transactions ouvertes à un moment précis. Je me demandais si quelqu'un pouvait m'éclairer à ce sujet ? merci.

Salutations

Ryan

 
tkuan77:
J'essaie de configurer mon ea pour qu'il ferme automatiquement toutes mes positions ouvertes à un moment précis. Je me demandais si quelqu'un pouvait m'éclairer à ce sujet. Merci.

Salutations

Ryan

Ryan

Vérifiez celui-ci : https://www.mql5.com/en/forum/177401/page2

Ne vous inquiétez pas pour les deux avertissements du compilateur lors de la compilation du code - ils sont bénins.

 

Bonjour mladen, j'ai essayé de saisir la partie concernant la clôture de la transaction en fonction du moment et de la compiler, cela me donne un avertissement comme vous le mentionnez, cependant, lorsque j'exécute le code, il ne clôture pas la transaction au moment que j'ai spécifié.

Je ne suis pas trop sûr de ce qui pourrait être l'erreur ici. J'espère que vous pourrez m'éclairer sur l'erreur que je pourrais commettre.

Salutations

Ryan

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

//| Forex TSD - forum forex |

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

#property copyright "R Creation"

#property link "https://www.forex-tsd.com"

//---- paramètres d'entrée

extern double TakeProfit = 200.0 ;

extern double Lots = 0.1 ;

extern double StopLoss = 200.0 ;

extern int PreferredHour_1st = 5 ;

extern int PreferredMinute_1st = 30 ;

int magicNo_1st = 530 ;

extern bool UseCurrSymbol = False ; // on ne sait pas trop à quoi cela sert.....

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

//| fonction d'initialisation de l'expert |

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

int init()

{

//----

//----

return(0) ;

}

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

//| fonction de désinitialisation experte |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| fonction de démarrage expert |

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

datetime newbar ;

double pBid, pAsk ;

int start()

{

if(newbar==Time[0])return(0) ;

sinon newbar=Time[0] ;

int ticket, total ;

if(Bars<100)

{

Print("barres inférieures à 100") ;

return(0) ;

}

if(TakeProfit<10)

{

Print("TakeProfit inférieur à 10") ;

return(0) ; // vérifier TakeProfit

}

double Fast_MA, Slow_MA ;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0) ;

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0) ;

total = OrdersTotal() ; // vérification du nombre total de transactions actuellement ouvertes

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"My EA",magicNo_1st,0,Green) ;

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre BUY ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture de l'ordre BUY : ",GetLastError()) ;

return(0) ;

}

si (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"My EA",magicNo_1st,0,Red) ;

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre SELL ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture d'un ordre de VENTE : ",GetLastError()) ;

return(0) ;

}

return(0) ;

}

if(total > 1) //pour fermer les ordres basés sur le timing... pas encore résolu.

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

for (int i=OrdersTotal()-1 ; i>=0 ; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

si (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID) ;

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue) ;

}

if (OrderType()==OP_SELL))

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK) ;

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Red) ;

}

}

}

}

}

}

return(0) ;

}

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

 
tkuan77:
Bonjour mladen, j'ai essayé de saisir la partie concernant la fermeture de la transaction en fonction du moment et de la compilation, cela me donne un avertissement comme vous le mentionnez, cependant, lorsque j'exécute le code, il ne ferme pas la transaction au moment que j'ai spécifié.

Je ne suis pas trop sûr de ce qui pourrait être l'erreur ici. J'espère que vous pourrez m'éclairer sur l'erreur que je pourrais commettre.

Salutations

Ryan

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

//| Forex TSD - forum forex |

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

#property copyright "R Creation"

#property link "https://www.forex-tsd.com"

//---- paramètres d'entrée

extern double TakeProfit = 200.0 ;

extern double Lots = 0.1 ;

extern double StopLoss = 200.0 ;

extern int PreferredHour_1st = 5 ;

extern int PreferredMinute_1st = 30 ;

int magicNo_1st = 530 ;

extern bool UseCurrSymbol = False ; // on ne sait pas trop à quoi cela sert.....

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

//| fonction d'initialisation de l'expert |

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

int init()

{

//----

//----

return(0) ;

}

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

//| fonction de désinitialisation experte |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| fonction de démarrage expert |

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

datetime newbar ;

double pBid, pAsk ;

int start()

{

if(newbar==Time[0])return(0) ;

sinon newbar=Time[0] ;

int ticket, total ;

if(Bars<100)

{

Print("barres inférieures à 100") ;

return(0) ;

}

if(TakeProfit<10)

{

Print("TakeProfit inférieur à 10") ;

return(0) ; // vérifier TakeProfit

}

double Fast_MA, Slow_MA ;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0) ;

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0) ;

total = OrdersTotal() ; // vérification du nombre total de transactions actuellement ouvertes

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"My EA",magicNo_1st,0,Green) ;

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre BUY ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture de l'ordre BUY : ",GetLastError()) ;

return(0) ;

}

si (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"My EA",magicNo_1st,0,Red) ;

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre SELL ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture de l'ordre VENTE : ",GetLastError()) ;

return(0) ;

}

return(0) ;

}

if(total > 1) //pour fermer les ordres basés sur le timing... pas encore résolu.

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

for (int i=OrdersTotal()-1 ; i>=0 ; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

si (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID) ;

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue) ;

}

if (OrderType()==OP_SELL))

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK) ;

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Red) ;

}

}

}

}

}

}

return(0) ;

}

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

Cette partie

if(newbar==Time[0])return(0) ;

sinon newbar=Time[0] ;

int ticket, total ;

if(Bars<100)

{

Print("barres inférieures à 100") ;

return(0) ;

}

if(TakeProfit<10)

{

Print("TakeProfit inférieur à 10") ;

return(0) ; // vérifier TakeProfit

}

Est-ce que cela empêche l'ea de fermer les ordres à un certain moment si ce n'est pas le premier tick d'une nouvelle barre et si le profit n'est pas > 10 pips.