Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 167

 
Comment obtenir Open[] du graphique actuel mais pas de la timeframe actuelle?
 

Bonjour à tous !

Merci à tous ceux qui aident les nouveaux arrivants, sans ménager leur temps, malgré le fait que l'altruisme ait perdu sa valeur de nos jours.

Je demande de l'aide aux utilisateurs du forum. J'ai lu tout le fil de discussion d'Igor, mais je n'ai pas trouvé ce dont j'ai besoin, alors j'ai décidé d'écrire ici.

Et la fonction que je soupçonne n'est pas compliquée et quelque part l'est déjà, mais...

Comment calculer le maximum/minimum de la bougie quotidienne (hebdomadaire, ...) actuelle (précédente, ...) d'une MINUTE(5,15,30,60, ...) BACK?

Je serai très reconnaissant aux professionnels altruistes.

 
KAVrus:

Bonjour à tous !

Merci à tous ceux qui aident les nouveaux arrivants, sans ménager leur temps, malgré le fait que l'altruisme ait perdu sa valeur de nos jours.

Je demande l'aide des utilisateurs du forum, j'ai lu tout le fil Igor, mais je n'ai pas trouvé ce dont j'ai besoin, alors j'ai décidé d'écrire ici.

Je soupçonne que la fonction n'est pas compliquée et qu'elle existe déjà quelque part, mais...

Comment calculer le maximum/minimum de la bougie quotidienne (hebdomadaire, ...) actuelle (précédente, ...) d'une MINUTE(5,15,30,60, ...) BACK?

Je serai très reconnaissant aux professionnels altruistes.


:)))- c'est drôle.

Lisez la suite - vous y trouverez beaucoup de choses intéressantes. :)))

 
boing9267:
Comment obtenir l'Open[] du graphique actuel mais pas de la timeframe actuelle?
iOpen().
 
TarasBY:

:)))-)) - m'a fait rire.

Lisez la suite - vous y trouverez beaucoup de choses intéressantes. :)))


C'est un péché de se moquer de .....))))


Je l'ai lu... "Les volumes d'autres échéances ne sont pas modélisés"

J'ai dû mal formuler le sens de la question alors... Je vais essayer de le simplifier :

Comment calculer le maximum/minimum de la bougie actuelle une MINUTE PLUS TARD?

 
TarasBY:
iOpen().


Merci.
 
KAVrus:

C'est un péché de se moquer de .....))))


Lire... "Les volumes d'autres périodes ne sont pas simulés"

J'ai dû mal formuler le sens de la question alors... Je vais essayer de le simplifier :

Comment calculer le maximum/minimum de la bougie quotidienne actuelle une MINUTE PLUS TARD?

Il est plus facile de rire que de lire (et encore moins de "creuser")... :)))

Essayons de résoudre le problème en code :

    //---- Находим последний расчётный бар на нужном нам тамфрейме
    int li_Shift = iBarShift (Symbol(), PERIOD_M1, iTime (Sumbol(), PERIOD_D1, 0)),
        //---- Ищем на нужном промежутке номер бара с High
        li_Bar = iHighest (Symbol(), PERIOD_M1, MODE_HIGH, li_Shift, 1);
    //---- Получаем значение High
    double ld_HIGH = iHigh (Symbol(), PERIOD_M1, li_Bar);

Dans l'image et la similitude avec le minimum, vous pouvez le gérer ! ;)

P.S. Puisque dans l'historique des prix nous avons une discrétisation avec une taille minimale de 1 minute, il est correct de dire non pas "il y a une minute", mais "sans compter la dernière minute".

 
TarasBY:

Il est plus facile de rire que de lire (et encore moins de "rentrer" dedans)... :)))

J'essaie de résoudre le problème en code :

A votre image, pouvez-vous gérer le minimum ? ! ;)

P.S. Puisque dans l'historique des prix nous avons une discrétisation, dont le minimum est 1 minute, il est correct de dire non pas "il y a une minute", mais "sans compter la dernière minute".


Merci ! !!
 
Bonjour les gars, s'il vous plaît aider avec l'indicateur sAccelerator.mq4. Je veux faire une alerte lorsque la ligne 0 est franchie, et l'alerte de coloration à supprimer, il ne fonctionne pas, et en mql franchement je ne comprends pas.
//+------------------------------------------------------------------+
//|                                                 sAccelerator.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2005, MetaQuotes Software Corp."
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Black
#property  indicator_color2  Lime
#property  indicator_color3  Red
//---- indicator buffers
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double ExtBuffer3[];
double ExtBuffer4[];
// Номер бара, по которому будет искаться сигнал
#define SIGNAL_BAR 1
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(5);
//---- drawing settings
   SetIndexStyle(0, DRAW_NONE);
   SetIndexStyle(1, DRAW_HISTOGRAM);
   SetIndexStyle(2, DRAW_HISTOGRAM);
   IndicatorDigits(Digits + 2);
   SetIndexDrawBegin(0, 38);
   SetIndexDrawBegin(1, 38);
   SetIndexDrawBegin(2, 38);
//---- 4 indicator buffers mapping
   SetIndexBuffer(0, ExtBuffer0);
   SetIndexBuffer(1, ExtBuffer1);
   SetIndexBuffer(2, ExtBuffer2);
   SetIndexBuffer(3, ExtBuffer3);
   SetIndexBuffer(4, ExtBuffer4);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("sAC");
   SetIndexLabel(1, NULL);
   SetIndexLabel(2, NULL);
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Accelerator/Decelerator Oscillator                               |
//+------------------------------------------------------------------+
int start()
  {
   int    limit;
   int    counted_bars = IndicatorCounted();
   double prev, current;
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--;
   limit = Bars - counted_bars;
//---- macd counted in the 1-st additional buffer
   for(int i = 0; i < limit; i++)
       ExtBuffer3[i] = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_MEDIAN, i) - 
                       iMA(NULL, 0, 34, 0, MODE_SMA, PRICE_MEDIAN, i);
//---- signal line counted in the 2-nd additional buffer
   for(i = 0; i < limit; i++)
       ExtBuffer4[i] = iMAOnArray(ExtBuffer3, Bars, 5, 0, MODE_SMA, i);
//---- dispatch values between 2 buffers
   bool up = true;
   for(i = limit - 1; i >= 0; i--)
     {
       current = ExtBuffer3[i] - ExtBuffer4[i];
       prev = ExtBuffer3[i+1] - ExtBuffer4[i+1];
       if(current > prev) 
           up = true;
       if(current < prev) 
           up = false;
       if(!up)
         {
           ExtBuffer2[i] = current;
           ExtBuffer1[i] = 0.0;
         }
       else
         {
           ExtBuffer1[i] = current;
           ExtBuffer2[i] = 0.0;
         }
       ExtBuffer0[i] = current;
     }
//---- done
    //---- Статические переменные, в которых хранятся
    //---- время последнего бара и направление последнего сигнала
    static int PrevSignal = 0, PrevTime = 0;
 
    //---- Если баром для анализа выбран не 0-й, нам нет смысла проверять сигнал
    //---- несколько раз. Если не начался новый бар, выходим.
    if(SIGNAL_BAR > 0 && Time[0] <= PrevTime ) 
        return(0);
    //---- Отмечаем, что этот бар проверен
    PrevTime = Time[0];
          if(PrevSignal <= 0)
      {
        if(MainBuffer[SIGNAL_BAR] - 0.0 > 0 && 
           0.0 - MainBuffer[SIGNAL_BAR+1] >= 0)
          {
            PrevSignal = 1;
            Alert("sAC (", Symbol(), ", ", Period(), ")  -  BUY!!!");
          }
      }
    if(PrevSignal >= 0)
      {
        if(0.0 - MainBuffer[SIGNAL_BAR] > 0 && 
           MainBuffer[SIGNAL_BAR+1] - 0.0 >= 0)
          {
            PrevSignal = -1;
            Alert("sAC (", Symbol(), ", ", Period(), ")  -  SELL!!!");
          }
      } 
   return(0);
  }
//+------------------------------------------------------------------+

 

Messieurs, veuillez m'indiquer comment trouver la moyenne des ticks dans une barre. Je suppose ce qui suit :

Moyenne[i] = (quantité totale de ticks de la barre[i])/Volume[i] ; Comment trouver la quantité totale de ticks de la barre souhaitée ?