2005-01-16(日) 雨 安静時心拍数 50 [長年日記]
_ 信用買残、信用売残もエクスポートする Omega Chart 用 script
表示銘柄のCSV形式エクスポートでは信用買残、信用売残のデータまでエクスポートできないのでデータをインポートしたいを参考にして日付、始値、安値、高値、終値、出来高、信用買残、信用売残のすべてを CSV ファイルに出力する Ruby スクリプト extract.rb を書いてみました。ruby 1.8.1 (2003-12-25) [i386-cygwin] な環境で作りました。Ruby プログラミングの練習なのでまともなエラー処理はしてません。
参考
#!/usr/bin/env ruby
require 'csv'
class Record
def initialize(record)
@record = record
end
def date
@record[0..3].unpack("I*")
end
def open
@record[4..7].unpack("I*")
end
def high
@record[8..11].unpack("I*")
end
def low
@record[12..15].unpack("I*")
end
def close
@record[16..19].unpack("I*")
end
def volume
@record[20..23].unpack("I*")
end
def cl
@record[24..27].unpack("I*")
end
def cs
@record[28..31].unpack("I*")
end
end
code = ARGV.shift
if code == nil
exit
end
csv = CSV.open("#{code}.csv","w")
csv << ["date", "open", "high", "low", "close", "volume", "cl", "cs"]
File.open("#{code}","rb") {|file|
while l = file.read(32)
r = Record::new(l)
csv << [r.date, r.open, r.high, r.low, r.close, r.volume, r.cl, r.cs]
end
}
csv.close
[ツッコミを入れる]