週末を含むカウントバー

 

2つの点t1、t2があり、その間に25本の小節がある。
D1などのポイント間の出力数を把握し、必要なバーに追加するにはどうしたらよいでしょうか。

 
forex2030:

2つの点t1、t2があり、その間に25本の小節がある。
2つのポイント(例えばD1)の間に何日休みがあったかを知り、必要なバーに追加するにはどうすればよいでしょうか。

(時刻[t2]-時刻[t1])/(24 * 60 * 60) = 暦日数

t2-t1 = 日足バーの本数

ということで、その差=休日数(休日・不可抗力含む)。

 
forex2030:

2つの点t1、t2があり、その間に25本の小節がある。
D1などの2点間の出力数を把握し、必要なバー数に加算するにはどうしたらよいでしょうか。

なぜ "右の棒 "に追加するのか?

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

なぜ「右のバー」に追加するのか?

週末を考慮しない計算のため、線が間違った棒になる


 
Maxim Kuznetsov:

(時刻[t2]-時刻[t1])/(24 * 60 * 60) = 暦日数

こうして期間中の棒グラフの本数を求めたのですが、土日は考慮されていません。

最初のポイントに必要な数のバーを追加すると、線を入れるべき日付が違ってくるんです。
例えば、最初のポイントは5日目+12小節=月の17日で、休日がある場合は21日になるはずです。
あるいは、最初のポイントにチャート上の可視バーを 追加するにはどうすればよいのでしょうか。

 

バータイムでナビゲートしやすくなっていない。

 
Konstantin Nikitin:

バータイムでオリエンテーションをするのは簡単ではないか。

最初のポイントから2番目のポイントまでの12小節の間に4日間の休みがあったことを知るには、12+4を足して、正しい日付を得るにはどうすればよいのでしょうか。

 
forex2030:

こうして期間中の棒グラフの本数を求めたが、週末は考慮していない。

最初のポイントに必要な数のバーを追加すると、線を入れるべき日付がおかしくなるんです。
例えば、最初のポイントは5日+12小節=17日であり、土日を考慮すると21日になるはずです。
あるいは、最初のポイントにチャート上の可視バーを 追加するにはどうすればよいのでしょうか。

日付でラインを設定するのか、バーで設定するのか?

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

行を日付ごとに設定していますか、それともバーごとに設定していますか?

日付で

ObjLine("VLine",Time[j]+PeriodSeconds()*Pp,Price,Lime);

最初のポイントにバーを追加します。

 
forex2030:

日付別

最初のポイントにバーを追加します。

OnTickの冒頭で。

If( LastBottomTime ) LastBottomBar=iBarShift(NULL,0,LastBottomTime);

最後に

if( LastBottomBar < 1 ) LastBottomTime=0; // 最後のフラクタル時間

else LastBottomTime=Time[LastBottomBar]とする。

当然ながら、ラストはすべてグローバルです。
 
Алексей Тарабанов:

OnTickの冒頭で。

if( LastBottomTime ) LastBottomBar=iBarShift(NULL,0,LastBottomTime);

最後に

if( LastBottomBar < 1 ) LastBottomTime=0; // 最後のフラクタル時間

else LastBottomTime=Time[LastBottomBar]とする。

私が理解できないもの、それが私に何を与えてくれるのか?

多分、ポイントからポイントへの日数の列挙のようなもので、もし期間day = 6または0ならday++となります。

理由: