[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 283

 
tara:

Podrías hacerlo en un diagrama de flujo. Se podría hacer otra cosa, pero de forma muy completa y sin ambigüedades. Para que no te pueda dar una patada por la incoherencia de la idea con su descripción.

No lo haré.

¿Has entrado en el hilo para escribir que no lo harás? ¿Para hacer qué? Sólo para escribir.... ?
 
Para hacerlo yo mismo. Señor, perdóname, pecador
 

Creo que... o bien hay que comprobar el precio hace tiempo, si era correspondientemente más alto (en la fase de baja), algo más a tener en cuenta. La mierda sabe. No tengo ni idea de cómo formalizarlo.

No pido que lo escriban por mí. Sólo pido ayuda para formalizarlo verbalmente...

 

No es algo malo. Me refiero a la codificación, como se dice aquí. Verás, cuando creas un programa serio, creas un mundo que vive según las reglas que has establecido. No es un hecho que tú mismo seas capaz de entender este mundo después de haberlo creado.

Por lo tanto, danos las reglas :)

 
hoz:
¿Nadie ha implementado esto? No creo que sea muy complicado. Es que aún no tengo mucha experiencia, no entiendo muy bien cómo formalizar este punto...

¡Hola Victor! Para abrir Bai debe ser (Ask - ema), ¡comprobar! ¿¡Si lo he entendido bien!?
 

Hola, Boris. Por cierto, lo hice. Ya he publicado el código más arriba, lo duplicaré:

//+-------------------------------------------------------------------------------------+
//| Получение значений МА на указанном баре                                             |
//+-------------------------------------------------------------------------------------+
double GetMA(int index, int maPeriod)
{
   return (iMA(NULL, i_TF, maPeriod, 0, MODE_EMA, MODE_CLOSE, index));
}
//+-------------------------------------------------------------------------------------+
//| Имеет ли место отскок?                                                              |
//+-------------------------------------------------------------------------------------+
void IsRebound(int crossDir[], bool& returnSign[])
{
   for (int i = 0; i < 4; i++)
   {
      if (crossDir[i] == CROSS_NO)
         continue;

      returnSign[i] = false;
      double ema = GetMA(1, g_maPeriod[i]);

      if (crossDir[i] == CROSS_UP)
      {
         if (ND(MathAbs(ema - Ask)) <= i_thresholdFromMa * pt) // ..зазор между ценой покупки и машки, <= i_thresholdFromMa..
         {
            returnSign[i] = true;

     Alert("CROSS_UP");
         }
      }
      if (crossDir[i] == CROSS_DN)
      {
         if (ND(MathAbs(ema - Bid)) <= i_thresholdFromMa * pt) // ..зазор между ценой продажи и машки, <= i_thresholdFromMa..
         {
            returnSign[i] = true;
       Alert("CROSS_DN");
         }
      }
   }
}

Pero por alguna razón no funciona así...

 
hoz:

Hola, Boris. Por cierto, lo hice. Ya he publicado el código más arriba, lo duplicaré:

Pero por alguna razón no funciona así...


¡Pruebe al revés: (Ask - Ema) y optimice estei_thresholdFromMa!
 
borilunad:

Inténtalo al revés: (Pregunta - Ema)

¿Cuál es la diferencia? :)
 
hoz:

¿Cuál es la diferencia? :)

¿Qué debería ser más alto? Si Ask en el caso de Bai, entonces Yema en el caso de Sell. En consecuencia: ¡Si yema en el caso de Bai, entonces Bid en el caso de Sell! Por simetría, lógicamente. No restarás lo mayor de lo menor.
 
borilunad:

¿Cuál debería ser más alta? Si Ask en el caso de Bai, entonces Yema en el caso de Sell. En consecuencia: ¡Si yema en el caso de Bai, entonces Bid en el caso de Sell! Por simetría, lógicamente. No restarás lo mayor de lo menor.
Así que no importa. Estoy devolviendo un valor absoluto, modulo a través de MathAbs...