[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 322

 
gyfto:


Me explico con otras palabras: esto es autoformación, soy autodidacta de toda la vida, así que NO sé qué enfoque has adoptado. NO sé lo que es aceptado por ustedes, lo que no lo es.

Bien, volvamos a las velas. Supongamos que tenemos i_AnyBarsToHistory = 30, i_ѕеqceptBarsConnt = 3. Si en una ventana de 30 velas cntUp == i_ѕеԛceptBarsCount y cntDn == i_ѕеԛceptBarsCount una vez, entonces ¿qué debería pasar? ¿O siempre cuenta un solo contador por pasada?

Sí, ¿y por qué salimos del bucle prematuramente antes de llegar a Close[1]?


La conclusión es la siguiente: si el ciclo es de 30 a 3, el cálculo se realiza desde el índice 30 hasta el índice 3, ambos inclusive.

Si en la barra actual se pasa el atributo requerido, añadimos 1 al contador, si se pasa otro atributo requerido, añadimos 1 más al contador. Y así sucesivamente, hasta que nos encontremos con una barra que no cumpla el atributo requerido. Si la barra no cumple con el atributo requerido, el contador se restablece, y luego analizar la situación, es decir, llevar a cabo nuevos cálculos, el ciclo, hasta llegar a la barra con un índice de 3. Simplemente todo.

Espero haberme explicado claramente.

 
hoz:

int signal = GetGeneralSignal();


puede sustituirlo por

   if(GetMa(2)-GetMa(1)<σ) return; else int cross=MathAbs(GetMA(2)-GetMA(1))/(GetMA(2)-GetMA(1));
   for (int i=i_AnyBarsToHistory; i>=1; i--){
                if(cross*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt) cnt++; else cnt=0;
   }
   if(cnt >= i_sequentBarsСount){
                switch(cross+1){
                        case 0: OpenBuy(); break;
                        case 2: OpenSell(); break;
                }
   }

Comprueba si cross=+1 o -1 corresponde a OpenBuy() u OpenSell() (y close-open o open-close). σ Tenemos algún valor infinitesimal asignado aquí, análogo a cero.

tommy27:

Ayuda, no puedo entender cómo hacer que un indicador compare el número de las últimas barras y calcule cuántas de ellas fueron alcistas, cuántas bajistas y cuántas fueron pinbars y quiénes tuvieron qué precios de cierre/apertura, máximos/mínimos y volúmenes?

Tenemos que hacer esto exactamente en el indicador.


Establecer CountedBars a una determinada ventana de velas (por ejemplo, 30), y el ciclo a través de CountedBars con disminución. Alcista o bajista, alcista o bajista, fíjese en la diferencia de dos Close[] adyacentes. Pinbar mira el máximo o el mínimo local, y la desviación de este máximo o mínimo de los valores adyacentes. Si la desviación supera un determinado porcentaje que has especificado, se trata de un pinbar.

 
Buenas tardes. ¿Pueden decirme cómo determinar el cruce de 38,2 en un objeto de arco de Fibonacci?
 

Hola,

¡Felices fiestas a todos!

Tengo un terminal de comercio OEC en la necesidad de un indicador de propagación simple

Tal vez alguien pueda escribir, o al menos ayudarme con algo

Se ve así en mt4

Archivos adjuntos:
 
ADGgeek:

Hola,

¡Felices fiestas a todos!

Tengo un terminal de comercio OEC en la necesidad de un indicador de propagación simple

Tal vez alguien pueda escribir, o al menos ayudarme con algo

Se ve así en mt4


Puedo aconsejarle que pregunte en el Spider. De hecho, sólo puedo citar:

GaryKa:
Añade una descripción de la puntuación y una definición de tus conceptos (por ejemplo, "tu número") yaquí. Y en esta rama sólo ayudar a los que tienen sus propias manos (y luego en el estado de ánimo)

Esto se aplica a todos. No sé cómo usarlo, intentaré comerciar con él.

 

Eso es lo que estaba buscando, ¡gracias Garyka! ¡Felices fiestas pasadas y futuras!

 

¡Felices fiestas a todos!

¿Puedes decirme qué significa el terminal cuando dice uninit reason 5 en la pestaña "expertos"?

Gracias.

 
CYBOPOB:

¡Felices fiestas a todos!

¿Puedes decirme qué significa el terminal cuando dice uninit reason 5 en la pestaña "expertos"?

Gracias.


https://docs.mql4.com/ru/constants/uninit
 
hoz:

Así de simple.


Por lo que he entendido al comparar tu descripción con tu código, son divergentes, porque en tu código la salida anticipada del bucle se produce cuandoi_seqentBarsCont:

hoz:

for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntDn++;
         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)
             cntDn = 0;
                                                                                        
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Open[i] - Close[i] = ", Open[i] - Close[i], "; cntDn = ", cntDn);

         if (cntDn == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BEARS_GOT); //<--
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntUp++;
         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)
             cntUp = 0;
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Close[i] - Open[i] = ", Close[i] - Open[i], "; cntUp = ", cntUp);

         if (cntUp == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BULLS_GOT); //<--
   }
hoz:

Si el ciclo es de 30 a 3, el cálculo va del índice 30 al índice 3, respectivamente, ambos inclusive.

Si la barra no se corresponde con el índice requerido, entonces se pone a cero el contador, y entonces se analiza la situación, es decir, se sigue calculando por el ciclo, hasta llegar a la barra con índice 3.

 
gyfto:


Por lo que he entendido al comparar tu descripción con tu código, hay una discrepancia, porque en tu código hay una salida anticipada del bucle cuandoi_seqentBarstCont:



Entiendo que probablemente necesite tener un contador, que se incrementará después de cada barra calculada y cuando su valor sea igual a i_AnyBarsToHistory, entonces saldrá lo que se ha emitido hasta ese momento.

Voy a lanzar lo que pienso, y voy a escribir de nuevo.