[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 259

 
mais c'est tout.
//+------------------------------------------------------------------+
//|                                                      5 fkkjd.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double      urov_h1_1=1;
.....
extern double      urov_D_4=1;
extern double      urov_D_5=1;

double urov_h1[], urov_h4[], urov_D[];
int svechi_ball, urov_ball, stoh;
int i;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   //*******
   urov_h1[0]= urov_h1_1;   urov_h1[1]= urov_h1_2;   urov_h1[2]= urov_h1_3;   urov_h1[3]= urov_h1_4;
   urov_h1[4]= urov_h1_5;   urov_h1[5]= urov_h1_6;   urov_h1[6]= urov_h1_7;   urov_h1[7]= urov_h1_8;
   urov_h1[8]= urov_h1_9;   urov_h1[9]= urov_h1_10;  urov_h1[10]= urov_h1_11; urov_h1[11]= urov_h1_12;
   urov_h1[12]= urov_h1_13; urov_h1[13]= urov_h1_14; urov_h1[14]= urov_h1_15;
   //*******
   urov_h4[0]= urov_h4_1;   urov_h4[1]= urov_h4_2;   urov_h4[2]= urov_h4_3;   urov_h4[3]= urov_h4_4;
   urov_h4[4]= urov_h4_5;
   //******* 
   urov_D[0]= urov_D_1;   urov_D[1]= urov_D_2;   urov_D[2]= urov_D_3;   urov_D[3]= urov_D_4;
   urov_D[4]= urov_D_5;
   //*******

  //+++++медвежье поглощение++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  for( i=0; i<15; i++)
   {
   if( medvejye_poglochenie( urov_h1[ i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text( svechi_ball, urov_ball);
      }
   }
  /*bool medv_po_h1_1=medvejye_poglochenie(urov_h1_1);
  bool medv_po_h1_2=medvejye_poglochenie(urov_h1_2);
  ............
  bool medv_po_h1_15=medvejye_poglochenie(urov_h1_15);
  //**
   //****стохастик
  double st_2=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,2);    
  double st_1=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,1);    

  if(medv_po_h1_1==true || medv_po_h1_2==true || medv_po_h1_3==true || medv_po_h1_4==true || medv_po_h1_5==true || medv_po_h1_6==true
     || medv_po_h1_7==true || medv_po_h1_8==true || medv_po_h1_9==true || medv_po_h1_10==true || medv_po_h1_11==true || medv_po_h1_12==true
     || medv_po_h1_13==true || medv_po_h1_14==true || medv_po_h1_15==true)
      {
      svechi_ball=4;
      urov_ball=3;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_h4_1==true || medv_po_h4_2==true || medv_po_h4_3==true || medv_po_h4_4==true || medv_po_h4_5==true)
      {
      svechi_ball=4;
      urov_ball=4;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_D_1==true || medv_po_D_2==true || medv_po_D_3==true || medv_po_D_4==true || medv_po_D_5==true)
      {
      svechi_ball=4;
      urov_ball=5;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }*/
  return(0);
  }

pas de

Quelque chose ne va pas dans ce bout de code, et je ne sais pas ce que c'est.

for( i=0; i<15; i++)
   {
   if( medvejye_poglochenie( urov_h1[ i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text( svechi_ball, urov_ball);
      }
   }

Sincèrement.

 
alsu >> :

double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)
Calcul de l'indicateur personnalisé spécifié. L'indicateur personnalisé doit être compilé (fichier avec l'extension EX4) et situé dans le répertoire terminal\experts\indicators.
Paramètres :
symbole - Nom du symbole, sur les données duquel l'indicateur sera calculé. NULL signifie le symbole actuel.
cadre temporel - Période. Peut être l'une des périodes du graphique. 0 signifie la période du graphique actuel.
nom - Nom de l'indicateur personnalisé.
... - Liste des paramètres (si nécessaire). Les paramètres transmis doivent correspondre à l'ordre de déclaration et au type des variables externes (extern) de l'indicateur personnalisé.
mode - Indice de la ligne de l'indicateur. Peut être compris entre 0 et 7 et doit correspondre à l'index, utilisé par l'une des fonctions SetIndexBuffer.
équipe - Index de la valeur obtenue à partir du tampon de l'indicateur (décalage par rapport à la barre actuelle du nombre de périodes en arrière spécifié).
Exemple :


>> aide !

UN GRAND MERCI Je n'aurais jamais trouvé iCustom dans>> MQL4 Reference - Technical Indicators - iCustom (cherché ailleurs, mais pas ici)

Encore un énorme MERCI !

 

Salutations !

J'essaie d'apprendre à MT4 à identifier les barres dont l'amplitude dépasse l'ATR(60) sur le graphique :

extern inttern Quant_Bars=1000 ; // Nombre de barres


int start()
{
int Ind_Bar ;

for(Ind_Bar=Quant_Bars-1 ; Ind_Bar>=0 ; Ind_Bar--)
{
Créer(Ind_Bar) ;
}

retour ;
}
//--------------------------------------------------------------- 3 --
int Create(int Ind_Bar) // Fonction définie par l'utilisateur pour créer un objet

{
Color=Red ; //Couleur de l'objet
datetime T_Bar=Time [Ind_Bar] ; // Heure d'ouverture du bar
double O_Bar=Open [Ind_Bar] ; // Prix d'ouverture de la barre
double C_Bar=Close[Ind_Bar] ; // Prix de clôture d'une barre
double H_Bar=High [Ind_Bar] ; // Prix maximum de la barre
double L_Bar=Low [Ind_Bar] ; // Prix minimum de la barre.
double A= iATR(Symbol(),0,60,Ind_Bar) ;


si((H_Bar-L_Bar)>A)
ObjectCreate("Son_Nom",OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar) ;
retour ;
}

... Pour une raison quelconque, il ne remplit qu'une seule barre (la première à gauche, à mon avis), alors que je devrais avoir tout cela dans les 1000-0 barres. Veuillez indiquer où se trouve l'erreur ?

 

Je n'arrive pas à trouver où connecter les supports... aidez-moi s'il vous plaît !

	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1green!=0 && T2red==0)
	}
	else 
	if( Flat!=0) return(0);
	{
	SigBuy=true;
	}
	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1red!=0 && T2green==0)
	}
	else if( Flat!=0) return(0);
	{	
	SigSell=true;
	}

=>

'}' - unbalanced parentheses
'}' - unbalanced parentheses

 
Ibiss >> :

Je n'arrive pas à trouver où mettre les crochets... aidez-moi s'il vous plaît !

=>

Ce ne sont pas deux parenthèses qui manquent, il n'y a pas de structure du tout :

if(){}else{}//вот так 

if()// или так 
  {}
else
  {}
// и в зависимости от необходимости строите структуру 
if()
  {if(){}else{}}
else
  {if(){}}// простым скопировал вставил 

et ensuite mettre les bonnes conditions et les bons opérateurs dans la structure.

	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1green!=0 && T2red==0)// что это условие должно разрешать ????????????
	}
	else 
	if( Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{
	SigBuy=true;// по какому условию выполняется этот оператор ???????????
	}
	if((( b1+ b1_2)>0) || (( b2+ b2_2)>=0) || (( s1+ s1_2)<0) || (( s2+ s2_2)<=0))
	{
	if( T1red!=0 && T2green==0)// что это условие должно разрешать ????????????
	}
	else if( Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{	
	SigSell=true;// по какому условию выполняется этот оператор ???????????
	}

pppppppp

 
OK. Je vais essayer, merci !
 
Urain >> :

Ce ne sont pas deux parenthèses qui manquent, il n'y a pas de structure du tout :

puis ajoutez les conditions et les opérateurs requis à la structure.

pppppppp


Ça ne marche pas comme ça.

Que dois-je faire correctement pour mon cas ?

if(...........)//если условие выполнилось,то
{
if(T1green!=0 && T2red==0)//и это выполнилось..  ...это типо максд
}
else 
if(Flat!=0) return(0);//это пролетаем, выполняется следующее
{
SigBuy=true;// включение покупки
}
 
Comment mettre des codes de couleur dans mes articles ?
 
Y a-t-il un moyen de faire un graphique en chandeliers de 10 minutes ?
 

Bonjour. S'il vous plaît aidez-moi à refaire le convertisseur de période Opt.

Voici l'essentiel.

Par exemple, nous formons des barres de 8 heures (temps terminal) à partir de barres de 1 heure. Nous obtenons une série : 0, 8, 16, 0 heures, etc.

J'aimerais pouvoir définir un décalage dans le convertisseur. Ce changement peut se faire dans le nombre de barres de la TF sur la base desquelles est formée celle qui est requise. S'il est formé sur la base de 1 heure, alors le décalage sera exprimé en heures... S'il est formé sur la base de 15 minutes, alors l'équipe sera de 15, 30, 45 minutes.....

En outre, l'heure dans le terminal diffère également de "mon" heure de 2 heures. => inconvénient d'aller au terminal à 2h du matin MSC.

Ainsi, lors de la formation de l'image temporelle de 8 heures avec un décalage de +3 (par exemple), nous obtiendrons une nouvelle série : 3, 11, 19, 3, etc. Ou le décalage (-2) donnera : 22, 6, 14, 22, etc. Bien qu'il soit possible de le limiter au plus

compensation.


Le but du décalage est d'empêcher la barre de se former complètement pendant la période de sommeil du trader.


C'est ainsi que je voudrais affiner Period Converter Opt.
Raison: