無尽蔵データ読み込み時におけるデータ欠落について。

ファイル:Mujinzou.cs
クラス:internal class MujinzouDataSource : DailyDataSource
メソッド:private Hashtable FillData(int date)
行:93行(if(br!=null &&)の直前に以下の行を追加して無尽蔵のデータを更新してみてください。

//<<-- add for debug
if (br != null && !CheckMarket(br, Util.ParseInt(t[2], 0)) && !br.Obsolete) {
File.AppendAllText(Path.Combine(Env.GetAppDir(), "DownloadError.csv"),
string.Format("無尽蔵,市場不一致,{0},{1},{2},{3},{4}\r\n",
date, br.Code, br.Name, br.Market, line.Replace(",", "\t")), Encoding.Default);
}//-->>

index.txtと市場不一致のために取りこぼされた銘柄がcsvに出力されます。

また、取得先urlを"http://souba-data.com/k_data/"; + d2.ToString(@"yyyy/yy_MM/TyyMMdd")に変更(無尽蔵ページ過去データの取得先)すると複数市場への重複上場のデータがダウンロードされます。
このメソッドに前行のコードを新たな変数にセットして、前行で市場不一致であっても次の行で合致すれば成功と出力するようにコードを変更すれば、大幅に取りこぼしが減るようです。

しかし、これでもマザーズないしジャスダックと東証で市場の入力ミスがあるようで取りこぼしが発生します。
一つの案としては、url変更に加えて3番目の列ではなく最終列の市場名でチェックするようにロジック変更することでかなり防げるような気がしています。
あるいは、エラーの銘柄だけ他のデータソースをチェックしに行くという方法も考えられます。


無尽蔵の場合はデータ更新時間が短いのが利点ですが、このほかにも時々日経平均が更新されないことが原因かもしれませんが、たまにスクリーニング結果でペインが表示されない不具合が出現するような気がしています。