[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 - 5. - page 112

 
Djon777:
Bonjour à tous. Je ne sais pas où l'écrire, alors je l'écris ici. J'ai besoin d'un indicateur simple, qui ne soit pas difficile à rédiger pour les professionnels locaux. Peut-être que c'est ailleurs, mais la recherche n'a rien donné (+7). Je veux utiliser l'histogramme des croisements avec les barres inférieures et supérieures à zéro, respectivement rouge et vert. J'utilise 7EMA close et 7EMA open. Si vous ne pouvez pas difficile à écrire s'il vous plaît ou le nez si un tel indicateur existe déjà. Je l'utiliserai comme un indicateur et je ne sais pas comment l'utiliser).
Le MACD fait partie de l'ensemble standard des indicateurs MT4.
 
Zhunko:
MACD est inclus dans le jeu d'indicateurs standard de MT4.


Je sais que c'est le cas, mais ce dont j'ai besoin, c'est d'un histogramme comme celui-ci http://savepic.org/2586171.gif.
 
artmedia70:
La discrimination seule... :(
Pour pouvoir "discriminer", il faut d'abord discriminer ! La seule question est qui ? ;)
 

Bonjour !

Je veux utiliser un indicateur personnalisé dans mon EA. J'ai téléchargé l'indicateur, pris son code et l'ai collé dans mon EA. J'ai obtenu une erreur. Si je comprends bien, la fonctionSetIndexBuffer() ne peut être utilisée que dans les indicateurs. Que dois-je faire : la changer en une autre fonction (dans laquelle) ou extraire les données de l'indicateur personnalisé et les insérer dans le code de l'Expert Advisor ?

Je vous serais très reconnaissant de m'aider !

 

Bon après-midi.

J'ai SupDem, je l'ai un peu modifié, j'ai ajouté un tampon d'épaisseur de bande.

J'essaie de trouver ces barres par leur numéro par rapport à la barre 0.

double GetSapDemUP(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=1; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 6, i+1);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}

double GetSapDemDN(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 5, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}
Cela ne fonctionne pas, qu'est-ce que j'ai fait de mal ? Aidez-moi avec le code.
Dossiers :
 

Bonjour !

Chers professionnels, pourriez-vous me conseiller ?

Si le prix dépasse de 50 pips le prix ouvert de cet ordre, l'ordre doit être modifié.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;

double OPEN = OrderOpenPrice() ;
double maximus = OPEN + 0,00500 ;
Alerte ("maximus = ",maximus) ;
double minimus = OPEN - 0,00500 ;
RefreshRates() ;//Rafraîchir les données.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS) ; //Calculer l'heure actuelle au format HH:MM.
si ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;
Lootup = OrderLots () * 0.34 ;
Lootdown = OrderLots () * 0.34 ;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE) ;
Alerte (GetLastError()) ;
Deal_bb = 1 ;
}

Si cela se passe pendant la journée, je suis capable de le faire. Veuillez me conseiller, comment vérifier si le prix d'ouverture + 50 P est contrôlé par le prix de chaque lot, jusqu'à ce qu'il soit fermé dans quelques jours ?

 
berezhnuy:

Bon après-midi.

J'ai SupDem, je l'ai un peu modifié, j'ai ajouté un tampon d'épaisseur de bande.

J'essaie de trouver ces barres par leur numéro par rapport à la 0ème barre.

Je ne le trouve pas, qu'ai-je fait de mal ? code d'aide

C'est ainsi que l'on recherche les prix des extrêmes qui sont dans le tampon 0 et 1 ! !!

Essayez de sortir les valeurs via print ou soment, les tampons 2 et 3, 4 et 5.

exemple :

Comment(iCustom(NULL,0, "SupDem_5z_1", 5, i));

Quelque chose comme ça...

 
Egori4:

Bonjour !

Je veux utiliser un indicateur personnalisé dans mon EA. J'ai téléchargé l'indicateur, pris son code et l'ai collé dans mon EA. J'ai obtenu une erreur. Si je comprends bien, la fonctionSetIndexBuffer() ne peut être utilisée que dans les indicateurs. Que dois-je faire : le changer pour une autre fonction (dans quelle fonction) ou extraire les données d'un indicateur personnalisé et les insérer dans le code du conseiller expert ?

Je vous serais très reconnaissant de votre aide !

Premier d'une série d'articles :


https://www.mql5.com/ru/articles/1456

 
Boneshapper:

Bonjour !

Chers professionnels, pourriez-vous me conseiller ?

Si le prix dépasse de 50 pips le prix ouvert de cet ordre, l'ordre doit être modifié.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;

double OPEN = OrderOpenPrice() ;
double maximus = OPEN + 0,00500 ;
Alerte ("maximus = ",maximus) ;
double minimus = OPEN - 0,00500 ;
RefreshRates() ;//Rafraîchir les données.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS) ; //Calculer l'heure actuelle au format HH:MM.
si ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;
Lootup = OrderLots () * 0.34 ;
Lootdown = OrderLots () * 0.34 ;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE) ;
Alerte (GetLastError()) ;
Deal_bb = 1 ;
}

Si cela se passe pendant la journée, je suis capable de le faire. Veuillez me conseiller, comment vérifier comment établir une condition qui contrôle le prix d'ouverture + 50 P pour chaque lot, jusqu'à sa fermeture dans quelques jours.

Essayez de boucler les positions

for(int i=OrdersTotal()-1; i>=0; i--)
   {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderType()==OP_BUY)
            {
          //ваши действия 
            }
         if(OrderType()==OP_SELL)
            {
          //ваши действия 
            }
       }
   }
 
 
r772ra:

Parcourir les positions

Merci beaucoup, je vais tout essayer maintenant ! Merci !