会則
@OmegaChartはサポートを終了しています。
ご自身でコンパイルできない方は、他のソフトを利用して下さい。
A連投で初歩的な質問をする人やクレクレ君は、立ち入り禁止。
●公式サイト
OmegaChart公式HP(閉鎖)
ttp://www.omegachart.org/
OmegaChart公式HPのアーカイブ(消滅)
ttp://web.archive.org/web/20131010105520/http://www.omegachart.org/
メーリングリスト(2014年5月28日で終了)
ttp://groups.yahoo.co.jp/group/omegachart/
作者Blog(サポート終了)
ttp://okajima.air-nifty.com/
●有志による維持活動
panacoran氏のサイト
ttp://sourceforge.jp/users/panacoran/pf/OmegaChart/wiki/FrontPage
●前スレ
OmegaChartスレ ver.10
https://egg.5ch.net/test/read.cgi/software/1488866170/
探検
OmegaChartスレ ver.11
■ このスレッドは過去ログ倉庫に格納されています
2018/10/12(金) 16:06:42.77ID:xz6O6ruA0
2019/05/21(火) 08:00:43.15ID:oZtuh7BJ0
あらしは相手にしないのが一番だよ
2019/05/23(木) 10:02:00.69ID:5lrsXZPt0
為替、ダウ、ナスダック、S&P、業種別指数の取得をできるようにしたい・・・
529名無しさん@お腹いっぱい。
2019/05/23(木) 18:07:57.63ID:+XyRh2vK0 もうすんだ話だが
2019/05/23(木) 21:02:49.83ID:Gu7DGEPG0
というか東証の市場区分見直しがどうなるかのほうが気になるな
531名無しさん@お腹いっぱい。
2019/05/23(木) 22:18:47.50ID:mca4V2dz02019/05/24(金) 22:02:36.07ID:YC6zqLRt0
>>531
結局、コードのどこを修正すればいいんでしょうか?
結局、コードのどこを修正すればいいんでしょうか?
2019/05/25(土) 06:27:52.34ID:oQhxrstc0
「条件付きコンパイル シンボル」を空欄にしてもビルド失敗するんですよね
で、諦めたと。
で、諦めたと。
534名無しさん@お腹いっぱい。
2019/05/25(土) 12:19:08.33ID:ffdZPmCo0 DreamVisor終了対応を作ってくれた方
大変お世話になっております。
DownloadOrder.cs
DataSource.cs
KenMille.cs
Yahoo.cs
これらを最新版8b0b2d2cに書き換えても
どうもその後KenMille、Yahoo等で構文
エラーメッセージ等が出てビルト出来ません。
それとYahoo側に変更があるとも言われています
のでどうぞ最新版再度アップデートお願い致します。
すいませんよろしくお願いいたします。
大変お世話になっております。
DownloadOrder.cs
DataSource.cs
KenMille.cs
Yahoo.cs
これらを最新版8b0b2d2cに書き換えても
どうもその後KenMille、Yahoo等で構文
エラーメッセージ等が出てビルト出来ません。
それとYahoo側に変更があるとも言われています
のでどうぞ最新版再度アップデートお願い致します。
すいませんよろしくお願いいたします。
2019/05/25(土) 13:55:29.11ID:KTMtmVvI0
>>533
そんなことはとっくにやってる。
自分が言っているのはビルドに失敗するという話ではなくて、米インデックスと為替がダウンロードできないって話。
dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。
そんなことはとっくにやってる。
自分が言っているのはビルドに失敗するという話ではなくて、米インデックスと為替がダウンロードできないって話。
dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。
2019/05/25(土) 14:47:46.10ID:KTMtmVvI0
>dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。 X
dreamvisor終了後は日経とtopixしかダウンロードできなくなったから困ってる。 〇
一応、CSV2Omegaで自分でメモ帳とかを使って新しいデータを加えていけば対応できるにはできるんだけど、当然めんどくさいわけだから今までのように自動的にダウンロードできればいいんだけど。
どうやら結構大幅なソースの変更をしないとできないらしい。
dreamvisor終了後は日経とtopixしかダウンロードできなくなったから困ってる。 〇
一応、CSV2Omegaで自分でメモ帳とかを使って新しいデータを加えていけば対応できるにはできるんだけど、当然めんどくさいわけだから今までのように自動的にダウンロードできればいいんだけど。
どうやら結構大幅なソースの変更をしないとできないらしい。
2019/05/25(土) 15:56:38.96ID:K73P05yj0
最新版作るように促すのは作者さんに負担かけすぎじゃない
たまたま作ってくれたらありがたく利用させていただくくらいで考えておかないと・・・
たまたま作ってくれたらありがたく利用させていただくくらいで考えておかないと・・・
538名無しさん@お腹いっぱい。
2019/05/25(土) 16:08:37.70ID:NSnwtieW0 もう十分対応してもらった そろそろ限界 自分でなんとかしなきゃ
2019/05/25(土) 16:31:20.65ID:KTMtmVvI0
そういえばomegachartの作者である岡嶋大介氏のタクティコっていうのがあるけど、そのツールを提供しているラガルト・テクノロジーはもう個人向けにビジネスをやってるわけではないようだね。
ホームページを見ても終了してる感じになっている。
ホームページを見ても終了してる感じになっている。
540名無しさん@お腹いっぱい。
2019/05/25(土) 16:39:59.85ID:PEZ+LPyg0 他の人に頼んでもバージョン変更あるいはサイトのソース変更等でまた使えなくなると同じ事を繰り返します。
>>106 でpanacoranさんが「取り込むべきものを指示してもらえれば取り込みます」と書いています。
Protraでも必要であれば対応してくれるかもしれません。
自分でソースの修正ができなければお願いしてみては?
omegachartuserさんは「株価がなぜか置いてあるサイト」でデータも配信していた人だと思いますから、何か事情があったのかもしれません。
>>106 でpanacoranさんが「取り込むべきものを指示してもらえれば取り込みます」と書いています。
Protraでも必要であれば対応してくれるかもしれません。
自分でソースの修正ができなければお願いしてみては?
omegachartuserさんは「株価がなぜか置いてあるサイト」でデータも配信していた人だと思いますから、何か事情があったのかもしれません。
541名無しさん@お腹いっぱい。
2019/05/25(土) 17:13:23.86ID:v0x5ULVG0 >>532
VBAで四本足をOmegaのバイナリーに直すという奴
ネット上にあるstooqその他情報源はフォーマットがバラバラなので
Omega修正は面倒らしいよ。だからこのスレに載らないのだと思う
VBAさえわかれば、かなりの時系列の指数が取り込める
ただ、データ元のフォーマットが変わるといちいち書き換えがいるので
だんだん面倒になる。無くても投資に実害はないと言えば身もふたもないが
VBAで四本足をOmegaのバイナリーに直すという奴
ネット上にあるstooqその他情報源はフォーマットがバラバラなので
Omega修正は面倒らしいよ。だからこのスレに載らないのだと思う
VBAさえわかれば、かなりの時系列の指数が取り込める
ただ、データ元のフォーマットが変わるといちいち書き換えがいるので
だんだん面倒になる。無くても投資に実害はないと言えば身もふたもないが
2019/05/25(土) 18:52:01.66ID:KTMtmVvI0
panacoranさんはたまにこのスレにも来るようだから、米株指数と為替の取得に対応してもらえると一番いいんだけどね。
yahooファイナンスのページを見てみると、ダウ等の株価指数は時系列データが無いし、証券コードが数字じゃなくて?code=^DJIになっているから、恐らくyahooから取得することはできないのだろうね。
無尽蔵の方には「海外主要株価データー」というのはあるけど為替の方は無いし、edatalabの方にも多分置いてないんだろう。
>>541
個人的には個別株はもうやってなくて、インデックス系に集中しているから無いと実害があるんだよね。
yahooファイナンスのページを見てみると、ダウ等の株価指数は時系列データが無いし、証券コードが数字じゃなくて?code=^DJIになっているから、恐らくyahooから取得することはできないのだろうね。
無尽蔵の方には「海外主要株価データー」というのはあるけど為替の方は無いし、edatalabの方にも多分置いてないんだろう。
>>541
個人的には個別株はもうやってなくて、インデックス系に集中しているから無いと実害があるんだよね。
543名無しさん@お腹いっぱい。
2019/05/25(土) 19:30:14.98ID:PEZ+LPyg0 海外指標や為替はclose時間が個別株と違うため、自分は朝にウェブで確認する程度ですが、OmegaChartで絶対必要とまで思っている人は多いのでしょうかね。
>>542 実害があるのであれば、まずご自身で何とかするのがいいと思います。
omegachartuserさん「DreamVisor終了対応」のソースをちょっと覗いてみた限りでは、301-303はUsYahooから、201,202はYahooからデータを取得しようとしているように思えます。
自分は試しているわけではないので実際にデータ更新できるかはわかりませんが、
どうしても自動ダウンロードをしたいのであれば、ブレークポイント等を活用してご自身でデバッグを繰り返してビルド可能になるよう修正してみてはどうでしょう。
Omega本体のバージョンをダウングレードして試すのもいいかもしれません。
>>542 実害があるのであれば、まずご自身で何とかするのがいいと思います。
omegachartuserさん「DreamVisor終了対応」のソースをちょっと覗いてみた限りでは、301-303はUsYahooから、201,202はYahooからデータを取得しようとしているように思えます。
自分は試しているわけではないので実際にデータ更新できるかはわかりませんが、
どうしても自動ダウンロードをしたいのであれば、ブレークポイント等を活用してご自身でデバッグを繰り返してビルド可能になるよう修正してみてはどうでしょう。
Omega本体のバージョンをダウングレードして試すのもいいかもしれません。
2019/05/25(土) 21:35:27.12ID:KTMtmVvI0
>>543
ありがとうございます。そのソースコードを検証してみます。
ありがとうございます。そのソースコードを検証してみます。
545名無しさん@お腹いっぱい。
2019/05/26(日) 02:37:11.14ID:oCn4TG5n0 >>542
ETFに世界の指標や金穀物等商品連動ありで
探せば特別な苦労無しに有益情報を得られる
投資対象が指数連動限定ならそれをウォッチすればいいと思う
index.txtを一覧と見立ててお気に入りにとりこんでみては?
ETFに世界の指標や金穀物等商品連動ありで
探せば特別な苦労無しに有益情報を得られる
投資対象が指数連動限定ならそれをウォッチすればいいと思う
index.txtを一覧と見立ててお気に入りにとりこんでみては?
546名無しさん@お腹いっぱい。
2019/05/26(日) 02:40:54.53ID:oCn4TG5n0 日経ならむしろ日経225貢献度の高い銘柄上位が監視銘柄
ファトリ・ソフバン等
ファトリ・ソフバン等
547名無しさん@お腹いっぱい。
2019/05/26(日) 06:48:08.46ID:ITiyeXI/0 自分はYahoo.csを移植してマルタンから主要指数類を取得していて海外指数はUSYahooから取れる様にしたが
それをさらすのは問題が起きそうなので止めておくが簡単に為替や海外指数を取得するにはケンミレを使えば良い
KenMille.csの以下の所とdownloadorder.csを修正すればOK
private static int MarketTypeToFileName(BuiltInIndex m) {
switch(m) { 以下を以下のコードを当てはめていけば解決できるはず
0200:NYダウ(アメリカ), 0203:FT100(イギリス), 0204:DAX(ドイツ), 0300:ハンセン(香港), 0305:上海総合(中国)
0499:ドル/円, 0502:ユーロ/ドル, 0600:WTI原油, 0604: 金中心限月COMEX, 0605:CRB商品指数
他にもあるよ
それをさらすのは問題が起きそうなので止めておくが簡単に為替や海外指数を取得するにはケンミレを使えば良い
KenMille.csの以下の所とdownloadorder.csを修正すればOK
private static int MarketTypeToFileName(BuiltInIndex m) {
switch(m) { 以下を以下のコードを当てはめていけば解決できるはず
0200:NYダウ(アメリカ), 0203:FT100(イギリス), 0204:DAX(ドイツ), 0300:ハンセン(香港), 0305:上海総合(中国)
0499:ドル/円, 0502:ユーロ/ドル, 0600:WTI原油, 0604: 金中心限月COMEX, 0605:CRB商品指数
他にもあるよ
548名無しさん@お腹いっぱい。
2019/05/26(日) 09:08:05.25ID:izNMaCME0 昔はUsYahooから世界の指標を毎朝自動更新してindex.txtもどきのuser.txtに指標を追加して利用していたが、数年前にページレイアウトが変わりダウンロードもできなくなったことがあったのでやめてしまっていた。
最近見たところ、日本株も時系列が取得できるようになっているようだ。
しかもcsvで、ページ変更せずに一度に長期データを取得できる。
利用規約やスクレイピングに関する利用制限などの記載がどこかにあるかはよくわからない。
最近見たところ、日本株も時系列が取得できるようになっているようだ。
しかもcsvで、ページ変更せずに一度に長期データを取得できる。
利用規約やスクレイピングに関する利用制限などの記載がどこかにあるかはよくわからない。
2019/05/26(日) 10:18:07.86ID:iCMgYIjC0
550名無しさん@お腹いっぱい。
2019/05/26(日) 10:52:50.14ID:izNMaCME0 >>549
自分で他人に頼るな
自分で他人に頼るな
551名無しさん@お腹いっぱい。
2019/05/26(日) 22:08:13.94ID:oCn4TG5n02019/05/26(日) 22:25:55.60ID:iCMgYIjC0
>>547
downloadorder.csの方がどこをいじっていいのか分かりません。
ただ34行、39行、173行にkenmilleを追加しても駄目ですよね?
ちょっとやってみた感じでは_dateArrayでエラーが出てしまう。。
downloadorder.csの方がどこをいじっていいのか分かりません。
ただ34行、39行、173行にkenmilleを追加しても駄目ですよね?
ちょっとやってみた感じでは_dateArrayでエラーが出てしまう。。
553名無しさん@お腹いっぱい。
2019/05/26(日) 23:56:07.09ID:oCn4TG5n0554名無しさん@お腹いっぱい。
2019/05/27(月) 05:57:36.36ID:lgAzcOdb0 >>552
omegachartuser さんのDreamvisor対応に従ってkenmileを書き換える必要もありますよ
omegachartuser さんのDreamvisor対応に従ってkenmileを書き換える必要もありますよ
2019/05/27(月) 22:10:42.67ID:FNUMSzvy0
>>554
やってみたのですが、yahoo.csの347行で「変数 'skip' は割り当てられていますが、その値は使用されていません。」という警告が出てしまいます。
downloadorder.csの方は問題ないようです。
やってみたのですが、yahoo.csの347行で「変数 'skip' は割り当てられていますが、その値は使用されていません。」という警告が出てしまいます。
downloadorder.csの方は問題ないようです。
2019/05/27(月) 23:02:11.69ID:FNUMSzvy0
最初からやり直してみるとDownloadOrder.csで VariousEnumerator という部分でエラーが出てしまいます。
2019/05/27(月) 23:28:10.08ID:FNUMSzvy0
どうやらVariousの部分を何かに書き換えるということらしいけど、よくわからん。。
558名無しさん@お腹いっぱい。
2019/05/28(火) 06:09:54.28ID:V9f0ISw+0 そういうメッセージが出るのは DreamVisor終了対応に沿ってきちんと修正していないためだと思う
最新版8b0b2d2c のコード変更箇所を見てもビルドエラーが出るような理由はなさそうだが
最新版8b0b2d2c のコード変更箇所を見てもビルドエラーが出るような理由はなさそうだが
559名無しさん@お腹いっぱい。
2019/05/28(火) 08:03:06.17ID:FwlJey7b0 「そんなことはとっくにやってる。」と言っていたんじゃないのか?
Yahooの警告の行番号も違うし、自分勝手に間違って変更しているだけだろ。
Yahooの警告の行番号も違うし、自分勝手に間違って変更しているだけだろ。
2019/05/28(火) 09:01:27.86ID:3qDgbrpa0
つか、自分が開発者になるわけじゃないなら普通に完成版をダウンロードさせればいいだろうに。
ここで年寄りどもにプログラマー養成でもしているつもりにでもなっているのかねw
ここで年寄りどもにプログラマー養成でもしているつもりにでもなっているのかねw
561名無しさん@お腹いっぱい。
2019/05/28(火) 09:31:24.50ID:T72eJEyD0 開発終了してすでに完全版といて公開されているものだから、それをありがたく使えば良いだけ。
時代の流れで使えなくなった部分は諦めればいいんだよ。
しかし、ソースコードが公開されているので努力次第で改造できるということ。
自分好みに改造したいのであれば、クレクレばかり言わずにプログラミングを勉強しろ。
時代の流れで使えなくなった部分は諦めればいいんだよ。
しかし、ソースコードが公開されているので努力次第で改造できるということ。
自分好みに改造したいのであれば、クレクレばかり言わずにプログラミングを勉強しろ。
562名無しさん@お腹いっぱい。
2019/05/28(火) 11:07:14.10ID:T72eJEyD0 >>561
すまん。
年寄りの言葉に感情的になってしまった。反省。
お詫びに、omegachartuserさんのソースとは全く互換性がないけど為替とダウのダウンロードコードを書こうとおもう。
ちょっと時間ください。
すまん。
年寄りの言葉に感情的になってしまった。反省。
お詫びに、omegachartuserさんのソースとは全く互換性がないけど為替とダウのダウンロードコードを書こうとおもう。
ちょっと時間ください。
563名無しさん@お腹いっぱい。
2019/05/28(火) 12:09:37.80ID:T72eJEyD0 public static void UpdateFx() {
Dictionary<int, string> symbols = new Dictionary<int, string>() { { 201, "USDJPY" }, { 202, "EURJPY" } };
foreach (int code in symbols.Keys) {
string url = $"https://stocks.finance.yahoo.co.jp/stocks/history/?code={symbols[code]}=X";
using (MemoryStream ms = Util.HttpDownload(url)) {
string source = Encoding.UTF8.GetString(ms.ToArray());
string pattern = "<td>(\\d{4}年\\d{1,2}月\\d{1,2}日)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);
File.AppendAllText("fx.log", $"{DateTime.Now:M-d HH:mm:ss:fff} {code} {symbols[code]} 最新{mc.Count}件\r\n");
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "ソースをファイルに保存しました");
File.WriteAllText($"error_{code}_{DateTime.Now:MMdd}.html", $"< !--{url}-- >\r\n{source}");
return;}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
DateTime date = DateTime.Parse(m.Groups[1].Value);
NewDailyData td = new NewDailyData();
td.open = decimal.ToInt32((decimal.Parse(m.Groups[2].Value) * 100));
td.high = decimal.ToInt32((decimal.Parse(m.Groups[3].Value) * 100));
td.low = decimal.ToInt32((decimal.Parse(m.Groups[4].Value) * 100));
td.close = decimal.ToInt32((decimal.Parse(m.Groups[5].Value) * 100));
Dictionary<int, string> symbols = new Dictionary<int, string>() { { 201, "USDJPY" }, { 202, "EURJPY" } };
foreach (int code in symbols.Keys) {
string url = $"https://stocks.finance.yahoo.co.jp/stocks/history/?code={symbols[code]}=X";
using (MemoryStream ms = Util.HttpDownload(url)) {
string source = Encoding.UTF8.GetString(ms.ToArray());
string pattern = "<td>(\\d{4}年\\d{1,2}月\\d{1,2}日)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);
File.AppendAllText("fx.log", $"{DateTime.Now:M-d HH:mm:ss:fff} {code} {symbols[code]} 最新{mc.Count}件\r\n");
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "ソースをファイルに保存しました");
File.WriteAllText($"error_{code}_{DateTime.Now:MMdd}.html", $"< !--{url}-- >\r\n{source}");
return;}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
DateTime date = DateTime.Parse(m.Groups[1].Value);
NewDailyData td = new NewDailyData();
td.open = decimal.ToInt32((decimal.Parse(m.Groups[2].Value) * 100));
td.high = decimal.ToInt32((decimal.Parse(m.Groups[3].Value) * 100));
td.low = decimal.ToInt32((decimal.Parse(m.Groups[4].Value) * 100));
td.close = decimal.ToInt32((decimal.Parse(m.Groups[5].Value) * 100));
564名無しさん@お腹いっぱい。
2019/05/28(火) 12:14:37.03ID:T72eJEyD0 >>563
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");}
if (code == 201) System.Threading.Thread.Sleep(600);}
RefreshChart();
Env.Frame.SetStatusBarText("", "");}
//563と564を Command.csの494行以降(class CommandExec)に追加します。
//さらに、Download.cs(Rev.1a4c89f) 注(DownloadOrderではない方)を編集
//435行(ShowOrderGroup)に以下を追加
comboBoxSource.Items.AddRange(new string[] {"為替”、"US" });
//527行(OnOK)に以下を追加
string selectText = comboBoxSource.SelectedItem.ToString();
if (selectText == "為替") {
CommandExec.UpdateFx();
this.Close();
return;}
/*
データのダウンロードダイアログで株価データソースの為替を選択して開始ボタンをクリックするだけ。ProgressBarは機能しないが終了したらダイアログも閉じる。
例外(エラー)処理はは不完全でProgressBarも機能せず、同期処理のため終了まで固まる感じになるが、こんな感じでデータ更新できるという一つの例。
HttpClient等の非同期処理に変更するとウィンドウは固まらなくなる。
*/
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");}
if (code == 201) System.Threading.Thread.Sleep(600);}
RefreshChart();
Env.Frame.SetStatusBarText("", "");}
//563と564を Command.csの494行以降(class CommandExec)に追加します。
//さらに、Download.cs(Rev.1a4c89f) 注(DownloadOrderではない方)を編集
//435行(ShowOrderGroup)に以下を追加
comboBoxSource.Items.AddRange(new string[] {"為替”、"US" });
//527行(OnOK)に以下を追加
string selectText = comboBoxSource.SelectedItem.ToString();
if (selectText == "為替") {
CommandExec.UpdateFx();
this.Close();
return;}
/*
データのダウンロードダイアログで株価データソースの為替を選択して開始ボタンをクリックするだけ。ProgressBarは機能しないが終了したらダイアログも閉じる。
例外(エラー)処理はは不完全でProgressBarも機能せず、同期処理のため終了まで固まる感じになるが、こんな感じでデータ更新できるという一つの例。
HttpClient等の非同期処理に変更するとウィンドウは固まらなくなる。
*/
2019/05/28(火) 12:29:40.35ID:EPN7n0KA0
omegachartuserですが、しばらく来ないうちに、私が書いたコードがご迷惑をおかけしていたようで、お騒がせをしております。
「DreamVisor終了対応¶」も含めて、これらはサンプルコードで、ご自由にお使いくださいというものでして、これをずっとアップデートさせていくのはちょっと違うかなと思っております。
私自身、パナコランさんなどコードから勉強させてもらい、平たく言いますとパクッて書いておる程度の者でして、それだったらPG初心者の皆様も私程度には書けるんじゃないかと思って始めたことでございます。
後場が始まってしまいますので、また後程。
「DreamVisor終了対応¶」も含めて、これらはサンプルコードで、ご自由にお使いくださいというものでして、これをずっとアップデートさせていくのはちょっと違うかなと思っております。
私自身、パナコランさんなどコードから勉強させてもらい、平たく言いますとパクッて書いておる程度の者でして、それだったらPG初心者の皆様も私程度には書けるんじゃないかと思って始めたことでございます。
後場が始まってしまいますので、また後程。
566名無しさん@お腹いっぱい。
2019/05/28(火) 12:52:32.80ID:T72eJEyD0 >>563
Command.csの36行付近に以下名前空間の追加も必要です。
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;
omegachartuserさんが戻って来られたので、ちょっと勇み足だったかもしれません。
書き始めてしまったので、あまり参考にならないかもしれませんがダウは非同期処理サンプルとしてアップしようかと考えています。
Command.csの36行付近に以下名前空間の追加も必要です。
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;
omegachartuserさんが戻って来られたので、ちょっと勇み足だったかもしれません。
書き始めてしまったので、あまり参考にならないかもしれませんがダウは非同期処理サンプルとしてアップしようかと考えています。
2019/05/28(火) 12:59:44.59ID:3qDgbrpa0
___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
568名無しさん@お腹いっぱい。
2019/05/28(火) 14:51:58.04ID:T72eJEyD0 public static async Task UpdateUsYahoo() {
int wait = 600;//銘柄間のスリープmsec
int retry = 3;//タイムアウト発生時のリトライ回数
Dictionary<int, string> dic = new Dictionary<int, string>() { { 301, "^DJI" }, { 302, "^IXIC" }, { 303, "^GSPC" } };
//Windows Chromeに偽装
string useragent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36";
using (HttpClient client = new HttpClient()) {
client.DefaultRequestHeaders.Add("User-Agent", useragent);
client.DefaultRequestHeaders.Add("Accept-Language", "ja-JP");
client.BaseAddress = new Uri("https://finance.yahoo.com/quote/");
client.Timeout = new TimeSpan(0, 0, 0, 20);//秒
foreach (int code in dic.Keys) {
string symbol = System.Net.WebUtility.UrlEncode(dic[code]);
string url = $"{symbol}/history?p={symbol}";
string source = null;
int i = 0;
do {
try {
source = await client.GetStringAsync(url);
} catch (TaskCanceledException ex) {
//タイムアウトは継続してリトライ
} catch (Exception ex) { throw ex; }
i++;
} while (i < retry | source == null);
if (source == null) return;
Env.Frame.SetStatusBarText($"{url}", "");
string pattern = "<tr.*?<td.*?>([^<>]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);
int wait = 600;//銘柄間のスリープmsec
int retry = 3;//タイムアウト発生時のリトライ回数
Dictionary<int, string> dic = new Dictionary<int, string>() { { 301, "^DJI" }, { 302, "^IXIC" }, { 303, "^GSPC" } };
//Windows Chromeに偽装
string useragent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36";
using (HttpClient client = new HttpClient()) {
client.DefaultRequestHeaders.Add("User-Agent", useragent);
client.DefaultRequestHeaders.Add("Accept-Language", "ja-JP");
client.BaseAddress = new Uri("https://finance.yahoo.com/quote/");
client.Timeout = new TimeSpan(0, 0, 0, 20);//秒
foreach (int code in dic.Keys) {
string symbol = System.Net.WebUtility.UrlEncode(dic[code]);
string url = $"{symbol}/history?p={symbol}";
string source = null;
int i = 0;
do {
try {
source = await client.GetStringAsync(url);
} catch (TaskCanceledException ex) {
//タイムアウトは継続してリトライ
} catch (Exception ex) { throw ex; }
i++;
} while (i < retry | source == null);
if (source == null) return;
Env.Frame.SetStatusBarText($"{url}", "");
string pattern = "<tr.*?<td.*?>([^<>]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);
569名無しさん@お腹いっぱい。
2019/05/28(火) 14:56:02.89ID:T72eJEyD0 >>568
using (StreamWriter sw = new StreamWriter("us.log", true)) {
sw.AutoFlush = true;
await sw.WriteLineAsync($"{DateTime.Now:M-d HH:mm:ss.fff} {dic[code]} {mc.Count}件 {mc[mc.Count - 1].Groups[1].Value} - {mc[0].Groups[1].Value}"); }
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "");
return; }
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");
if (code < 303)
await Task.Delay(wait);}}}
//為替と同様Command.csに追加する
// >>564 でコードを追加したDownload.csのOnOKを以下に変更
private async void OnOK(object sender, EventArgs args)
// >>564 の追加コード CommandExec.UpdateFx(); の前に次の行を追加
this.Visible = false;
await CommandExec.UpdateUsYahoo();
//これで、301-303が非同期で更新されこの間はチャート操作可能です(ダウを表示した状態でデータ更新されてもチャートは自動更新されません)。
//これらの更新終了を待ってFXの更新に移り、この段階ではウィンドウが固まることになるはずです。
using (StreamWriter sw = new StreamWriter("us.log", true)) {
sw.AutoFlush = true;
await sw.WriteLineAsync($"{DateTime.Now:M-d HH:mm:ss.fff} {dic[code]} {mc.Count}件 {mc[mc.Count - 1].Groups[1].Value} - {mc[0].Groups[1].Value}"); }
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "");
return; }
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");
if (code < 303)
await Task.Delay(wait);}}}
//為替と同様Command.csに追加する
// >>564 でコードを追加したDownload.csのOnOKを以下に変更
private async void OnOK(object sender, EventArgs args)
// >>564 の追加コード CommandExec.UpdateFx(); の前に次の行を追加
this.Visible = false;
await CommandExec.UpdateUsYahoo();
//これで、301-303が非同期で更新されこの間はチャート操作可能です(ダウを表示した状態でデータ更新されてもチャートは自動更新されません)。
//これらの更新終了を待ってFXの更新に移り、この段階ではウィンドウが固まることになるはずです。
570名無しさん@お腹いっぱい。
2019/05/28(火) 14:59:10.98ID:T72eJEyD0 >>569
ちなみに、FXを非同期に変更して、CommandExec.UpdateUsYahoo()のawaitを消すと警告が出ますがUsの終了を待たなくなるので、あたかもUsとFXが同時処理される様な挙動となります。
注意:デバッグで非同期処理でエラーが起こった場合の挙動が同期の場合と異なりエラーの場所を特定するのが困難になり、はまってしまうことが多くなります。
特に、さらにasyncメソッドを呼び出した場合などではデバッグトレースで行番号の取得ができなくなる様です。
正規表現の変更が必要になった場合は、同期処理で確認して例外処理が完了してから非同期化するのが良さそうです。
ちなみに、FXを非同期に変更して、CommandExec.UpdateUsYahoo()のawaitを消すと警告が出ますがUsの終了を待たなくなるので、あたかもUsとFXが同時処理される様な挙動となります。
注意:デバッグで非同期処理でエラーが起こった場合の挙動が同期の場合と異なりエラーの場所を特定するのが困難になり、はまってしまうことが多くなります。
特に、さらにasyncメソッドを呼び出した場合などではデバッグトレースで行番号の取得ができなくなる様です。
正規表現の変更が必要になった場合は、同期処理で確認して例外処理が完了してから非同期化するのが良さそうです。
2019/05/28(火) 15:21:50.94ID:EPN7n0KA0
>>566
いえ、勉強になります。ありがとうございます。
で、続きですが、「ファイルをドロップしてデータ更新¶」というのを前に作りました。
CSVファイルにコード、日付、四本値を書いてドラッグドロップして株価更新するというものです。
この仕組みをご自身のシステムに組み入れておけば、何も手段がないよりかはマシかなと思いました。
もちろん、有志の方がご提供されているコードで問題解決になれば言うことはありません。
いえ、勉強になります。ありがとうございます。
で、続きですが、「ファイルをドロップしてデータ更新¶」というのを前に作りました。
CSVファイルにコード、日付、四本値を書いてドラッグドロップして株価更新するというものです。
この仕組みをご自身のシステムに組み入れておけば、何も手段がないよりかはマシかなと思いました。
もちろん、有志の方がご提供されているコードで問題解決になれば言うことはありません。
572名無しさん@お腹いっぱい。
2019/05/28(火) 22:02:06.59ID:FwlJey7b0 >>571
お帰りなさい。
過去ログでなぜかがBANされたらしいとのコメント見て心配していました。
取引もしている様でちょっと安心しました。
再び新しいいアイディアを投稿されると刺激になります。
これからも、気が向いたときでいいのでOSDN更新されるのを期待しています。
お帰りなさい。
過去ログでなぜかがBANされたらしいとのコメント見て心配していました。
取引もしている様でちょっと安心しました。
再び新しいいアイディアを投稿されると刺激になります。
これからも、気が向いたときでいいのでOSDN更新されるのを期待しています。
573名無しさん@お腹いっぱい。
2019/05/28(火) 23:17:50.29ID:kCN6ZPsB0574名無しさん@お腹いっぱい。
2019/05/28(火) 23:35:42.07ID:FwlJey7b0 >>573
568から569の途中までを、Command.csのinternal class CommandExecの内部に入れていますか?
UpdateFx()が動いたとしたら、この前あたりにコピペすると「CommandExec.UpdateUsYahoo()」で参照できると思いますが。
Download.csにusing Zanetti.Commandsが冒頭に書かれていれば、Command.cs内部のpublic メソッドにアクセスできるはずなんだけど。
568から569の途中までを、Command.csのinternal class CommandExecの内部に入れていますか?
UpdateFx()が動いたとしたら、この前あたりにコピペすると「CommandExec.UpdateUsYahoo()」で参照できると思いますが。
Download.csにusing Zanetti.Commandsが冒頭に書かれていれば、Command.cs内部のpublic メソッドにアクセスできるはずなんだけど。
575名無しさん@お腹いっぱい。
2019/05/29(水) 06:58:49.31ID:8V0jwa0w0 くそみたいな>>560なんぞにくれてやると図に乗るだけだよ
576名無しさん@お腹いっぱい。
2019/05/29(水) 08:22:30.02ID:d87uIgU+0 ヤフーでダウンロードすると、基礎になる接続が閉じられました ってエラーが出るんですけど、これ何なんでしょうか?
577名無しさん@お腹いっぱい。
2019/05/29(水) 09:05:49.93ID:XuUWLcKV0578名無しさん@お腹いっぱい。
2019/05/29(水) 10:03:22.81ID:d87uIgU+0 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー ファイル MainFrame.resx を処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。これらのファイルを処理するには、Web のマークを削除してください。 zanetti
とエラー出てコンパイルできないんですが、これは何なんでしょうか?
エラー ファイル MainFrame.resx を処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。これらのファイルを処理するには、Web のマークを削除してください。 zanetti
とエラー出てコンパイルできないんですが、これは何なんでしょうか?
579名無しさん@お腹いっぱい。
2019/05/29(水) 10:08:10.04ID:d87uIgU+0 今度はコンパイルは成功しますが、bin/Releaseの中が空っぽで何もない....
580名無しさん@お腹いっぱい。
2019/05/29(水) 10:20:58.96ID:XuUWLcKV0 >>579
ググって調べて見て下さい。
ググって調べて見て下さい。
582名無しさん@お腹いっぱい。
2019/05/29(水) 10:26:56.88ID:XuUWLcKV0583名無しさん@お腹いっぱい。
2019/05/29(水) 10:32:15.78ID:d87uIgU+0 >493 で解決しました。
あと、オリジナルソースでコンパイルすると、株価が10倍で表示されるのですが、何がおかしいのでしょうか?
あと、オリジナルソースでコンパイルすると、株価が10倍で表示されるのですが、何がおかしいのでしょうか?
584名無しさん@お腹いっぱい。
2019/05/29(水) 10:39:30.78ID:d87uIgU+0 オリジナルソースコードをコンパイルして、株価データをダウンロードすると、その部分だけ、10倍になります。
今まで、オリジナルソースコードをずっと使っていました。
今まで、オリジナルソースコードをずっと使っていました。
585名無しさん@お腹いっぱい。
2019/05/29(水) 11:38:01.19ID:XuUWLcKV0 >>584
オリジナルとは何?
想像するに、 panacoranさんのnormal-dataバージョンのことでしょうか?
これだけでコンパイルしているのではなく、Yahoo.csなど一部新しいファイルに置き換えているのでは?
最近の panacoranさんのソースは個別は10倍化固定と思います。
確認まではしていないので、更新したデータソースのファイルのコメントを読んで見るのがいいかもしれません。
オリジナルとは何?
想像するに、 panacoranさんのnormal-dataバージョンのことでしょうか?
これだけでコンパイルしているのではなく、Yahoo.csなど一部新しいファイルに置き換えているのでは?
最近の panacoranさんのソースは個別は10倍化固定と思います。
確認まではしていないので、更新したデータソースのファイルのコメントを読んで見るのがいいかもしれません。
586名無しさん@お腹いっぱい。
2019/05/29(水) 12:24:09.94ID:d87uIgU+0587名無しさん@お腹いっぱい。
2019/05/29(水) 12:59:08.77ID:XuUWLcKV0 >>586
panaceanさんはノーマルデータに対するバージョンアップはしていないのだと思います。
自分である程度コードを理解できなければ、ノーマルコードのままファイル変更は禁止と考えたほうが良いです。
コンパイルエラーで実行ファイルができなければよかったのですが、10倍化以外にも不具合が出る可能性もあります。
対処法、@からBのいずれかが思いつく。データをバックアップすること(最悪戻らないこともある)
@ panacoranさんのnormal-dataバージョンに全て戻してコンパイルし直す(新たな機能は諦める)
AYahoo.csであれば、189行を
var shift = IsIndex(code) ? 100 : 1;
に変更する
すでにダウンロードしたデータが戻るかは?
edatalab.csを変更していなければ、データソースで日付を指定して試すのが良いかも
Aは他の不具合が発生する可能性もあるので、コードを読めない人はやめたほうがいい。
B全体を最新ソースに変更してコンパイル
確信はない。
edatalab.csなどで異常日に遡り再ダウンロードすれば正常化する様な気がするが、自信はない。
ダメであれば、過去データを諦めること。
panaceanさんはノーマルデータに対するバージョンアップはしていないのだと思います。
自分である程度コードを理解できなければ、ノーマルコードのままファイル変更は禁止と考えたほうが良いです。
コンパイルエラーで実行ファイルができなければよかったのですが、10倍化以外にも不具合が出る可能性もあります。
対処法、@からBのいずれかが思いつく。データをバックアップすること(最悪戻らないこともある)
@ panacoranさんのnormal-dataバージョンに全て戻してコンパイルし直す(新たな機能は諦める)
AYahoo.csであれば、189行を
var shift = IsIndex(code) ? 100 : 1;
に変更する
すでにダウンロードしたデータが戻るかは?
edatalab.csを変更していなければ、データソースで日付を指定して試すのが良いかも
Aは他の不具合が発生する可能性もあるので、コードを読めない人はやめたほうがいい。
B全体を最新ソースに変更してコンパイル
確信はない。
edatalab.csなどで異常日に遡り再ダウンロードすれば正常化する様な気がするが、自信はない。
ダメであれば、過去データを諦めること。
588名無しさん@お腹いっぱい。
2019/05/29(水) 13:12:49.33ID:d87uIgU+0 >>587
ありがとうございます。
あと、
303名無しさん@お腹いっぱい。2017/11/18(土) 20:16:18.53ID:yltEXmxU0>>304
楽天RSSから株価取得するサンプルコードです。
ttps://osdn.net/users/omegachartuser/pastebin/5672
このコードをオメガに追加して、NDdeを参照か、NuGetから呼び出し
DownloadOrderから、これを呼び出すだけで一応は動くと思います。
うちの環境で処理時間30分くらいかかりました。
処理日を過去にしたときの対応は書いてません。ご注意を。
これをコンパイルしてみたんですが、楽天RSSで株価DLさせてみると、楽天RSSが起動していません とエラーが表示されます。
NDde.dllに問題があるのでしょうか?
ありがとうございます。
あと、
303名無しさん@お腹いっぱい。2017/11/18(土) 20:16:18.53ID:yltEXmxU0>>304
楽天RSSから株価取得するサンプルコードです。
ttps://osdn.net/users/omegachartuser/pastebin/5672
このコードをオメガに追加して、NDdeを参照か、NuGetから呼び出し
DownloadOrderから、これを呼び出すだけで一応は動くと思います。
うちの環境で処理時間30分くらいかかりました。
処理日を過去にしたときの対応は書いてません。ご注意を。
これをコンパイルしてみたんですが、楽天RSSで株価DLさせてみると、楽天RSSが起動していません とエラーが表示されます。
NDde.dllに問題があるのでしょうか?
2019/05/29(水) 15:37:47.31ID:+EcK4vh50
>>588
ヤフーファイナンスに蹴られる件は、.NET Frameworkのバージョンを4.7.2に上げてみる
RSSの件は、RSSが動く基本条件は、マケスピの起動とRSS.exeの常駐起動が条件です。
RSSに関しての基礎知識に関しては以下のサイトでご確認ください。
https://www.rakuten-sec.co.jp/MarketSpeed/onLineHelp/msman1_11.html
ヤフーファイナンスに蹴られる件は、.NET Frameworkのバージョンを4.7.2に上げてみる
RSSの件は、RSSが動く基本条件は、マケスピの起動とRSS.exeの常駐起動が条件です。
RSSに関しての基礎知識に関しては以下のサイトでご確認ください。
https://www.rakuten-sec.co.jp/MarketSpeed/onLineHelp/msman1_11.html
590名無しさん@お腹いっぱい。
2019/05/29(水) 19:06:34.49ID:tfYMPdUP0 Command.csの36行付近に下記を記載していますが
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;
httpsとか大文字小文字等変更しましたが
この様なエラーメッセージがでます。
Command.cs(39,18,39,22): error CS0234: 型または名前空間の名前 'Http' が名前空間
'System.Net' に存在しません (アセンブリ参照があることを確認してください)
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;
httpsとか大文字小文字等変更しましたが
この様なエラーメッセージがでます。
Command.cs(39,18,39,22): error CS0234: 型または名前空間の名前 'Http' が名前空間
'System.Net' に存在しません (アセンブリ参照があることを確認してください)
591名無しさん@お腹いっぱい。
2019/05/29(水) 19:11:45.46ID:mqlE9t9u0 >>590
ソリューションエクスプローラーの参照から「System.Net.Http」を追加してください。
ソリューションエクスプローラーの参照から「System.Net.Http」を追加してください。
592名無しさん@お腹いっぱい。
2019/05/29(水) 20:48:33.31ID:mqlE9t9u0 >>568
ソリューションエクスプローラーでSystem.Net.Httpへの参照も追加してください。
ソリューションエクスプローラーでSystem.Net.Httpへの参照も追加してください。
2019/05/29(水) 21:43:20.34ID:iL/+kuDx0
594名無しさん@お腹いっぱい。
2019/05/29(水) 21:57:37.40ID:tfYMPdUP0 >>563
>>590
>>591
どうもありがとうございました。無事にインストール出来ました。
早速為替、Dau、Nasdaq、SP500のデータ取った処
1月3日から為替、US指数は終値だけだつたのがローソク足になった
のは良いのですが5月7日Dreamvisorが止まった日から
昨日28日までが日にち順が逆転しチャート幅が縮まり描かれています。
5月7日からデータ順が逆になって入力変換されている様です。
これは何故でしょうか?
上記と関係無いと思いますがビルト時に下記のメッセージが出ていました。
Command.cs(564,58,564,60): warning CS0168: 変数 'ex' は宣言されていますが、使用されていません。
>>590
>>591
どうもありがとうございました。無事にインストール出来ました。
早速為替、Dau、Nasdaq、SP500のデータ取った処
1月3日から為替、US指数は終値だけだつたのがローソク足になった
のは良いのですが5月7日Dreamvisorが止まった日から
昨日28日までが日にち順が逆転しチャート幅が縮まり描かれています。
5月7日からデータ順が逆になって入力変換されている様です。
これは何故でしょうか?
上記と関係無いと思いますがビルト時に下記のメッセージが出ていました。
Command.cs(564,58,564,60): warning CS0168: 変数 'ex' は宣言されていますが、使用されていません。
595名無しさん@お腹いっぱい。
2019/05/29(水) 22:48:05.71ID:mqlE9t9u0 >>594
思い当たる原因は察しがついていますが、
@為替はどうですか
A5/7からの日付順を教えてくれませんか?
Bまた、チャート幅がチャート幅が縮まりとはどんな状態でしょう?
なお、warning CS0168はエラーではないので無視してください。
気になるようであれば
catch (TaskCanceledException ex) {
Console.WriteLine(ex.Message);//タイムアウトは継続してリトライ
とでも変更してください。
思い当たる原因は察しがついていますが、
@為替はどうですか
A5/7からの日付順を教えてくれませんか?
Bまた、チャート幅がチャート幅が縮まりとはどんな状態でしょう?
なお、warning CS0168はエラーではないので無視してください。
気になるようであれば
catch (TaskCanceledException ex) {
Console.WriteLine(ex.Message);//タイムアウトは継続してリトライ
とでも変更してください。
596名無しさん@お腹いっぱい。
2019/05/29(水) 23:31:05.96ID:mqlE9t9u0 >>563 >>564 >>568 >>569 修正が必要です
日付順に不具合が発生したようです。
為替、Usともに
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
から、約9行下の
farm.Save(Util.GetDailyDataFileName(code));
の間を以下のように変更してください
*** UpdateFx()の場合は出来高ないので、td.volume = ... の行は必ずコメントアウトしてください
SortedDictionary<DateTime, NewDailyData> prices = new SortedDictionary<DateTime, NewDailyData>();
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
//UpdateFx()では以下はコメントアウトしてください
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
prices[date] = td;}}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (DateTime date in prices.Keys) {
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), prices[date]);}
farm.Save(Util.GetDailyDataFileName(code));
なお、今気が付きましたがUsYahooの時系列は、当日ザラ場中のデーターも加えられているようです。
日付順に不具合が発生したようです。
為替、Usともに
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
から、約9行下の
farm.Save(Util.GetDailyDataFileName(code));
の間を以下のように変更してください
*** UpdateFx()の場合は出来高ないので、td.volume = ... の行は必ずコメントアウトしてください
SortedDictionary<DateTime, NewDailyData> prices = new SortedDictionary<DateTime, NewDailyData>();
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
//UpdateFx()では以下はコメントアウトしてください
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
prices[date] = td;}}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (DateTime date in prices.Keys) {
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), prices[date]);}
farm.Save(Util.GetDailyDataFileName(code));
なお、今気が付きましたがUsYahooの時系列は、当日ザラ場中のデーターも加えられているようです。
597名無しさん@お腹いっぱい。
2019/05/29(水) 23:45:30.20ID:tfYMPdUP0 >>595
@為替も逆転チャートになっています。
A5月6日、28、24、ーー9、8日、7日
Bローソン足幅は同じですが縦線が毎日入っていて
格子状に見えます。日付がこの毎日付いて2019年
の2だけが連続しています。
@為替も逆転チャートになっています。
A5月6日、28、24、ーー9、8日、7日
Bローソン足幅は同じですが縦線が毎日入っていて
格子状に見えます。日付がこの毎日付いて2019年
の2だけが連続しています。
598名無しさん@お腹いっぱい。
2019/05/29(水) 23:49:58.35ID:mqlE9t9u0 >>594
不具合で迷惑かけてすみませんでした。
日付ソートせずに、こちらで試した時には問題なかったので確認不十分でした。
念のためバックアップとして、表示のおかしい銘柄をそれぞれcsvでエクスポートしておいてください。
あるいは、201-303までのファイルを別フォルダにコピーしても良いです。
596を読んで、コードを変更してみてください。
これでビルドして再度為替を実行してみてください。
可能性は低いかもしれませんが、うまくいけばダウンロード済みデータ修正されるかもしれません。
チャート表示があいかわらずおかしければ教えてください。
データ修正方法を考えますのでちょっと時間をください。
もしかすると、修正したcsvをomegachartuserさんのドラッグドロップで修正を利用すれば治るかもしれません。
** 米国ザラバ中に更新するとダウなどは確定値ではありませんが、引け確定後に更新すると過去データは上書きされるので確定値になるはずです。
不具合で迷惑かけてすみませんでした。
日付ソートせずに、こちらで試した時には問題なかったので確認不十分でした。
念のためバックアップとして、表示のおかしい銘柄をそれぞれcsvでエクスポートしておいてください。
あるいは、201-303までのファイルを別フォルダにコピーしても良いです。
596を読んで、コードを変更してみてください。
これでビルドして再度為替を実行してみてください。
可能性は低いかもしれませんが、うまくいけばダウンロード済みデータ修正されるかもしれません。
チャート表示があいかわらずおかしければ教えてください。
データ修正方法を考えますのでちょっと時間をください。
もしかすると、修正したcsvをomegachartuserさんのドラッグドロップで修正を利用すれば治るかもしれません。
** 米国ザラバ中に更新するとダウなどは確定値ではありませんが、引け確定後に更新すると過去データは上書きされるので確定値になるはずです。
599名無しさん@お腹いっぱい。
2019/05/30(木) 00:18:49.78ID:jdeeDFR50 >>597
データ修正方法を思いつきましたので、日中にはアップできそうです。
もしもチャート表示が正常に戻ったのであれば教えてください。
レスの投稿は行と文字制限があるため、少しでもコードを短くしようとした結果不具合になってしましました。
データ修正方法を思いつきましたので、日中にはアップできそうです。
もしもチャート表示が正常に戻ったのであれば教えてください。
レスの投稿は行と文字制限があるため、少しでもコードを短くしようとした結果不具合になってしましました。
600名無しさん@お腹いっぱい。
2019/05/30(木) 01:13:52.34ID:jdeeDFR50 //日付データ順の修正 >>597
public static CommandResult DateSeriesFix() {
AbstractBrand br = Env.Frame.ChartCanvas.GetBrand();
byte[] buffer = br.ReserveFarm().RawDataImage;
SortedList<DateTime, int[]> list = new SortedList<DateTime, int[]>();
int recCount = buffer.Length / 32;
for (int i = 0; i < recCount; i++) {
int[] price = new int[8];
for (int j = 0; j < 8; j++)
price[j] = BitConverter.ToInt32(buffer, i * 32 + 4 * j);
if (DateTime.TryParse(price[0].ToString("0000/00/00"), out DateTime date))
list[date] = price;}
string filename = Util.GetDailyDataFileName(br.Code);
byte[] buf = new byte[list.Count * 32];
{int i = 0;
foreach (int[] pr in list.Values) {
for (int j = 0; j < pr.Length; j++) {
byte[] byteArray = BitConverter.GetBytes(pr[j]);
for (int jj = 0; jj < 4; jj++)
buf[i * 32 + jj + 4 * j] = byteArray[jj];}
i++;}}
using (FileStream fs = new FileStream(filename, FileMode.Create)) {
using (BinaryWriter w = new BinaryWriter(fs)) {
w.Write(buf);}}
RefreshChart();
return CommandResult.Succeeded;}
//使い方 CommandExecのAboutBox()の前に上記コードをコピペ
//AboutBox()の内部1行目あたりに以下を追加
DateSeriesFix();
//日付の異常ある銘柄を表示してヘルプからバージョン情報をクリックすると表示銘柄のみデータが更新されます。
//これを銘柄を変更しながら繰り返す 念のため修正したいデータファイルを別フォルダにコピーしておくこと
public static CommandResult DateSeriesFix() {
AbstractBrand br = Env.Frame.ChartCanvas.GetBrand();
byte[] buffer = br.ReserveFarm().RawDataImage;
SortedList<DateTime, int[]> list = new SortedList<DateTime, int[]>();
int recCount = buffer.Length / 32;
for (int i = 0; i < recCount; i++) {
int[] price = new int[8];
for (int j = 0; j < 8; j++)
price[j] = BitConverter.ToInt32(buffer, i * 32 + 4 * j);
if (DateTime.TryParse(price[0].ToString("0000/00/00"), out DateTime date))
list[date] = price;}
string filename = Util.GetDailyDataFileName(br.Code);
byte[] buf = new byte[list.Count * 32];
{int i = 0;
foreach (int[] pr in list.Values) {
for (int j = 0; j < pr.Length; j++) {
byte[] byteArray = BitConverter.GetBytes(pr[j]);
for (int jj = 0; jj < 4; jj++)
buf[i * 32 + jj + 4 * j] = byteArray[jj];}
i++;}}
using (FileStream fs = new FileStream(filename, FileMode.Create)) {
using (BinaryWriter w = new BinaryWriter(fs)) {
w.Write(buf);}}
RefreshChart();
return CommandResult.Succeeded;}
//使い方 CommandExecのAboutBox()の前に上記コードをコピペ
//AboutBox()の内部1行目あたりに以下を追加
DateSeriesFix();
//日付の異常ある銘柄を表示してヘルプからバージョン情報をクリックすると表示銘柄のみデータが更新されます。
//これを銘柄を変更しながら繰り返す 念のため修正したいデータファイルを別フォルダにコピーしておくこと
2019/05/30(木) 05:00:02.13ID:GNgY+cOf0
>>593
今試してみたんですが、動きますね。データ更新されました。
(私の環境は、Win10、Visual Studio 2017、 .NET Framework 4.7.2)
ちなみ、ダウンロードする際、複数日ダウンロードしようとするとエラーになりますが、RSSですので当然の結果であり、そこはサンプルコードということでご容赦ください。
今試してみたんですが、動きますね。データ更新されました。
(私の環境は、Win10、Visual Studio 2017、 .NET Framework 4.7.2)
ちなみ、ダウンロードする際、複数日ダウンロードしようとするとエラーになりますが、RSSですので当然の結果であり、そこはサンプルコードということでご容赦ください。
2019/05/30(木) 05:01:15.28ID:GNgY+cOf0
>>601
ベースとなるソースのバージョンは、8b0b2d2です。
ベースとなるソースのバージョンは、8b0b2d2です。
603名無しさん@お腹いっぱい。
2019/05/30(木) 06:08:20.73ID:wvCnz3C80 >>601
エラー RSSが起動していません と出ます。
NDdeを参照か、NuGetから呼び出し
↑
これがよくわからないんですが、NDde.dllをオメガのフォルダにコピーして参照すればいいんでしょうか?
NuGet とは?よくわかりません。
エラー RSSが起動していません と出ます。
NDdeを参照か、NuGetから呼び出し
↑
これがよくわからないんですが、NDde.dllをオメガのフォルダにコピーして参照すればいいんでしょうか?
NuGet とは?よくわかりません。
604名無しさん@お腹いっぱい。
2019/05/30(木) 06:09:46.45ID:wvCnz3C80605名無しさん@お腹いっぱい。
2019/05/30(木) 07:29:58.84ID:jdeeDFR50 >>600
修正が終了したら、AboutBox()に追加した
DateSeriesFix();
を削除してください。
本来であれば、メニューあるいはキーボードショートカットに追加するのですが説明が面倒なので,
ほとんど利用しないだろうと思われるメニューを拝借しました。
修正が終了したら、AboutBox()に追加した
DateSeriesFix();
を削除してください。
本来であれば、メニューあるいはキーボードショートカットに追加するのですが説明が面倒なので,
ほとんど利用しないだろうと思われるメニューを拝借しました。
606名無しさん@お腹いっぱい。
2019/05/30(木) 07:36:34.03ID:jdeeDFR50 >>603
なんでググらないの?
なんでググらないの?
607名無しさん@お腹いっぱい。
2019/05/30(木) 07:44:13.34ID:jdeeDFR502019/05/30(木) 08:15:01.19ID:ys2J9CqZ0
必要最低限のことは自分で調べてそのうえで分からないことを質問するようにしよう!
2019/05/30(木) 10:28:25.78ID:wvCnz3C80
>>607
ndde.dllを参照しなくていいということでしょうか??( ´Д`)?
ndde.dllを参照しなくていいということでしょうか??( ´Д`)?
610名無しさん@お腹いっぱい。
2019/05/30(木) 10:36:03.13ID:wvCnz3C80 >>608
もちろんググってはいるのですが、わかりません。
もちろんググってはいるのですが、わかりません。
611名無しさん@お腹いっぱい。
2019/05/30(木) 11:05:55.74ID:vghSTvTy0 >>609
なんでコピーして参照するの?
ググったページを参考に参照するあるいはNugetパッケージマネージャーで「ndde」を検索してインストールすれば使えるのでは?
自分は楽天RSSは使うつもりがないので間違っているかもしれないけど、
ググったページをよく読んで見たら解決しないかな?
なんでコピーして参照するの?
ググったページを参考に参照するあるいはNugetパッケージマネージャーで「ndde」を検索してインストールすれば使えるのでは?
自分は楽天RSSは使うつもりがないので間違っているかもしれないけど、
ググったページをよく読んで見たら解決しないかな?
612名無しさん@お腹いっぱい。
2019/05/30(木) 11:20:10.63ID:vghSTvTy0 >>609
もしかして、ちゃんと楽天RSSをインストールしたディレクトリのdllを直接参照してマーケットスピードとRSSを動かしている状況でもエラーが出るのであれば、何か別に原因があって動かないのかもしれない。
この場合は、dllの参照を一度削除してから、
VSの「ツール」「NuGetパッケージマネージャー」「ソリューションのNuGetパッケージマネージャーの管理」
と辿れば、左上の参照をクリックして、その下の検索ボックスで「ndde」を検索すると一つだけヒットするのでこれを選択してインストールして見てください。
ググったらたくさん情報があるとはこの操作のこと。
ddlを手入力で参照しなくてもインストールの過程でダウンロードと参照を勝手にしてくれるはず。
これでも解決しなければ、dllそのものの問題かマシンの問題と思うので解決は困難です。
もしかして、ちゃんと楽天RSSをインストールしたディレクトリのdllを直接参照してマーケットスピードとRSSを動かしている状況でもエラーが出るのであれば、何か別に原因があって動かないのかもしれない。
この場合は、dllの参照を一度削除してから、
VSの「ツール」「NuGetパッケージマネージャー」「ソリューションのNuGetパッケージマネージャーの管理」
と辿れば、左上の参照をクリックして、その下の検索ボックスで「ndde」を検索すると一つだけヒットするのでこれを選択してインストールして見てください。
ググったらたくさん情報があるとはこの操作のこと。
ddlを手入力で参照しなくてもインストールの過程でダウンロードと参照を勝手にしてくれるはず。
これでも解決しなければ、dllそのものの問題かマシンの問題と思うので解決は困難です。
613名無しさん@お腹いっぱい。
2019/05/30(木) 11:32:47.80ID:vghSTvTy0 >>609
当然確認していると思うが、エクセルではRSSが機能しているんだよね。
エクセルで動いているのであれば、楽天に確認してもダメだろうね。
DDEは古い技術なのでいつサポートが切れてもおかしくない。
もしかするとVS2019でサポート外になっているとか?
omegachartuserさんはVS2017で動いているようだから、VS2017または2015でコンパイルして見るのも良いかもしれない。
当然確認していると思うが、エクセルではRSSが機能しているんだよね。
エクセルで動いているのであれば、楽天に確認してもダメだろうね。
DDEは古い技術なのでいつサポートが切れてもおかしくない。
もしかするとVS2019でサポート外になっているとか?
omegachartuserさんはVS2017で動いているようだから、VS2017または2015でコンパイルして見るのも良いかもしれない。
614名無しさん@お腹いっぱい。
2019/05/30(木) 11:34:00.48ID:wvCnz3C80 >>612
NuGetを使おうが使うまいが、同じdllを参照するということでしょうか?
NuGetを使おうが使うまいが、同じdllを参照するということでしょうか?
2019/05/30(木) 11:41:59.79ID:GNgY+cOf0
割り込みすみません。
質問者さんは、Nugetでnddeのインストールは既に行ったということでしょうか?
質問者さんは、Nugetでnddeのインストールは既に行ったということでしょうか?
616名無しさん@お腹いっぱい。
2019/05/30(木) 12:04:37.70ID:vghSTvTy0 >>614
そういう意味ではありません。
おそらくRSSが起動していればdllがどこにあろうとも動くとは思うのですが、NuGetを利用すればおそらくdllも新たにインストールされて適切に参照を追加してくれるということです。
手入力で問題を起こしていたり、ソリューションエクスプローラーで参照のエラーマークが出ている場合もあります。
手入力参照がダメだったのであれば、一度参照解除してNuGetを試してくださいということです。
DDEはわかりませんが、ライブラリによっては他の参照も必要な場合があり、NuGetはそれを全てしてくれます。
Nugetでもうまくいかないかもしれませんが、諦めるよりはいいのでは?
そういう意味ではありません。
おそらくRSSが起動していればdllがどこにあろうとも動くとは思うのですが、NuGetを利用すればおそらくdllも新たにインストールされて適切に参照を追加してくれるということです。
手入力で問題を起こしていたり、ソリューションエクスプローラーで参照のエラーマークが出ている場合もあります。
手入力参照がダメだったのであれば、一度参照解除してNuGetを試してくださいということです。
DDEはわかりませんが、ライブラリによっては他の参照も必要な場合があり、NuGetはそれを全てしてくれます。
Nugetでもうまくいかないかもしれませんが、諦めるよりはいいのでは?
617名無しさん@お腹いっぱい。
2019/05/30(木) 12:13:25.21ID:vghSTvTy0618名無しさん@お腹いっぱい。
2019/05/30(木) 12:36:24.25ID:wvCnz3C80619名無しさん@お腹いっぱい。
2019/05/30(木) 12:39:54.18ID:vghSTvTy0 >>618
これは難しいかも。
DDEはセキュリティ上の問題がありうるはずなので、アンチウイルスソフトでブロッキングされている場合もないとは言えません。
また、WindowsUpdate等のセキュリティ更新で機能の変更などといったこともありうるかも知れません。
この場合は、エクセルでデータも取得できないと思うのでハズレかな。
エクセルでデータ取得できているならば、アンチウイルスの可能性は低そうですが、アンチウイルスオフは一度試して見てください。
これでも機能しないならば、残念ながらお手上げです。
海外も含めて、DDEで類似したトラブルがないか地道にググって見るしかないかも。
これは難しいかも。
DDEはセキュリティ上の問題がありうるはずなので、アンチウイルスソフトでブロッキングされている場合もないとは言えません。
また、WindowsUpdate等のセキュリティ更新で機能の変更などといったこともありうるかも知れません。
この場合は、エクセルでデータも取得できないと思うのでハズレかな。
エクセルでデータ取得できているならば、アンチウイルスの可能性は低そうですが、アンチウイルスオフは一度試して見てください。
これでも機能しないならば、残念ながらお手上げです。
海外も含めて、DDEで類似したトラブルがないか地道にググって見るしかないかも。
620名無しさん@お腹いっぱい。
2019/05/30(木) 14:05:29.87ID:wvCnz3C80 >>619
NugetからNDdeをインストールし、Releceの中に出来たファイル全てオメガチャートのフォルダにコピーしたら動くようになりました。
どうもご丁寧に教えていただき、ありがとうございました。
NugetからNDdeをインストールし、Releceの中に出来たファイル全てオメガチャートのフォルダにコピーしたら動くようになりました。
どうもご丁寧に教えていただき、ありがとうございました。
621名無しさん@お腹いっぱい。
2019/05/30(木) 14:09:39.30ID:wvCnz3C80622名無しさん@お腹いっぱい。
2019/05/30(木) 15:02:36.93ID:wvCnz3C80 それでも最初のDLはまだ、RSSが起動していませんのエラーが出ます。2度目で始まりますが。
やはり相性が悪いのでしょうか。。
やはり相性が悪いのでしょうか。。
623名無しさん@お腹いっぱい。
2019/05/30(木) 16:20:12.21ID:1lRcuW3t0 >>597
昨晩は、いろいろ遅くまでありがとうございました。
為替、US指数が逆転すると申したものです。
US指数は正常に出来ましたが為替が取れませんエラーになります。
Omegachartのエラーメッセージが下記の様に出ます。
これは何でしょうか?
Command.cs:行 529ここはオバーフォロー対策の処の様です。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
************** 例外テキスト **************
System.FormatException: 入力文字列の形式が正しくありません。
場所 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
場所 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
場所 Zanetti.Commands.CommandExec.UpdateFx() 場所 D:\OmegaChart\Omegachart-7bob2d2\Command.cs:行 529
場所 Zanetti.Forms.DownloadDialog.<OnOK>d__53.MoveNext() 場所 D:\OmegaChart\Omegachart-7bob2d2\Download.cs:行 537
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
昨晩は、いろいろ遅くまでありがとうございました。
為替、US指数が逆転すると申したものです。
US指数は正常に出来ましたが為替が取れませんエラーになります。
Omegachartのエラーメッセージが下記の様に出ます。
これは何でしょうか?
Command.cs:行 529ここはオバーフォロー対策の処の様です。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
************** 例外テキスト **************
System.FormatException: 入力文字列の形式が正しくありません。
場所 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
場所 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
場所 Zanetti.Commands.CommandExec.UpdateFx() 場所 D:\OmegaChart\Omegachart-7bob2d2\Command.cs:行 529
場所 Zanetti.Forms.DownloadDialog.<OnOK>d__53.MoveNext() 場所 D:\OmegaChart\Omegachart-7bob2d2\Download.cs:行 537
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
624名無しさん@お腹いっぱい。
2019/05/30(木) 16:38:58.60ID:vghSTvTy0 >>623
為替の場合のみこの部分をコメントアウト(先頭に//を加える)または削除してください。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
コメントしたつもりですがわかりにくかったようですね。
米国ファイナンスは、1.日付 2.始値 3.高値 4.安値 5.終値 6.調整終値 7.出来高の列があり、出来高で7列目も読んでいます。
しかし、日本のファイナンスの為替には5列だけで出来高の列がないのに、テーブルの列数を超える列番号を読もうとしてエラーが出ているのです。
それぞれ別に書けばよかったのですが、違うのがこの1行だけなのであのような書き方をしました。
為替の場合のみこの部分をコメントアウト(先頭に//を加える)または削除してください。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
コメントしたつもりですがわかりにくかったようですね。
米国ファイナンスは、1.日付 2.始値 3.高値 4.安値 5.終値 6.調整終値 7.出来高の列があり、出来高で7列目も読んでいます。
しかし、日本のファイナンスの為替には5列だけで出来高の列がないのに、テーブルの列数を超える列番号を読もうとしてエラーが出ているのです。
それぞれ別に書けばよかったのですが、違うのがこの1行だけなのであのような書き方をしました。
625名無しさん@お腹いっぱい。
2019/05/30(木) 17:41:56.34ID:1lRcuW3t0 >>624
ありがとうございました。
早速//を加えました。
為替も正常にデータ取得できました。
出来れば様子を見てpanacoranさん
に変更依頼をして頂ければ
皆さんが早急に簡単変更出来る
と思いますので宜しくお願い致します。
ありがとうございました。
早速//を加えました。
為替も正常にデータ取得できました。
出来れば様子を見てpanacoranさん
に変更依頼をして頂ければ
皆さんが早急に簡単変更出来る
と思いますので宜しくお願い致します。
626名無しさん@お腹いっぱい。
2019/05/30(木) 17:54:10.14ID:jdeeDFR50 >>625
ちなみに日付順は修正したコードでの再ダウンロードだけで修正されましたか?
あるいは、600ないし別の方法でデータ修正が必要だったかを,今後の参考として教えてくれませんか。
補足ですが、米国指標の出来高は1/1,000で保存しています。
オメガチャートの出来高のデータ型は整数(int)でなければならないのですが、S&Pの出来高がこの上限を超えてしまう(オーバーフローする)ために桁を落としています。
チャートで米国指標の出来高を確認する場合には1,000倍で読み替えてください。
ちなみに日付順は修正したコードでの再ダウンロードだけで修正されましたか?
あるいは、600ないし別の方法でデータ修正が必要だったかを,今後の参考として教えてくれませんか。
補足ですが、米国指標の出来高は1/1,000で保存しています。
オメガチャートの出来高のデータ型は整数(int)でなければならないのですが、S&Pの出来高がこの上限を超えてしまう(オーバーフローする)ために桁を落としています。
チャートで米国指標の出来高を確認する場合には1,000倍で読み替えてください。
627名無しさん@お腹いっぱい。
2019/05/30(木) 21:33:35.40ID:1lRcuW3t0 >>626
株価データが壊れと困るので
Omegachartのレベルアップ時には
別ファイルでビルドしテスト動作確認してから
Omegachart.exeだけを通常使用している
ファイルにコピーし使用しています。
テスト環境では、当然株価データは壊れて
いると思いましたので逆転データは削除
して新しい株価データをコピーし使用し
確認テストを繰り返しましたので問題
はでませんでした。
ところでOmegachart.exeだけをいままで
使用していたファイルにコピーしたところ
基本的には問題ないのですがチャート等の
カスタマイズがOmegachartの立上げ毎に
リセットされてしまいます。
これは過去には無かったと思うのですが
何が原因でしょうか?
株価データが壊れと困るので
Omegachartのレベルアップ時には
別ファイルでビルドしテスト動作確認してから
Omegachart.exeだけを通常使用している
ファイルにコピーし使用しています。
テスト環境では、当然株価データは壊れて
いると思いましたので逆転データは削除
して新しい株価データをコピーし使用し
確認テストを繰り返しましたので問題
はでませんでした。
ところでOmegachart.exeだけをいままで
使用していたファイルにコピーしたところ
基本的には問題ないのですがチャート等の
カスタマイズがOmegachartの立上げ毎に
リセットされてしまいます。
これは過去には無かったと思うのですが
何が原因でしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【カブス】今永昇太 1年約34億円で残留へ QO受諾 米メディア報じる [鉄チーズ烏★]
- 【サッカー】ボリビア戦は新国立競技場の日本代表戦で最少の入場者…5万3508人 [鉄チーズ烏★]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 【雑談】暇人集会所part19
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】女の子、整形で片目失明...高市助けて... [856698234]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【画像】童貞は絶っっっ対"9"を選ぶ書道部J Kの集合写真見つけちゃいましたwwwwwwwwwwwwwwwww [904880432]
