会則
@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/20(月) 15:30:29.07ID:R1wrSMBJ0
障害者が彼女を作るなんてやめてほしい。
子供を自力で育てるのか?
他人に依存するのはやめろ。
こっちもいそがしいのに、なんで他人の世話なんかのために、余計な仕事をしなかいけないんだ。
ふざけるな。
子供を自力で育てるのか?
他人に依存するのはやめろ。
こっちもいそがしいのに、なんで他人の世話なんかのために、余計な仕事をしなかいけないんだ。
ふざけるな。
2019/05/20(月) 15:32:26.69ID:1W8RpmE/0
損した人が湧いて出た。
515名無しさん@お腹いっぱい。
2019/05/20(月) 15:50:15.59ID:S4a3nwBM0516名無しさん@お腹いっぱい。
2019/05/20(月) 15:55:33.53ID:S4a3nwBM0 なんでオメコチャートで負けるか?
過去のチャートしか見れないからや
昨日の天気見て、明日の天気がわかると思うか?
知恵遅れはこれがわからない
過去のチャートしか見れないからや
昨日の天気見て、明日の天気がわかると思うか?
知恵遅れはこれがわからない
517名無しさん@お腹いっぱい。
2019/05/20(月) 15:57:44.66ID:S4a3nwBM0 昨日の天気見て予想するより、
当日、外の天気見た方が晴れか、雨かよくわかるやろ
頭の固いバカジジイは、
株の聖杯があると思って必死こいてプログラム作り
そんなもんねーよバーーーーーカ
当日、外の天気見た方が晴れか、雨かよくわかるやろ
頭の固いバカジジイは、
株の聖杯があると思って必死こいてプログラム作り
そんなもんねーよバーーーーーカ
2019/05/20(月) 16:04:09.09ID:H7gCYju00
それじゃあしぬよ。
2019/05/20(月) 16:30:01.21ID:MHOvCzEi0
負け犬が連投で大騒ぎだねー
相場の肥やしに感謝しなきゃな(^^)
相場の肥やしに感謝しなきゃな(^^)
520名無しさん@お腹いっぱい。
2019/05/20(月) 16:47:44.19ID:S4a3nwBM0 勝ってるフリはいいよ
本当に勝ってるアピールするなら画像ウプな
トレーダーなら当然だろ?
本当に勝ってるアピールするなら画像ウプな
トレーダーなら当然だろ?
521名無しさん@お腹いっぱい。
2019/05/20(月) 16:52:46.78ID:S4a3nwBM0 負けてるやつほど、
論点ずらして勝ってるアピールするんだよな
もうバレバレなんだよ
やめろよ
みっともねえからさ
論点ずらして勝ってるアピールするんだよな
もうバレバレなんだよ
やめろよ
みっともねえからさ
522名無しさん@お腹いっぱい。
2019/05/20(月) 17:21:57.95ID:5Pr7aR5/0 やめろよ みっともねえからさ
2019/05/20(月) 20:32:13.55ID:KjGCMTqT0
「過去のチャート」とか意味不明すぎてそれこそ知能低そう。
チャートっていうのは過去から現在までの値動きのことでしかない。
そして過去のデータが多いほど情報量が多いのも当たり前のことだし、多い方がいいに決まっている。
チャートっていうのは過去から現在までの値動きのことでしかない。
そして過去のデータが多いほど情報量が多いのも当たり前のことだし、多い方がいいに決まっている。
2019/05/20(月) 20:40:44.20ID:KjGCMTqT0
2019/05/21(火) 01:55:36.24ID:TOtRlR350
あぁ、ピコさんか
2019/05/21(火) 02:40:55.02ID:QCaxQ66m0
ま、クズは何をやらせてもクズw
本人が一番わかってるだろうがな
本人が一番わかってるだろうがな
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でコンパイルして見るのも良いかもしれない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 財政膨張、自民党内に異論 麻生副総裁「やりすぎじゃないか」 [蚤の市★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★6 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★6 [ぐれ★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★3 [ぐれ★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★2 [ぐれ★]
- 経団連会長、中国大使面会 代表団受け入れ要請 ★2 [蚤の市★]
- つかもうぜっ!!
- わざとらしい嘘喘ぎが大好きなんだけど
- へっへっ屁が出る5秒前
- ワイの通り名が「キモハゲワキガなんやが」
- どうなってんだよ寒すぎだろ
- ペルソナ4リメイク楽しみだけど千枝も雪子もブスなんだよな
