Aide au codage - page 628

 
annbeea:
Merci

mais je suis assez novice en matière de codage.

puis-je changer si un indicateur mt4 nommé xyz a les paramètres suivants :

extern int A=9 ;

extern int B=14 ;

extern int D = 10 ;

et la partie icustom asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift) ; ?mais je ne comprends pas trop BufferNumber et Shift ? qu'est-ce que cela signifie ? merci

annbee

Consultez ce fil de discussion pour plus de détails : https://www.mql5.com/en/forum/173108

 

salut mladen,

Je crois que j'ai fait quelques erreurs auparavant,

xyz devrait être comme ça :

extern int A=9 ;

extern int B=14 ;

extern double D = 10 ;

question1:et la partie personnalisée asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos) ; est-ce que c'est ok/ correct ? merci

question2:et partie d'icustom asE=iCustom(Null,timeframe, "xyz",A,B,0,pos) ; et si je manque intentionnellement ou par erreur le D dans la phrase d'icustom, est-ce que c'est un travail correct ou est-ce qu'il manque quelque chose dans l'affichage ou le calcul ou est-ce que c'est totalement incorrect ? merci pour les commentaires.

 
annbeea:
Bonjour mladen,

Je pense que j'ai fait quelques erreurs auparavant,

xyz devrait être comme ça :

extern int A=9 ;

extern int B=14 ;

extern double D = 10 ;

question1:et la partie icustom asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos) ; est-ce ok/ correct ? merci

question2:et la partie icustom asE=iCustom(Null,timeframe, "xyz",A,B,0,pos) ; que se passe-t-il si je manque intentionnellement ou par erreur le D dans la phrase icustom, est-ce que cela fonctionne bien ou manque-t-il quelque chose dans l'affichage ou le calcul ou est-ce totalement incorrect ? merci pour vos commentaires.

Si vous omettez un paramètre de la queue de la liste des paramètres, la valeur par défaut pour le paramètre sera utilisée, mais s'il vous plaît lire ce fil pour plus de détails comment est utilisé la fonction iCustom() et quels sont les paramètres exacts pour la fonction iCustom().

 

Salut mladen

mon niveau de codage est très bas parce que je viens d'avoir un apprentissage très brut de l'informatique avant, je veux juste faire quelque chose qui fonctionne pour moi sans codage trop sophiscated, la plupart des choses que je ne suis pas très comprendre même lire le fil ,

parce que je ne comprends même pas la différence entre le concept de double, chaîne, etc.

mais ma question est juste que, il semble que la clé ici est D, donc ma question est : est-ce que : extern int D=10 ou extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos) ; est ce que c'est ok/ correct ?? merci

 
annbeea:

Salut mladen

mon niveau de codage est très bas parce que je viens d'avoir un apprentissage très brut de l'informatique avant, je veux juste faire quelque chose qui fonctionne pour moi sans codage trop sophiscated, la plupart des choses que je ne suis pas très comprendre même lire le fil ,

parce que je ne comprends même pas la différence entre le concept de double, chaîne, etc.

mais ma question est juste que, il semble que la clé ici est D, donc ma question est : est ce que : extern int D=10 ou extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos) ; est ce que c'est ok/ correct ?? merci

anbbeea,

Oui, c'est correct

 

Bonjour Mladen ,

Puis-je savoir si le rayon sur le graphique peut être ajusté à la longueur du côté droit que je veux ?

Comment le modifier ?

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

j'ai essayé de faire apparaître la flèche après la fermeture de la bougie de signal afin d'éviter de repeindre mais sans succès.

s'il vous plaît aidez-moi MR. TOOLS et MLADEN, voici les pièces jointes.
 

mladen & mrtools

J'ai un EA qui s'autodétruit avec des transactions. J'ai besoin d'aide pour construire un Void ou une fonction qui peut être ajoutée à un EA existant. Cette fonction doit traiter :

input bool doBasketExit = true ; // Vérifier les conditions de sortie du panier.
input double BasketTP = 250.0 ; // Prise de profit du panier(devise du compte) La paire du graphique
input double BasketSL = -100.0 ; // Stop Loss du panier (devise du compte) La paire du graphique

J'exécute 9 paires/chartes avec un EA agressif sur le H1 et je veux un panier de trading spécifique à la paire sur chacun des 9 graphiques.
Voici ce qui vient de m'arriver. 9 graphiques en cours d'exécution, 3 graphiques sont en cours d'échange avec, bien sûr, 3 paires distinctes, chacune avec 15 trades, oui 45 trades ouverts, 2 sont en profit et un est en perte. Je cherche un moyen d'additionner chaque groupe/paire des 15 séparément et de comparer chaque groupe à un panier de limites SL & TP. J'ai trouvé une configuration de panier mais elle doit bien sûr être affinée. L'astuce est d'obtenir la même paire additionnée à partir de la colonne Ordre Profit Commerce. En étant sur un graphique avec une paire spécifique, je pensais avoir trouvé un vide mais c'est un peu compliqué. La fonction doit en quelque sorte lire l'OrderProfit par paire ???

Voir mon code comme un mauvais exemple ;

void closeTrades( CURRENCY* &currencies[] ) {
// Vérifier la sortie du panier
if ( doBasketExit ) {
double basketProfit = getBasketProfit() ;
si ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( ( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) ) ) {
closeAll() ;
}
}
double getBasketProfit() {
double basketProfit = 0.0 ;
for (int iOrder=OrdersTotal()-1 ; iOrder >= 0 ; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
basketProfit += OrderProfit() + OrderSwap() + OrderCommission() ;
}
}
}
}
return(basketProfit) ;
}

void closeAll() {
double closePrice ;
string symbolName ;
int résultat ;
for (int iOrder=OrdersTotal()-1 ; iOrder >= 0 ; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol() ;
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK ) ;
result = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 ) ;
}
}



J'apprécie vraiment que vous vous penchiez sur cette question.

Merci
Ray

 
stevenpun:

Bonjour Mladen ,

Puis-je savoir si le rayon sur le graphique peut être ajusté à la longueur du côté droit que je veux ?

Comment modifier ce >

Essayez de faire ce qui suit :

Au lieu de

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

j'ai essayé de faire apparaître la flèche après la fermeture de la bougie de signal afin d'éviter de repeindre mais sans succès.

s'il vous plaît aidez-moi MR. TOOLS et MLADEN, vous trouverez ci-dessous les fichiers joints.

kapoo

Actuellement, les téléchargements ne fonctionnent pas et je ne peux pas voir vos fichiers.

Dès que ces problèmes seront résolus, nous reprendrons. OK ?