インジケーターに関する雑多な質問 - ページ 10

 
whroeder1:

私はいくつかの点を変更しました - それが動作することを願って - 私はそれが次の月曜日で確実に知ることになります。

お時間をいただきありがとうございました。

 

多分私はあなたのコメントを正しく理解していなかった。申し訳ありません。
以下のコードを試してみましたが、私の問題を解決することはできませんでした。

(しかし、そのコードの部分で何が間違っているのかを知るために、尋ねる必要があります。しかし、今、私はこの問題を解決することができません。)

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

事前にありがとうございます。

( 私はそれに取り組んでいます - 私はすぐにそれを解決することを願っています)

 

Not Sundayor not Mondayは、日曜日が真で(日曜日は月曜日ではない)、月曜日も真で(月曜日は日曜日ではない)、それ以外はすべてどちらでもないことを意味します。常に真である。

Not Sunday and not Mondayでもいい。After Mondayも成立する。

 

私は正しく理解していない何かがあります。
そして、私はこの問題は、追加の問題をもたらすと思います。

どうすればいいのでしょうか?- 単純なことです。私はただ、コードの一部が月曜日には動作しないようにしたいのです。

何か有用な情報をフォーラムで探す必要があります...。

あなたの時間をありがとうございました。

 
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;
        }
理由: