Индикатор Разные вопросы - страница 10

 
whroeder1:

Я изменил несколько вещей - надеюсь, что это сработает - я буду уверен в этом в следующий понедельник.

Спасибо за ваше время.

 

Возможно, я не совсем правильно понял ваш комментарий. Извините.
Я попробовал нижеприведенный код - но он не решает мою проблему.

( У меня есть другая идея, которую я скоро попробую - но мне нужно спросить, что я знаю, что не так в этой части кода. Как только вы упомянули мне эту информацию, я решил свою проблему - но теперь я не могу решить эту проблему. )

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

Заранее спасибо.

( Я работаю над этим вопросом - надеюсь, что скоро решу его )

 

Не воскресенье и не понедельник означает, что воскресенье истинно (воскресенье - не понедельник), понедельник также истинен (понедельник - не воскресенье), а все остальные тоже не истинны. Всегда истинно.

Не воскресенье и не понедельник будет работать. После понедельника также работает.

 

Есть кое-что, что я не понимаю правильно.
И я думаю, что этот вопрос влечет за собой дополнительные проблемы.

Что я хочу сделать? - Все просто - я просто хочу, чтобы та часть кода не работала в понедельник.

Мне нужно поискать что-то полезное на форумах здесь или там...

Спасибо за ваше время.

 
Max Enrik:

Я просто хочу, чтобы часть кода не работала в понедельник.

Ваш оригинальный код должен это делать.

Код будет работать только на внутридневном графике, в любой день, кроме понедельника.

Помните, что это:

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

это то же самое, что и this:

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

Поэтому оба условия должны быть выполнены

 
honest_knave:

Ваш оригинальный код должен это сделать.


Возможно, приведенное ниже изображение поможет мне прояснить мою проблему.

Этот код не работает правильно, пока я не изменил таймфрейм, пожалуйста, посмотрите на изображение ниже (только несколько минут назад обнаружил эту разницу).

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

первоначальный выпуск


Первая часть кода в вашем комментарии, которую я все еще использую.

Спасибо за ваш комментарий.

 

Вы можете щелкнуть правой кнопкой мыши на этом и открыть txt-файл журнала, чтобы посмотреть, может ли он быть там, иногда некоторые строки могут быть пропущены.

Иногда может помочь установка sleep(10).

Если вы хотите проверить иначе, вы можете добавить звук воспроизведения, чтобы вы могли услышать, а не увидеть, сработал код или нет.

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

Вы можете щелкнуть правой кнопкой мыши на этом и открыть txt файл журнала, чтобы посмотреть, может ли это быть там, иногда некоторые строки могут быть пропущены.
Иногда может помочь переключение на sleep(10).
Если вы хотите проверить иначе, вы можете добавить звук воспроизведения, чтобы вы могли услышать, а не увидеть, сработал код или нет.

Спасибо за ваш комментарий.

Я просто запутался и мне нужно попробовать еще раз отдельно.

Скоро...

 

Я надеюсь, что мой приведенный ниже пример кода поможет мне, что я более четко объяснил свою проблему.

Q: Есть ли что-нибудь неправильное в моем примере кода, пожалуйста?

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");
     }
  }

(кажется, что нет ничего неправильного - но когда вы попробуете, вы поймете, что я хотел сказать)

Заранее спасибо.

 

Где находится код? Я не вижу никакого кода?

Или вы имеете в виду это:

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

Это правильно согласно документации:

DayOfWeek

Возвращает текущий день недели на основе нуля (0-воскресенье,1,2,3,4,5,6) последнего известного времени сервера.

int  DayOfWeek();

Возвращаемое значение:

Текущий день недели на нулевой основе (0-воскресенье,1,2,3,4,5,6).

Примечание

При тестировании моделируется последнее известное время сервера.


Мы немного говорили об этом ранее.

Вот пример, который я привел, он немного отличается, но я уверен, что вы поняли идею:

      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;
        }