初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 531

 
Aleksey Lebedev:

ちょっとごちゃごちゃしてますよね。

その人はインジケータを作っていて、インジケータではOnCalculate() から配列を扱わなければならないので、納得がいきません。
 
-Aleks-:

...

失礼 ですが、あなたのコードと私のコードを組み合わせる方法を教えていただけませんか?

古くから伝わる知恵に、「飢えた人を助けたいなら、魚を与えるな釣竿を 与えよ」というのがあります。

何か質問があれば、どうぞ聞いてください。

 
Karputov Vladimir:
その人はインジケータを作っていて、インジケータではOnCalculate()から配列を扱う必要があるので、私は同意しません。
time[0]が必要な場合、宗教上TimeCurrent() を使用することができません。
 
Aleksey Lebedev:

ちょっとごちゃごちゃしてますよね。

また、現在のTFの163バーで何日目かを知るにはどうしたらいいのでしょうか?
 
-Aleks-:
また、現在のTFの163バーが何日目かを知るにはどうすればよいのでしょうか?
time[163]
そのため、インジケータでは、インデックス163を持つバーの開始日を取得することになります。
 
-Aleks-:
また、現在のTFの163バーで何日目かを知るにはどうしたらよいでしょうか?

質問の意味がよくわからないのですが。

int DayN=(time[0]-time[163])/86400;

0 = 今日の

1=昨日、など。


Print(time[163]) またはComment(time[163]) は、日付/時刻を人名で表示します。


を修正しました。

 
Karputov Vladimir:
この方法では、インデックス163を持つバーのオープン日を取得します。

実験を行い、163を投入し、ラインを得た

2016.03.07 18:46:29.062 Start_day GBPUSD,H1: 開始日 2016.02.25 03:00:00。

そして実際には、2016.03.01 00:00:00 という日付が得られるはずだった !

私が得たいものを説明するのが下手なのでしょう、もう一度やらせてください。

現在のTFの各チャートで計算をする必要があります。この計算には、上位TFの日付(日数)を知る必要があります。上にコードを添付しました。アイデアは、各バーで、現在のTFのバーのオープニング時に上位TFの最大 価格を知ることです。

 
Aleksey Lebedev:

質問の意味がよくわからないのですが。

0 = 今日の

1=昨日、など。


Print(time[163]) または Comment(time[163]) は、日付/時刻を人名で表示します。


を修正しました。

四捨五入で必要な秒数を確保する--四捨五入が問題なのだ。
 
-Aleks-:
TimeToStruct()を使用 する。
 
Alexey Kozitsyn:
TimeToStruct()を使用 する。

使い方がわからない。

2番目の値には「MqlDateTime&dt_struct// 値を取るための構造体」が必要ですが、このMqlDateTimeの使い方がよく分かりません。

理由: