[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 311

 
chief2000:

- ファイル内の配列の要素数を調べることは可能ですか?この場合、一般的にどのようにすれば不必要なアクションを回避できるのでしょうか?


FileSize(handle)÷要素サイズ=要素数?
 
Figar0:

FileSize(ハンドル)÷アイテムサイズ=アイテム数?

これは思い込みなのでしょうか?

バイナリファイル内の項目のサイズを知るには?もしかしたら、その一部は素子以外にも占拠されているのでは?

 
chief2000:

countを高くしすぎると、null値が大量に出る(よね?)

ドキュメントにはこう書かれているようです。

Функция возвращает количество фактически прочитанных элементов.
 
chief2000:

これは思い込みなのでしょうか?

バイナリファイル内の項目のサイズを知るには?もしかしたら、その一部は元素以外でも占拠されているのでは?


項目の大きさは、そこに何を書くかによって、4か8かのどちらかになります。 あなたの書き方はどのようなものですか?
 
Roger:

ドキュメントにはこう書かれているようです。

ファイルの要素数が1000でcount=20の場合、実際には20を読み込むことになります。

しかし、count=5000の場合はどうなるのでしょうか?

データを読み込む前に、配列が十分な大きさでなければならない」という意味がよくわかりません。すべての要素を要素の数だけ配列に読み込んで、必要なら配列を切り詰めるなどした方が簡単でしょう。

 
Figar0:

項目の大きさは、そこに何を書くかによって、4か8かのどちらかになります。 あなたの書き方はどのようなものですか?

使っています(書くことと読むことは独立した2つのステップです)。

 FileWriteArray( int handle, object array[], int start, int count) 
 
chief2000:

使っています(書くことと読むことは独立した2つのステップです)。


intFileWriteArray() int handle, オブジェクト array[], int start, int count)

この関数は,配列をバイナリファイルに書き込みます.int, bool, datetime, color などの配列は次のように書きます。 4 バイト の整数値です。double 型の配列は浮動小数点数で記述される。 8バイト 浮動小数点数

必要なことを概説しました。ファイルにdoubleの配列が書き込まれた場合、ファイルサイズを8で割ると、ファイル内の配列の要素 数が分かります。

 
Figar0:

intFileWriteArray() int handle, オブジェクト array[], int start, int count)

この関数は,配列をバイナリファイルに書き込みます.int, bool, datetime, color などの配列は、要素ごとに次のように記述します。 4 バイト の整数値です。double 型の配列は浮動小数点数で記述される。 8バイト 浮動小数点数

必要な情報をハイライト表示しました。配列ダブルがファイルに書き込まれた場合、ファイルサイズを8で割ると、ファイル内の配列要素数が分かります。

保存したファイルをテキストビューアで開くと、このようになります。

50個くらいの要素があるように見えますが(それくらいはあるはず)、サイズは2432バイトです。どうやら「空白」を保存しているようです。

 
皆さん、こんにちは。アドバイスをお願いします。別ウィンドウのインジケータでMQL4を使用して、ヒストグラムをゼロからではなく、指定した値から描画するにはどうしたらよいですか?Ishimokuインジケータで、他のタイムフレームの値を別ウィンドウで描画したいのですが。
 
chief2000: どうやら「空白」を保存しているようです。
奇跡は起きない。