週末を含むカウントバー - ページ 2

 
forex2030:

これが何の役に立つのか理解できないのですが?

多分、ある種のday to pointの列挙で、期間内にday = 6または0ならday++とする。

意味がないんです。マーケットにおけるすべてのチャート(あらゆる種類の)は、単に休みの日がないことを前提に行われています。

 
Алексей Тарабанов:

意味がないんです。市場(どんな市場でも)のすべてのチャートは、単に休みの日がないことを前提に行われます。

日数を循環させることも可能で、例えば最終日が15日で、その後18日が分かれば、+2日(つまり16日と17日の休み)を記憶します。

 
forex2030:

日数を循環させることが可能です。例えば、最後の日付が15で、その後18の日付が判明した場合、+2(つまり週末16と17)を記憶します。

本当にやりたいなら、できるはずです。意味がないんです。

この流れは18日も続く。15から18までが1小節。

 
Алексей Тарабанов:

本当にやりたいなら、できるはずです。意味がないんです。

どこが無意味なんだ?
この値を棒グラフに足すと、12+4=16本の棒グラフができ、最終的に正しい日付の線が立つ。

 
forex2030:

意味がないってどういうこと?
この値を棒グラフに足すと、12+4=16本の棒グラフができ、最終的に目的の日付に線が立つ。

そのセリフは宙に浮いている。

 
Алексей Тарабанов:

ラインは宙に浮きます。

1点目に12小節ではなく16小節を加えると、なぜか宙ぶらりんになってしまう。

 
forex2030:

1点目に12小節ではなく16小節を加えると、なぜ宙に浮いてしまうのか?

おやすみなさい。

 

こういうのが欲しいけど、ちゃんと額装してくれ、あくまで思いつきで

int NumData(datetime data1,datetime data2){
    int num=0;
    for (int d=data1; d>=data2; d--)
    if(TimeDayOfWeek(d)==6 || TimeDayOfWeek(d)==0) num++;
return(num);}
 
この問題を、なぜ解決しないのか?開始日と終了日がわかっているのだから、その間の総日数を数えればいいのだ。そして、全体の週数を数えます。1週間は5日出勤、2日休み、これなら楽ですね。残部(ここでは冒頭とする)のトラブル、週の初日と その期間によって、残部が週末にかかる場合とかからない場合がある。曜日ごとに7つの選択肢のスイッチを書き、始まりの曜日と残りの期間に応じて7つの計算を行う必要があるのです。そして、このスイッチを見れば、この計算がいかに一般化、簡略化できるかがわかるかもしれません。要は、何かをしなければいけないということです。
 
Dmitry Fedoseev:
そして、なぜこの問題を解決しないのか?開始日と終了日がわかっていれば、その間の総日数を計算することができます。そして、全体の週数を数えます。1週間は5日出勤、2日休み、これなら楽ですね。残部(ここでは冒頭とする)のトラブル、週の初日と その期間によって、残部が週末にかかる場合とかからない場合がある。曜日ごとに7つの選択肢のスイッチを書き、始まりの曜日と残りの期間に応じて7つの計算を行う必要があるのです。そして、このスイッチを見れば、この計算がいかに一般化、簡略化できるかがわかるかもしれません。要は、何かをしなければいけないということです。

複雑な、秒単位で日付間の時間(datetime)がある - これは、24時間、各時間に60分、1分に60秒で、全体の日数を計算するのに十分です...助けるためにGoogleの。

ひねくれた数え方ということであれば、こんなやり方もありますよ。

input datetime d_start = D'2020.01.01';
input datetime d_stop  = D'2020.02.01';
//+------------------------------------------------------------------+
void OnStart()
{
   MqlDateTime dts[2];
   TimeToStruct(d_start,dts[0]);
   TimeToStruct(d_stop,dts[1]);
   printf("Между датами %i дней",dts[1].day_of_year - dts[0].day_of_year);
}
//+------------------------------------------------------------------+

ご指摘のように、各バーをカウントして、現在のバーと前のバーの間に休みがあったかどうかを調べることは可能です...一般に、ここでは、タスクを複雑にする可能性によって希望が制限されます ))))