OmegaChartスレ ver.11

■ このスレッドは過去ログ倉庫に格納されています
2018/10/12(金) 16:06:42.77ID:xz6O6ruA0
会則
@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/
481名無しさん@お腹いっぱい。
垢版 |
2019/05/11(土) 07:54:36.75ID:gxG8rhu70
無理に盛り上げようとしてる?
482名無しさん@お腹いっぱい。
垢版 |
2019/05/11(土) 15:23:44.32ID:nsZ204ji0
edatalabからダウンロードできなくなっているが(´・ω・`)
2019/05/11(土) 20:22:30.46ID:duCGaUGh0
今見ると、edatalab自体に問題はなさそう?

株価指数と為替のチェックボックスのcheckedにfalseを代入すると消えると思います。

Dreamvisor、ついに逝ったか。R.I.P.
484名無しさん@お腹いっぱい。
垢版 |
2019/05/11(土) 21:57:33.79ID:xUHJJbjN0
DreamVisor終了対応上手くいっている人いますか?

OmegaChart DreamVisor終了対応の4つの.csを
Rev.8b0b2d2cで書き変えてVisual Studioのインストール
すると構文エラーメッセージが出てビルドできません。
2019/05/11(土) 23:17:14.92ID:nsZ204ji0
>>483
>株価指数と為替のチェックボックスのcheckedにfalseを代入すると消えると思います。

どうすればいいんでしょうか?よくわかりません。
2019/05/12(日) 00:00:29.29ID:fAxbzDhk0
>>485
あなたの要望は、結構簡単にかなえられます。文字面にすると長いですが、慣れてきたら速いです。

Visual Studio C#でOmegaChartのコードを開いてみてください。
今回やりたいことは、「データのダウンロード」の画面でのことですから、その画面を開いてみます。
前述VS C#のソリューション・エクスプローラーで、「Download.cs」と書いてあるところをダブルクリックしますと見慣れた「データのダウンロード」画面の設計画面が出てきます。
今回の目的は、「株価指数」「為替」のところにチェックが入らないようにする改造です。なので、これらの名前をまず探ります。

「データのダウンロード」画面の設計画面、こちらの「株価指数」を軽く左クリックしてみてください。アクティブになったと思います。そのうえで右クリックしてプロパティをクリック。
おそらく、画面右下にプロパティが表示されていると思います。このプロパティの一番上の方に「Name」という項目を見つけてみてください。「_indicesCheckBox」という名前を確認できると思います。
これが「株価指数」の内部的な名前です。「為替」に関しても同じように内部的な名前を探してみてください。

内部的な名前を取得できたら、コード上でどういう風に扱われているかを調べます。
「データのダウンロード」画面の設計画面のどこでもいいですから、右クリックして「コードを表示」してみます。そのうえでメニューの「編集」-「検索と置換」-「フォルダーを指定して検索」
内部的な名前である「_indicesCheckBox」を「検索する文字列」に入力して「すべて検索」ボタンを押下します。

おそらく画面下の方に「検索結果」が出力されたと思います。
すると、私がさきほど書いた、「checkedにfalseを代入」という意味合いに近い内容であるものが440行目くらいに見つけられると思います。

_indicesCheckBox.Checked = _currentOrder.ForeignIndices;
これを
_indicesCheckBox.Checked = false;
へ変更するとチェックは消えます。
同じ要領で「為替」も処理してみてください。

ちなみに、実際に自分でもこの処理をして走行させてみたんですが、無尽蔵で更新してみたんですが、チェックは外れているにもかかわらず、日経平均は更新されました。
まあ、これはこれでいいのかもしれません。
2019/05/12(日) 04:31:41.72ID:MCakWW4m0
>>484
「条件付きコンパイル シンボル」を空欄にしてリビルドすればいいだけじゃないの?
2019/05/12(日) 12:13:07.53ID:GlbSADKj0
edatalabはなんでダウンロードできんの?(´・ω・`)

404サイトがありませんと出る。( ´∀`)
2019/05/12(日) 13:37:14.64ID:fAxbzDhk0
>>488
10連休対応ができていないからじゃないですか?
https://ja.osdn.net/users/panacoran/pf/OmegaChart/scm/
2019/05/12(日) 13:54:10.41ID:B7ROkQq00
>>484 ヤフーからの取得分は、ファイルのコードを一部書きえ変えないといけなくない?
2019/05/12(日) 15:40:52.81ID:fAxbzDhk0
>>484
DreamVisor終了対応を出した後に、yahoo.cs自体が改変されてますので、エラーになるのだと思います。
2019/05/12(日) 22:49:49.66ID:XYtYfols0
「ファイル MainFrame.resx を処理できませんでした。
インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。
これらのファイルを処理するには、Web のマークを削除してください。」

ビルドすると上記のようなエラーが4つ出てビルドできません。サインインした状態でビルドしているのですが、何が原因なのでしょうか?
2019/05/12(日) 23:28:05.48ID:XYtYfols0
自己解決しました。
問題が起きるファイルを右クリックしてプロパティ画面を出して、全般タブで
「このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」
の横にある「許可する」のチェックボックスをオンにしたらエラーが出なくなりました。
2019/05/14(火) 15:35:43.11ID:G0hDT60N0
「データのダウンロード」は2か月前までしか遡れないようですが、1年前ぐらいまで遡ってデータの取得をするにはどうすればいいのでしょうか?
2019/05/14(火) 15:44:35.72ID:BOQ9bHQQ0
>>494
>>418
2019/05/14(火) 16:08:26.40ID:G0hDT60N0
>>495
ありがとうございます。
それと、dreamvisor終了で為替、ダウ、ナスダック、S&P、業種別指数が4/26までしか取得できない状態になっていますが、
これらを取得する方法はないでしょうか?
2019/05/14(火) 16:10:49.31ID:G0hDT60N0
ちなみにデータのダウンロードはyahoo時系列でやっています。
もしかしたら無尽蔵やedatalabなら取得できるのでしょうか?
498名無しさん@お腹いっぱい。
垢版 |
2019/05/15(水) 20:32:54.15ID:c5/dDRjy0
>492,493
有用な情報、サンクス
499名無しさん@お腹いっぱい。
垢版 |
2019/05/15(水) 21:04:46.88ID:dF2mQA4u0
>>494
パソコンの日付を変えれば過去データ取れる
2019/05/15(水) 22:01:45.80ID:v9Vt+UTl0
>>499
ありがとうございます。それなら簡単ですね。
501名無しさん@お腹いっぱい。
垢版 |
2019/05/17(金) 18:09:35.12ID:PxFxDAMe0
あと、こんな糞ソフトいじくった所で時間の無駄

今は証券会社のツールの方が何百倍も高機能だし情報が正確

15年前ならまだしも、

こんな糞ソフトいまだにいじってる連中は頭の弱いジジイだから

負け組の溜まり場
502名無しさん@お腹いっぱい。
垢版 |
2019/05/17(金) 20:37:34.71ID:hMfS+eJB0
自分のことかい
2019/05/17(金) 21:34:05.05ID:4e3psM2T0
生きてたんかい
はよしねw
504名無しさん@お腹いっぱい。
垢版 |
2019/05/18(土) 09:51:17.49ID:CKY27RWg0
また負けたんかい
2019/05/18(土) 14:12:39.48ID:sbflJL8k0
むしゃくしゃしていた、
人生を終わりにしたかった、
誰でもよかった、

今は反省している。
2019/05/18(土) 19:44:55.73ID:O1BHtJDM0
「あと、」って何なんだろうな。何の続きなんだか。
証券会社のツールはデータが少ないし、大抵はomegachartより低機能で使いづらいと思うけど。
こういったツールに限らず、最近のソフトウェアは全般的に程度が低い気がする。
507名無しさん@お腹いっぱい。
垢版 |
2019/05/19(日) 06:29:53.26ID:s9zZLeQK0
それは癖 幼稚な話の切り出し方や続け方で「あー」や「えーっと」と同レベルだが内心の動揺や緊張の表れの場合が多い
2019/05/19(日) 13:16:22.66ID:tuxnRnmJ0
何かの話の続きなのであれば別に不自然ではないし、フォーマルな場面でなければそれぐらいで幼稚とまではいかないでしょ。
>>501の場合は最初のレスでいきなり「あと」なんて言ってるからおかしいんだろ。

それはさておき、為替とかダウとかが取得できないのはどうにかできないのかな?
509名無しさん@お腹いっぱい。
垢版 |
2019/05/20(月) 14:56:21.44ID:S4a3nwBM0
証券会社のツールで勝てないやつが、

過去のチャートしか見れないオメコチャートで勝てるわけないやろ

バカジジイの知恵遅れが頑張っても無駄やで

自殺する前にやめとけよ
2019/05/20(月) 15:13:55.19ID:R1wrSMBJ0
今日も損した。
なにもかもいやになった。
周り中ぶち壊してしにたい。
2019/05/20(月) 15:15:03.70ID:R1wrSMBJ0
幸せそうに歩いているやつらが、にくい。
そういうやつらならだれでもいい、ぶんなぐってやりたい。
お前たちがしあっわせなぶん、おれが地獄にいるんだ。
ゆるさない。
お前たちは子供ができないだろう。
2019/05/20(月) 15:15:29.82ID:R1wrSMBJ0
神社の絵馬に、お前たちのことが書いてあるかもしれない。
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:S4a3nwBM0
>>510
なんで毎日毎日負けるか教えたろか?

オメコチャート使ってるからやで

はよ気づけよ
516名無しさん@お腹いっぱい。
垢版 |
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
画像なんていくらでもねつ造できるし、株とかアフィリエイトとかで腐るほど嘘吐きペテン師がいるけどな。

まあ、>>510みたいな奴には個人的にはある意味では期待してるけど、>>521みたいな奴は何やっても駄目な奴って感じで糞みたいな奴だなって思う。
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:mca4V2dz0
>>528さんには
誰かさんが作った「米国ヤフーからオメガチャートデータへ」が
よいと思って検索したが消えていた
2019/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側に変更があるとも言われています
のでどうぞ最新版再度アップデートお願い致します。
すいませんよろしくお願いいたします。
2019/05/25(土) 13:55:29.11ID:KTMtmVvI0
>>533
そんなことはとっくにやってる。
自分が言っているのはビルドに失敗するという話ではなくて、米インデックスと為替がダウンロードできないって話。
dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。
2019/05/25(土) 14:47:46.10ID:KTMtmVvI0
>dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。 X

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さんは「株価がなぜか置いてあるサイト」でデータも配信していた人だと思いますから、何か事情があったのかもしれません。
541名無しさん@お腹いっぱい。
垢版 |
2019/05/25(土) 17:13:23.86ID:v0x5ULVG0
>>532
VBAで四本足をOmegaのバイナリーに直すという奴
ネット上にあるstooqその他情報源はフォーマットがバラバラなので
Omega修正は面倒らしいよ。だからこのスレに載らないのだと思う
VBAさえわかれば、かなりの時系列の指数が取り込める
ただ、データ元のフォーマットが変わるといちいち書き換えがいるので
だんだん面倒になる。無くても投資に実害はないと言えば身もふたもないが
2019/05/25(土) 18:52:01.66ID:KTMtmVvI0
panacoranさんはたまにこのスレにも来るようだから、米株指数と為替の取得に対応してもらえると一番いいんだけどね。

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本体のバージョンをダウングレードして試すのもいいかもしれません。
2019/05/25(土) 21:35:27.12ID:KTMtmVvI0
>>543
ありがとうございます。そのソースコードを検証してみます。
545名無しさん@お腹いっぱい。
垢版 |
2019/05/26(日) 02:37:11.14ID:oCn4TG5n0
>>542
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商品指数

他にもあるよ
548名無しさん@お腹いっぱい。
垢版 |
2019/05/26(日) 09:08:05.25ID:izNMaCME0
昔はUsYahooから世界の指標を毎朝自動更新してindex.txtもどきのuser.txtに指標を追加して利用していたが、数年前にページレイアウトが変わりダウンロードもできなくなったことがあったのでやめてしまっていた。

最近見たところ、日本株も時系列が取得できるようになっているようだ。
しかもcsvで、ページ変更せずに一度に長期データを取得できる。

利用規約やスクレイピングに関する利用制限などの記載がどこかにあるかはよくわからない。
2019/05/26(日) 10:18:07.86ID:iCMgYIjC0
>>545
確かに米株指数はそれで見れるね。だけど為替が残念ながら見れない。

>>547
ありがとうございます。やってみます。

>>548
また利用できるようになればいいんだけど、対応できる人いるかな。
550名無しさん@お腹いっぱい。
垢版 |
2019/05/26(日) 10:52:50.14ID:izNMaCME0
>>549
自分で他人に頼るな
551名無しさん@お腹いっぱい。
垢版 |
2019/05/26(日) 22:08:13.94ID:oCn4TG5n0
>>548
場中の監視にはOmegaよりGMO証券のFXプラチナチャート+だね
サイズが大きいのが難点だが起動時にページのサイズを小さくすると解決する
2019/05/26(日) 22:25:55.60ID:iCMgYIjC0
>>547
downloadorder.csの方がどこをいじっていいのか分かりません。
ただ34行、39行、173行にkenmilleを追加しても駄目ですよね?
ちょっとやってみた感じでは_dateArrayでエラーが出てしまう。。
553名無しさん@お腹いっぱい。
垢版 |
2019/05/26(日) 23:56:07.09ID:oCn4TG5n0
訂正
>>548ではなく
>>549
場中の監視にはOmegaよりGMO証券のFXプラチナチャート+だね
サイズが大きいのが難点だが起動時にページのサイズを小さくすると解決する
554名無しさん@お腹いっぱい。
垢版 |
2019/05/27(月) 05:57:36.36ID:lgAzcOdb0
>>552
omegachartuser さんのDreamvisor対応に従ってkenmileを書き換える必要もありますよ
2019/05/27(月) 22:10:42.67ID:FNUMSzvy0
>>554
やってみたのですが、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 のコード変更箇所を見てもビルドエラーが出るような理由はなさそうだが
559名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 08:03:06.17ID:FwlJey7b0
「そんなことはとっくにやってる。」と言っていたんじゃないのか?

Yahooの警告の行番号も違うし、自分勝手に間違って変更しているだけだろ。
2019/05/28(火) 09:01:27.86ID:3qDgbrpa0
つか、自分が開発者になるわけじゃないなら普通に完成版をダウンロードさせればいいだろうに。
ここで年寄りどもにプログラマー養成でもしているつもりにでもなっているのかねw
561名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 09:31:24.50ID:T72eJEyD0
開発終了してすでに完全版といて公開されているものだから、それをありがたく使えば良いだけ。
時代の流れで使えなくなった部分は諦めればいいんだよ。

しかし、ソースコードが公開されているので努力次第で改造できるということ。
自分好みに改造したいのであれば、クレクレばかり言わずにプログラミングを勉強しろ。
562名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 11:07:14.10ID:T72eJEyD0
>>561
すまん。
年寄りの言葉に感情的になってしまった。反省。

お詫びに、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));
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等の非同期処理に変更するとウィンドウは固まらなくなる。
*/
2019/05/28(火) 12:29:40.35ID:EPN7n0KA0
omegachartuserですが、しばらく来ないうちに、私が書いたコードがご迷惑をおかけしていたようで、お騒がせをしております。
「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さんが戻って来られたので、ちょっと勇み足だったかもしれません。
書き始めてしまったので、あまり参考にならないかもしれませんがダウは非同期処理サンプルとしてアップしようかと考えています。
2019/05/28(火) 12:59:44.59ID:3qDgbrpa0
    ___
   ,;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);
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の更新に移り、この段階ではウィンドウが固まることになるはずです。
570名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 14:59:10.98ID:T72eJEyD0
>>569

ちなみに、FXを非同期に変更して、CommandExec.UpdateUsYahoo()のawaitを消すと警告が出ますがUsの終了を待たなくなるので、あたかもUsとFXが同時処理される様な挙動となります。

注意:デバッグで非同期処理でエラーが起こった場合の挙動が同期の場合と異なりエラーの場所を特定するのが困難になり、はまってしまうことが多くなります。
特に、さらにasyncメソッドを呼び出した場合などではデバッグトレースで行番号の取得ができなくなる様です。
正規表現の変更が必要になった場合は、同期処理で確認して例外処理が完了してから非同期化するのが良さそうです。
2019/05/28(火) 15:21:50.94ID:EPN7n0KA0
>>566
いえ、勉強になります。ありがとうございます。

で、続きですが、「ファイルをドロップしてデータ更新¶」というのを前に作りました。
CSVファイルにコード、日付、四本値を書いてドラッグドロップして株価更新するというものです。
この仕組みをご自身のシステムに組み入れておけば、何も手段がないよりかはマシかなと思いました。
もちろん、有志の方がご提供されているコードで問題解決になれば言うことはありません。
572名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 22:02:06.59ID:FwlJey7b0
>>571
お帰りなさい。
過去ログでなぜかがBANされたらしいとのコメント見て心配していました。

取引もしている様でちょっと安心しました。
再び新しいいアイディアを投稿されると刺激になります。
これからも、気が向いたときでいいのでOSDN更新されるのを期待しています。
573名無しさん@お腹いっぱい。
垢版 |
2019/05/28(火) 23:17:50.29ID:kCN6ZPsB0
>>569
これはどこで定義?
'UpdateUsYahoo' の定義がありません
と出るのですが。
574名無しさん@お腹いっぱい。
垢版 |
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 メソッドにアクセスできるはずなんだけど。
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:XuUWLcKV0
>>576
もしも、>>568のことを言っているのであれば
データ取得に時間がかかりすぎてタイムアウトが短すぎるのかもしれない。
client.Timeout = new TimeSpan(0, 0, 0, 20);//秒
の行をコメントアウトして見て下さい。
デフォルトタイムアウト100秒になるはずです。

これでもダメならわかりません。
578名無しさん@お腹いっぱい。
垢版 |
2019/05/29(水) 10:03:22.81ID:d87uIgU+0
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー ファイル 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
ググって調べて見て下さい。
581名無しさん@お腹いっぱい。
垢版 |
2019/05/29(水) 10:25:24.90ID:XuUWLcKV0
>>478
>>492 にも同じ話題がある
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況