[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 148

 
eddy:

donc je veux créer un objet en bleu)

sergeev, doncindicator_color1 est une variable de couleur ?

int init() {
   IndicatorBuffers(2);
   SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, 3);
   SetIndexArrow(0, 108);
   SetIndexBuffer(0, g_ibuf_96);
   SetIndexBuffer(1, g_ibuf_100);
   SetIndexEmptyValue(0, 0.0);
   ArraySetAsSeries(g_ibuf_96, TRUE);
   ArraySetAsSeries(g_ibuf_100, TRUE);
   IndicatorShortName("ZigZag(" + ExtDepth + "," + ExtDeviation + "," + ExtBackstep + ")");
   return (0);
}
voici les cercles
 
alsu:

nooooooon.

Supposons que nous ayons un indicateur qui dessine une ligne. Supposons que nous voulions dessiner un cercle avec cet indicateur. Mais nous voulons qu'il soit vert si la ligne de l'indicateur est verte, et rouge si elle est rouge.

:)) alors quel est le problème ?
 
N'ignorez pas la demande ! !! S'il vous plaît.
 
Luteciy:
N'ignorez pas la demande ! !! S'il vous plaît.
il m'a semblé que votre demande n'avait rien à voir avec ce fil de discussion. Si vous voulez que quelqu'un d'autre écrive le code pour le TOR spécifié à votre place, allez sur https://www.mql5.com/ru/job.
 
Merci.
 

Des gens bien !

Je sais que la situation est idiote, mais je ne peux pas m'en empêcher. Je n'arrive pas à me lier d'amitié avec la fonction "OrderSelect".

Mon TCP ne nécessite qu'un seul ordre ouvert. Veuillez me transmettre l'algorithme de fermeture de l'ordre dans le cas suivant :

Si le nombre d'ordres au marché = 1, qu'il s'agit d'un ordre d'achat et que la condition 1 est remplie (je vais l'insérer moi-même), alors

le fermer au prix actuel.

et s'il s'agit d'un ordre de vente et que la condition 2 est remplie (je vais également l'insérer moi-même) alors

nous le clôturons au prix actuel.

Encore une fois, le programme ne peut ouvrir qu'une seule commande - nous ne devons pas la chercher parmi des milliers de commandes !

Merci.

 
trouvez un script ou une fonction pour fermer le(s) ordre(s) et insérez vos conditions
 
Vous pouvez créer des fonctions avec des paramètres facultatifs, pouvez-vous faire une fonction qui renvoie la somme des valeurs qui lui sont passées, de sorte que leur nombre est illimité, ou du moins limité, mais grand).
 
//+------------------------------------------------------------------+
//|// Проверка смены тренда                                            |
//+------------------------------------------------------------------+
bool TrendChange(int Period_MAb,int Period_MAm,int shPer)
{
  int i;
bool TrendCh[i];
  for (int i=0; i<shPer; i++) {       
         double MAbSh[i]=iMA(NULL,0,Period_MAb,0,MODE_EMA,PRICE_WEIGHTED,i); // 
         double MAmSh[i]=iMA(NULL,0,Period_MAm,0,MODE_EMA,PRICE_WEIGHTED,i); 
   if ((MAbSh[0]>MAmSh[0] && MAbSh[i]>MAmSh[i]) ||(MAbSh[0]<MAmSh[0] && MAbSh[i]<MAmSh[i]))
      TrendCh[i]=true; 
   else TrendCh[i]=false;
//   if TrendCh[i-1]==TrendCh[i]
   return (true);
return (false);   
}
//+------------------------------------------------------------------+

Est-ce que quelqu'un a rencontré le problème du drapeau de changement de tendance à deux MA... ? Je suis arrivé à ce point et je suis resté coincé...

Des conseils, s'il vous plaît ! L'idée est d'écrire vrai dans le tableau [bar shift] quand MA1> MA2 est fait. Ensuite, si tout le tableau est vrai - alors le drapeau est vrai.

 
100yan:

Est-ce que quelqu'un a rencontré le problème du drapeau de changement de tendance à deux MA... ? Je suis arrivé à ce point et je suis resté coincé...

Des conseils, s'il vous plaît ! L'idée est d'écrire vrai quand MA1> MA2 est fait dans le tableau [bar shift] . puis si le tableau entier est vrai - alors le drapeau est vrai.


bool TrendChange(string smb, int tf, int Period_MAb, int Period_MAm, int nB)
{
  for (int i=0; i<nB; i++) 
  {
     double maB=iMA(smb, tf, Period_MAb, 0, MODE_EMA, PRICE_WEIGHTED, i);
     double maM=iMA(smb, tf, Period_MAm, 0, MODE_EMA, PRICE_WEIGHTED, i); 
     if (maA<maB) return(false);
  }
  return(true);   
}


//apprendre à former le code