Indicador Preguntas varias - página 10

 
whroeder1:

He cambiado algunas cosas - espero que funcione - lo sabré con seguridad el próximo lunes.

Gracias por su tiempo.

 

Tal vez no entendí bien tu comentario. Lo siento.
He probado el código de abajo - pero no resuelve mi problema.

( Tengo otra idea que probaré pronto - pero necesito preguntar que es lo que está mal en esa parte del código. Una vez que me mencionaste esa información, entonces resolví mi problema - pero ahora no puedo resolver mi este problema. )

if( DayOfWeek() != 0 || DayOfWeek() != 1 ) { ... }

Gracias de antemano.

( Estoy trabajando en ello - espero resolverlo pronto )

 

No domingo o no lunes significa que el domingo es verdadero (el domingo no es lunes) y el lunes también es verdadero (el lunes no es domingo) y todos los demás tampoco lo son. Siempre es cierto.

No domingo y no lunes funcionaría. Después del lunes también funcionaría.

 

Hay algo que no entiendo correctamente.
Y creo que este tema trae problemas adicionales.

¿Qué quiero hacer? - Es simple - Sólo quiero que esa parte del código no funcione en el lunes.

Tengo que buscar algo de información útil en los foros de aquí o de allá...

Gracias por su tiempo.

 
Max Enrik:

Sólo quiero que esa parte del código no funcione en el lunes.

Su código original debería hacerlo.

El código sólo se ejecutará en un gráfico intradiario, en cualquier día excepto el lunes

Recuerda que esto

if(Period()<=PERIOD_D1)
  {
   if(DayOfWeek()!=1)
     {
      function1();
      function2();
     }
  }

Es lo mismo que esto:

if(Period()<=PERIOD_D1 && DayOfWeek()!=1)
  {
   function1();
   function2();
  }

Así que ambas condiciones deben ser satisfechas

 
honest_knave:

Su código original debería hacerlo.


Tal vez la imagen de abajo puede ayudarme a aclarar mi problema.

El código de abajo no funciona correctamente antes de que cambie el marco de tiempo, por favor revise la imagen de abajo (acaba de encontrar esa diferencia hace unos minutos).

if(DayOfWeek()==5)
  {
   Print("Friday");
  }

emisión inicial


La primera parte del código en su comentario que todavía lo uso.

Gracias por su comentario.

 

Puedes hacer clic con el botón derecho del ratón y abrir el archivo txt del registro para ver si puede estar ahí, a veces alguna línea puede saltarse.

A veces, poner un sleep(10) puede ayudar.

Si quieres comprobar lo contrario puedes añadir el playsound para que puedas escuchar en lugar de ver si el código se disparó o no.

if(DayOfWeek()==5)
  {
   Print("Friday");
   PlaySound("Alert2.wav");
  }
 
Marco vd Heijden:

Puedes hacer clic con el botón derecho y abrir el archivo txt del registro para ver si puede estar ahí, a veces alguna línea puede saltarse.
A veces poner un sleep(10) puede ayudar.
Si quieres comprobar lo contrario puedes añadir el playsound para que puedas escuchar en lugar de ver si el código se disparó o no.

Gracias por tu comentario.

Acabo de confundirme y tengo que intentarlo una vez más por separado.

Pronto...

 

Espero que mi código de ejemplo pueda ayudarme a explicar más claramente mi problema.

P: ¿Hay algo malo en mi código de ejemplo, por favor?

int OnInit()
  {
   Print("Outside");

   ObjectCreate("Object Outside",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Object Outside",OBJPROP_XDISTANCE,20);
   ObjectSetInteger(0,"Object Outside",OBJPROP_YDISTANCE,20);
   ObjectSetString(0,"Object Outside",OBJPROP_TEXT,"Outside");

   if(DayOfWeek()==5)
     {
      Print("Inside");

      ObjectCreate("Object Inside",OBJ_LABEL,0,0,0);
      ObjectSetInteger(0,"Object Inside",OBJPROP_XDISTANCE,20);
      ObjectSetInteger(0,"Object Inside",OBJPROP_YDISTANCE,40);
      ObjectSetString(0,"Object Inside",OBJPROP_TEXT,"Inside");
     }
  }

( parece que no hay nada malo - pero cuando lo pruebe - verá lo que quiero decir )

Gracias de antemano.

 

¿Dónde está el código? ¿No veo ninguno?

O te refieres a esto:

if(DayOfWeek()==5)
  {
   Print("Friday");
  }

Es correcto según la documentación:

DayOfWeek

Devuelve el día de la semana actual basado en cero (0-Domingo,1,2,3,4,5,6) de la última hora conocida del servidor.

int  DayOfWeek();

Valor devuelto:

Día actual de la semana en base cero (0-Domingo,1,2,3,4,5,6).

Nota

En las pruebas, se modela la última hora conocida del servidor.


Ya habíamos hablado un poco de ello.

Aquí está el ejemplo que había dado es ligeramente diferente, pero estoy seguro de que usted consigue la idea:

      switch(TimeDayOfWeek(TimeCurrent()))
        {
         case 0:// Sunday

            break;

         case 1:// Monday

            break;

         case 2:// Tuesday

            break;

         case 3:// Wednesday

            break;

         case 4:// Thursday

            break;

         case 5:// Friday

            break;

         case 6:// Saturday

            break;
        }
Razón de la queja: