OmegaChartスレ ver.10 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
>>431,432
ありがとうございます。 431 でできました。 ライツ・オファリング希釈化を株価に反映するパターンとしないパターンも選択できるようにしたいけど、
データの段階で選り分けないといけないし、過去の分割情報がごちゃまぜになってるから、もう無理という感じでもある。悩ましい。
楽天証券、SBI証券、マネックスのチャートはライツ・オファリングを考慮してないチャート
ヤフー・ファイナンスは考慮してるチャートを使用。 今日、RSSめっちゃ遅い。こりゃ、恒久的なデータ取得先としては難しい。
1銘柄の情報を取るのに3分掛かる。3500銘柄を終えるには175時間必要。
※305のコード、※382のサーバは運用停止です。無理筋w
データソースとしては、ヤフーか無尽蔵で、あとは有料サイトになりそう。 Omegachartで何点かを指定してジグザグラインを引かせたいがフリーラインより難しそうな
本当は開始地点2カ所を指定してエリオット波を表示させたいがそもそも無理な話でしょうか CSV2Omegaは64bitでも使用できますか? >>436 うちだと30分くらい(いつも要する時間くらい)でRSSから全銘柄データ取得できました >>439
えー、本当ですか。ありがとうございます。
>>437
エリオット波動のラインは引きたいですよね。難しいと思いますけど、可能だと思いますよ。
フリーラインのコードを参考になるだろうし。クリックした2点の内側にある株価の最高値、最安値をどうやって知るのかがポイントじゃないですかね。 >>440
高安が分からなくても、そのクリックしたポイントのY軸を高安にすれば簡単か。
線の描画は意外と簡単だったイメージです。ポイント2点をフリーラインと同じようにOptions.confに保存。
問題は、エリオット波動描画モードをどう認識させるか。ShiftボタンとCtrlボタンを押しながらの操作は予約済みなので、
Altボタンを押しながらとかできるのかなぁ。 k-db さん終了しちゃうね
いままでありがとう〜! >>437
任意のところに線を引くには、ポイント指定して線を引くコマンドを投げればできます。
岡嶋さんのOmegaChartコードだと、
Win32.MoveToExで起点指定して、Win32.LinetToで線を引く。こんな感じコードで1本の線を引いてます。
文字を添えたい場合は、ChartUtil.DrawTextを使います。
画面上のポイントを株価に変換するのは、Util.csにあるTransのInverseで処理してくれます。 >>443
ご教示有り難うございます ソースコードを眺めながらトライしてみます
時間はかかりそうですが トレードステーションからも株価ダウンロードできるのか。さっそく申し込んでみた。 ゲンキーがテクニカル上場、忘れがちなところ
9267,GenkyDrugStores,T1,100 データダウンロードで、出来高0のデータは書き込みしない場合
Yahoo.csはどう改変したらいいの? >>448
一番下の方に、出来高がない日は値が0のデータで補うと書いてあるfor文をコメントアウト k-dbからDLしようとすると「指定されたキーはディレクトリ内に存在しませんでした」になってDLできないんだけどほかの人どうですか? >>450
東一の出来高のページが更新されてないので、エラーになってますね。
ttp://k-db.com/statistics/T1 どうしてもk−dbのソースでダウンロードしたい場合は、
KdbCom.csのGetMarketVolume()の先頭で、
_marketVolume[DataTime.Parse("2017-12-21")] = 1451824;
と直に書いてしまうとエラーなしで動きます。と書こうとしたら、直ってますね。
もう大丈夫だと思います。 Kdbさんもう終わったのかと思って今日から無尽蔵に切り替えた >>437
エリオット波動のサンプルコード。
ライン情報の追加方法はOptions.conf直書き。FreeLineと同じフォーマット。
elliott-lines=101:D:20170101:23000:20180101:48000,9984:DL:〜以下略〜
FreeLine.csをコピーしてコンパイルを通るだけにしただけのようなもの。
色は変えられます。
ご懸念のジグザグラインは、Elliott.csのDrawで書いてます。
エリオット波動と名前が付いてますが、肝心のエリオット波動のロジックは入ってませんので名前倒れです。
OmegaChart Elliot波動 Elliott.cs 新規追加
ttps://osdn.net/users/omegachartuser/pastebin/5743
OmegaChart Elliot波動 Preference.cs 追加修正ポイントには//☆Elliott
ttps://osdn.net/users/omegachartuser/pastebin/5742
OmegaChart Elliot波動 Env.cs 追加修正ポイントには//☆Elliott
ttps://osdn.net/users/omegachartuser/pastebin/5741
OmegaChart Elliot波動 CustomizeDialog.cs 追加修正ポイントには//☆Elliott
ttps://osdn.net/users/omegachartuser/pastebin/5740
OmegaChart Elliot波動 ChartDrawing.cs 追加修正ポイントには//☆Elliott
ttps://osdn.net/users/omegachartuser/pastebin/5739
OmegaChart Elliot波動 ChartCanvas.cs 追加修正ポイントには//☆Elliott
ttps://osdn.net/users/omegachartuser/pastebin/5738 >>456
いつも有り難うございます(多分) これで大幅に手間が省けました 大感謝です
エリオット波動本体の定義は結構面倒くさそうです 例えば以下のページの計算式
http://www.freebsensetips.com/blog/detail/27/Elliott-wave-calculation-formula
雑なコピペのせいでしょうか式が間違っている様です 最初はフィボの係数を割りきって
1波(1)に対する修正2波の戻り(0.618)、3波はそこから伸張(1.618)、修正4波の
戻りは3波の終わりから(0.618)、5波の伸張は(1)、A波の戻り(0.618)、B波の
伸張はAの修正の50%(0.309)、最後のC波の伸張は(1)で試そうかと思います
それにしても日本ではまともなエリオット波動の解説はなかなか見あたりませんが
ウェブ検索で Eriott wave theory PDF とやれば結構興味深いものが入手できます ダウンロードでチェックを入れた時の、株価指数、為替、業種別指数のデータ元はどこですか? データ元はドリームバイザーなのかな。
Yahoo.csで日経とTOPIXを更新しないようにするには、どこをコメントアウトしたら良いですか? ヤフーは個別と一緒に日経とトピを取りに行ってますね。
Run()の中のWhile文の手前の3行、
UpdaeDataFarmで日経を処理してる行、次のSendMessage、1行飛ばしてTOPIXを処理してるEnqueueをコメントアウト 今まで k-db から5分足データをダウンロードしてきたけどもう出来なくなっちゃう(´・ω・`) 無尽蔵さんデータダウンロード無茶苦茶速いねありがとう DreamVisor.csで上書きから追記に改変するにはどうしたら良いですか?
日経の長期データが上書きされて消えちゃいます。 >>464
DreanVisor.csにある ImportFullDataを以下のリンク先のように書き換える。
注意としまして、空なのに銘柄ファイルがある(0バイトファイル)と、エラーにもならず、その銘柄だけ更新されません。
OmegaChart DreamVisor.cs 必ず上書きじゃなくて、未来データなら追加するように書き換える
ttps://osdn.net/users/omegachartuser/pastebin/5744 >>465
お手数おかけして、ありがとうございます。 0101 日経平均のdeta(1949/05/16〜2017/12/15)だと
Year、Month および Day パラメータが表現できない DateTime を示しています。とエラーが出ちゃいました。。・゜゜・(>_<)・゜゜・。 >>467
ミスってたのは、DreamVisorのレコード仕様とOmegaChartの仕様が違うのにそのままコピーしてたものだからズレてしまい、
変な部分を日付として読み込もうとしたので日付として表現できないというエラーになったようです。
以下修正版です。
OmegaChart DreamVisor.cs 必ず上書きじゃなくて、未来データなら追加するように書き換える(修正版その1)
ttps://osdn.net/users/omegachartuser/pastebin/5753 >>469
今度のは、0バイトファイルでも上書きできるのを確認。 >>467
指定した期日が古すぎ
omegaはデータが古いと弾かれるハズ
後、dream visorに、1949年のデータが有ることも確認した?
コッチもエラーが出そうだけど >>469
上手くいきました!重ね重ねどうもありがとうございます。 >>456,457
以前フィボナッチリトレースメントを表示できる様にする(した)事があったが 結局は
エリオット波動もこれと殆ど同じでは? エリオット波動の表示が面倒なのは 多分戻しと
伸びの比率がその場で幾つも候補があるからでフィボッチが表示されたら各候補を適当に
クリックして線が引ければ良いのでは
勿論ごちゃごちゃして美しくないと具合が悪いだろうし高値安値の2カ所をクリックすれば
初期に設定した比率でエリオット波が表示されるのも悪くはない いっその事 ダイアログで
戻しと伸びの比率を設定可能であれば好都合かな
いずれにしてもフィボナッチリトレースメントとの統合がうまく行きそうだがどうでしょう >>457
70年以上も前の理論そのままに上昇5波下降3波と言うだけでは市場に翻弄されて大怪我するだけでは?
まあ酒田五法の足形を覚えるよりはましだと思うが ここはシステム技術、RPA関連なので、要件をOmegaChart上でどう表現するかがお題であって、要件自体を議論してしまうとややこしくなり。 フィボナッチは要らぬ エリオットも要らぬ わたしゃオメチャがあれば良いとふざけてみてもやはり気になるエリオット
今回の日経の上げ相場、初動の起点を9/8に取れば9/21辺りで第一波が完成、初押し終了が9/27頃かな、その後の第三波
エクステンション終了後の4波の戻しはインジケータを参考にすれば10/30頃かな 最後の五波は11/8日か9日に完成した
これまでの値幅は9/21から9/8の1073円、11/8までなら3639円 ざっくり 3.4倍の伸びはエリオット理論の範囲内になる
明らかに最初のA波プルバックは11/15までの様 すでにB波とC波は完成しレンジ相場に入って逃げ場も狭まっているので
上下どちらかに振れるのは時間の問題 ここらの解析はあくまでベーシックなのでもっと詳しい方にやって欲しい所
そもそも今回の上げはハイエナどもがチョンを餌に値を思い切り釣り上げた後に売りかましてあくどく二重に儲けようと
企んだのではないかと勘ぐっているが あそこの戦闘も様子見なのでもう一段つり上げにいく可能性も捨てきれないよね 新手一生っていう言葉があって、どんな手でも自分の物として使えるようなればオリジナルなわけよ。
俺はそれを漫画から学んだ。
TOKYO PRO Marketの銘柄は楽天証券RSSだと取得できるのね。
ttp://www.jpx.co.jp/equities/products/tpm/issues/index.html
今日、出来高があったのは、2336富士テクノソリューションズ Trade Station、今日から使えるようになったので見てるけどちんぷんかんぷん。
・全銘柄4本値は、スキャン画面で全銘柄選択すると見られるっぽい。
・手動でコピーはできる。自動でファイル出力する方法は判らない。
・ 「スキャン結果をTradeStation 9.5\Scnas_root内に自動的に生成する」にチェック入れてもそんなフォルダはできない
・時価総額、発行済み株式数、ファンダの数字も取れる
ツイッターみると、自動で取れるとのことだから、頑張って探ってみよう。
ってもう5分前だった。 >>481
> 「スキャン結果をTradeStation 9.5\Scnas_root内に自動的に生成する」にチェック入れてもそんなフォルダはできない
これ、間違い。できてた。プログラムの知識がなくても全銘柄株価の4本値CSVが手に入る。しかも、スケジュール設定もできる。
ただ、項目(始値とか出来高とか)の並びがうまく制御できない。なんかコツでもあるんですかね。
株価ソースが一個確保できました〜。 >>482
EasyLanguageで書けばもっとマシなのができるのかもしれませんが、とりあえず。
OmegaChart TradeStationスキャナから出力したCSVで株価取得
ttps://osdn.net/users/omegachartuser/pastebin/5755
例によって新しい項目として上記のファイルを作って、DownloadOrderから呼び出す。
必要な作業の手順として、
1.TradeStationを開く
2.ファイル、新規作成、トレーディングアプリケーションウインドウから、スキャナーを選ぶ
3.挿入ボタン押下
4.名前を適当に書き、シンボルに全銘柄(日本)を設定、スキャンで使用する基準を選択で、フィールドに始値、高値、〜略〜、出来高などを選択
5.演算子は「>=」、フィールド値は「0」
6.終了ボタン押下して、適当に付けた名前のスキャンが存在するのを確認
7.そのスキャンを右クリックして、スキャンの設定、結果のダイアログで結果ファイルの生成にチェックを入れる
8.スケジュールとかはご希望で。
9.動作させたい場合は、作ったスキャンをクリックして実行、CSVファイルが得られる
以上 >>483
>5.演算子は「>=」、フィールド値は「0」
演算子に「表示」でOKだった フィボナッチ・リトレースメントのサンプルコードが出来たのでコピペに置いておきます。
Altキーを押しながらラインを引くと5本のラインが出来ます。ラインを消す時は上下の2本ライン、どちらかをクリックすると消えます。
移動も長さの延長もできないです。
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加
ttps://osdn.net/users/omegachartuser/pastebin/5763
OmegaChart Fibonacciリトレースメント Util.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5762
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5761
OmegaChart Fibonacciリトレースメント Env.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5760
OmegaChart Fibonacciトレースメント CustomizeDialog.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5759
OmegaChart Fibonacciトレースメント Command.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5758
OmegaChart Fibonacciトレースメント ChartDrawing.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5757
OmegaChart Fibonacciトレースメント ChartCanvas.cs 追加修正ポイントには//☆Fibonacci
ttps://osdn.net/users/omegachartuser/pastebin/5756 >>486
どうも有り難うございました 動作など確認させて頂きます >>483
Trade Stationの件ですが、ETFが抜けてた。REITはあります。
テックポイントが抜けるのは判るんですが、ウェーブロックもなぜか抜けてる。
>>487
お楽しみください。既知のバグとして、空の銘柄でラインを引こうとすると落ちます。
Fibonacci.csの SetHighPriceAndLowPriceを戻り値boolとして、エラー処理すると回避できました。 >>483
トレステでは、スキャンに時価総額、発行株式数等他を追加すると取得できる銘柄数が少なくなります。
例えば、地方取引所を除外したスキャンに時価総額を追加した場合、3914銘柄から3653銘柄に減少します。
ほとんどはETFですが、アフラック、アメリカンインタナショナル、モルガンスタンレー
、ウェーブロック、テックポイント、伊藤園優先株なども取得できなくなるようです。
時価総額、ファンダメンタル等を取得したければ別の設定でスキャンして、
データ取得は4本値と出来高だけにした方が良いと思います。
なお、結果のテキストファイルはUTF8です。
また、データの日付はファイル名で取得するため、翌朝や祝日にスキャンしたものの場合はIsMarketOpenDateなどを利用して日付の補正が必要になります。
また、フィールド名が1行目に出力されているので、これでフィールド順をファイルごとに動的に変更すると確実です(Encoding.UTF8でなければフィールドは読めません)。 >>489
なるほど〜。最小限の項目で再申し込みしたら、全て取れたようです。
詳細情報とご助言感謝します。 >>486
早速ビルドして動作確認しました フィボナッチはきれいに表示でき使い勝手もよかったです
ただお気に入りを表示しようとするとエラーが発生しました 原因が分かりません(ビルドにはVC# 2010 Expressを使用) >>491
それは、お気に入りに登録している銘柄の情報が、index.txtにないケースじゃないですかね。
テスト環境だ銘柄数を削ったindex.txtを使うでしょうから、もしかしたら。 >>492
確かにお気に入りの中身を変更したらエラーは起きず表示可能になりました
名証なんかの銘柄がある場合、表示のための回避策はないのでしょうか? ↑ です
心当たりがありますので改変部分を見直してみます お騒がせしました >>494
解決済みかもしれませんが。
Bookmark.cs のLoadで Int32.Parse(child["code"])の読み込みを行ってます。
ここでindex.txtに存在しないコードが挿入されてエラーを起こします。
エラーを起こす先で、「存在しない銘柄だったら抜ける」という処理を行っても際限なくエラーを起こすようなので次のような処理をするとエラーが起きなくなります。
int code = Int32.Parse(child["code"]);//この行の下2行追加
AbstractBrand br = env.BrandCollection.FindBrand(code);
if(br==null) code = 9984;//9984は仕様上必ずindex.txtに記載する必要がある銘柄
エラーを回避できますが、お気に入りはソフトバンクがずらっと並びます。 >>495
>際限なくエラー
意外と少ない修正点だけで済みました。
Bookmark.cs の class BrandBookmark の CreateTreeNode
nodeを設定する行を以下のように変更
TreeNode node = new TreeNode(_brand == null ? _code.ToString() : _brand.CodeAsString + " " _brand.Name);//要はエラーにならないように唯一分かってる情報である銘柄コードだけを書き込む
ChartTitle.cs の DrawTitleString
AbstractBrand br を設定する行の下で以下追加
if(br==null) return;
ChartCanvas.cs のマウス絡みの各イベント OnMouseMove、 OnMouseUp、 OnMouseDownのど頭で以下コード追加
if(_brand==null) return;
MainFrame.cs AdjustViewmenuで以下追加
if(_chartCanvas.GetBrand()==null) return;
ここまでやれば致命的なエラーは回避されたっぽいです。 k-dbからデータダウンロードすると時折エラーになることがありますよね
>>376さんのように長期間のデータを上手に集めるには、何かコツがあるんでしょうか? >>496
new TreeNode(_brand == null ? _code.ToString() : _brand.CodeAsString + " " + _brand.Name);
上記タイプミスで+が抜けていましたね でも おっしゃるとおりエラー回避できている様です
貴重な情報どうも有り難うございました >>497
エラーになったら、3秒くらい待って再度取りに行くようなコーディングすればいいんじゃないでしょうか。
>>498
間違ってましたね。訂正ありがとうございます。
k−dbさん、長きに渡りデータ提供していただきありがとうございます。感謝。
オメガユーザーの皆さん、1年間お疲れ様でございました。
来年も爆益と共にあらんことを。 K-dbさんおつ!
K-dbさんが公開されてる全てのDATAのCSVファイルのバックアップファイル
これ、どなたか圧縮してダウンロード保存用のリンクを貼って下さるんですか?
以前リハーサルされてた人居ましたよね、あれ非常にありがたいのです。 明けましておめでとうございます。
kdb_csv.zip
ttps://drive.google.com/file/d/1wUVliXobs1niPhyjHYuqa64ob7T_WG9O/view?usp=sharing
k−dbさんのサイトにあったCSV群の一部をZIPに固めたもの
中身はkdbというフォルダ、kdb_otherというフォルダ、readme.txt
kdbというフォルダには個別銘柄のCSVファイルが、kdb_otherは個別以外の指数とか先物のファイルが、
readme.txtには、ファイル名と中身とそのCSVファイルが次に説明するオメガチャートのデータファイル番号との関係についての説明書きが掲載
kdb_data.zip
ttps://drive.google.com/file/d/17L52RtZPMMXX89SwDgnVE6xELHXpyPkv/view?usp=sharing
k−dbさんのサイトにあったCSV群をOmegaChartのデータ形式に変換してZIPに固めたもの
ダウンロードして、OmegaChartの機能である「データの初期化」で使える
解凍するとdataというフォルダ、その中身は4桁数字のファイルが格納されている
上記kdb_csv.zipにあるreadme.txtに、そのファイル名がどの銘柄のファイルなのかが記されている。
例えば0101が日経平均、0102がTOPIX、0103が東証二部指数、0106がジャスダック、0111がマザーズなど。
色々チェックはしたが、大量データでチェック漏れ、抜けはありえるのでそこは了承して使っていただきたい。 >>506
あけましておめでとうございます
素敵なお年玉をありがとうございます
今年1年、506さんに良いことがたくさんありますように! Cドライブ下のフォルダに、k-dbの形式などで日々データのcsvファイルを集めておく
そのフォルダからデータ取得することにより、過去から現在までのオメガチャートのデータの更新をおこなうことはそれほど難しくない?
ダウンロード先として指定されているurlを、当該フォルダに書きかえればできるんじゃないかなという気はするんだけど・・・ パソコンのファイルから株価データ更新はソース書き換えですぐ出来るけど、
日々の株価データをどうやって用意するかが問題の本質なわけで。
現状、無尽蔵と株価情報(edatalab)がメインとサブ、>>424がバックアップと言う感じ 個別だけなら、数行での直しでいけます。
・KdbCom.csをコピーして、「KdbComDataSource」と書いてある部分を「KdbCsvDataSource」と置換する
・CSVファイルがあるフォルダ名を明記
・Run()のGetIndices();行をコメントアウト
・FillDataを以下のように変更
var url = string.format(以下略 と書いてある行をコメントアウト
その下に以下追加
var filename = string.format(@"{0}\stocks_{1:yyyy-MM-dd}.csv", CSVファイルがあるフォルダ名, d2);
これをKdbComDataSource同様に、DownloadOrder.csから呼び出す。
指数に関しては、1つのURLで複数日の情報取得ができたので、CSVファイルを読むに行く仕様では別の対応が必要になる。 >>512
肝心なところを書き忘れ。
using (var reader = new StreamReader(以下略 の行を以下のように書き換え
using (var reader = new StreamReader(filename, Encoding.GetEncoding("shift_jis"))) >>503
猶予期間を1か月も貰ったのに何してたの? >>512
using (var reader の行の下、
InsertIndices(d2, result);行をコメントアウトも 個別はもぐらたたきになるのでヤメて
日経連動ETFを戦場にすることにして具合が良い
ということで株ソフトの意義が薄れてしまった自分
気が付いたら惰性でOmega >>512 どうもありがとうございます
書き込みを参考にして挑戦してみます データがダウンロードできなくなった。もうだめだお、そのうえ儲からないお。
借金が田丸お。 データダウンロードできなくなりました。
「文字列は有効なDateTimeではありませんでした」
とのエラーメッセージが出ます。
versionは、Panacoranさんの802d2dfです。
データダウンロード先は、k-db.comです。
対策ご存じの方、よろしくお願い致します。 >>519
kdbは終了してるよ
ブラウザでトップページでも見に行ってご覧 >>520
ありがとうございます。
ここを日頃見ていないもので、気がつきませんでした。
遡って読めば、だいぶ前から書き込まれていましたね。
すみませんでした。
ダウンロード先をYahoo!に変更したら、
すんなり読み込めました。 >>522
とてもとてもありがとうございます。
今日はYahooFモードで更新しました、正常動作したようで良かったです。
それにしても気○いみたいな新年ご祝儀相場、、、ダッシュに乗り遅れますたw >>522
とてもありがたいけど、zip圧縮したほうがサーバ容量や通信量でみて
いいんじゃないかなと余計なお世話してみる。 名前:山師さん[sage] 投稿日:2018/01/05(金) 12:35:10.67 ID:INRfhXGw
Windows update(KB4056892)でトレステが起動しなくなる
https://trade-station.blogspot.jp/2018/01/windows-updatekb4056892.html
名前:山師さん[sage] 投稿日:2018/01/05(金) 20:00:53.96 ID:VZhLVLsL
Windowsのアップデート(更新)によりトレードステーションが起動できなくなる事象について
https://info.monex.co.jp/ts-support-info/information/180105.html あれ?年始に市場変更になった二名柄アクロとマルマエの修正してないindexファイルだのに
Yahooモードで株価更新したらデータが入ってます。なんで?
日経平均やTOPIXの出来高が0になるんですね Yahooモードは、市場を指定してダウンロードする仕様じゃないですからね。優先市場だけを取って来る。
ヤフーファイナンスへ行って時系列のページをみれば、日経平均株価などで出来高が入ってない理由がわかります。
※486差し替え
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5764
期間内の高値を探るのに、OmegaChart標準装備のCursorを使っていたんだが、うまく動作しないため、エラーに。
でゴリゴリ書き直し。 無尽蔵の株価データでは1321 日経225上場連動型投資信託の市場区分が東証2部になっている
omegachartのデータが更新されていないね
どうしたらよいものか・・・ 無尽蔵のデータでは1319と1320も東証2部になっているけど東証1部が正しいと違うんかな 無尽蔵のデータにこだわるならば、コードを治すしかない。
同一コード、複数市場でなければ、OmegaChartのindex.txtと無尽蔵の市場コードが異なっていても株価取得する仕様にするとか。
でも、ヤフー版でチャチャと取ったらいかがですか。 >>528
個別株を除いて日経平均とTOPIX(先物含む)以外の指数ではラインが表示されないようですが? 無尽蔵の株データだとマザーズとジャスダックの市場判定が間違っているところもあった
Mujinzou.csの市場判定部分で市場判定しないようにする方が良いですね >>532
>>528のリンク先にあるコードの114行目、133行目に表示したい指数を追加する必要があります。
何かもっと良い書き方があるか、考えてみます。 >>532 >>534
フィボナッチ・リトレースメントを引く機能のバグ改修と仕様変更しました。
全銘柄について表示できるようになったのと、フィボナッチ・リトレースメントを引いているときのマウスの動きを制限させました。
(オメガ画面上部の動きがまだうまく制御できていない)
OmegaChart Fibonacciトレースメント ChartCanvas.cs 追加修正ポイントには//☆Fibonacci ※差し替え その1
ttps://osdn.net/users/omegachartuser/pastebin/5765
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その2
ttps://osdn.net/users/omegachartuser/pastebin/5767 >>535
>(オメガ画面上部の動きがまだうまく制御できていない)
あ、たぶん分かった
ChartCanvas.cs の方
ttps://osdn.net/users/omegachartuser/pastebin/5765
361行目を
var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y + _title.Height));
に修正。
362行目を
Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h);
に修正。 >>536
動作確認しました 良好な様です 有り難うございました DreamVisor以外に指数データが取得できるシンボルはソースコードにあるんでしょうか? >>538
なかったと思います。
データ元でも、無尽蔵、EDATALABは、日経とトピックスだけ。ヤフー時系列はマザーズなし? 米ヤフーファイナンスから株価が取れなくなった?
CSVファイルのダウンロードは可能だけど、アクセス毎にURLが変わる。時系列はURLの構造がよくわからない。
これ、日本版に適用されたら困る。 米ヤフーは結構頻繁にそれやってるので良くスクリプト書き直してます >>541
IEじゃなくて、FireFoxで、米ヤフーファイナンスのソースを見たら、理解できました。
普通に TRからTDの流れでデータが作られてました。ありがとうございます。 データのダウンロード時に「オブジェクト参照がオブジェクトインスタンスに設定されていません」と時折表示されるのは何が原因なんでしょうか? >>543
・どのサイトからの株価ダウンロード?
・ソースは最新?
・自分でソース変更してない? >>544
ヤフーから
ソースは最新
ソース改変は少ししてるけどおそらくこのエラーとは関係ない 前からデータダウンロード時にエラーが出ることがあったんだけれども、たとえば、1月15日のみデータが入っている状態で1月4日からダウンロードすると時折不具合になる
もしデータがない状態でデータダウンロードを行うとエラーにならないことが多い
ダウンロード先の影響よりというよりデータを上書きする際に書き込みに失敗するのかも ヤフーのエラーだと、※282のような話がありました。ただ、メッセージが違う模様。
エラーが出てるのはYahoo.csのRun()の中だと思うんですが、ここでエラーが出てもcatchしないので、エラーはDataSource.csのProcess()の中のcatchで捕捉してます。
ファイル書き込みでエラーになっているならば、ここでのex.StackTrace内容に UpdateDataFarmが入るはずです。
違うなら、その内容に応じて対応していくしかないですね。 >>547 どうもありがとうございます。
同じように1月9日のみデータが存在している状態で、1月4日からデータをダウンロードして上書きしようとすると
無尽蔵でもedatalabでもエラーになります。
その場合は「配列のオフセットおよび長さが範囲を超えているか、カウンタがソースコレクションのインデックスから最後までの要素の数より大きい値です」との表示になります。
Data.csやDataSource.csで不具合が起きている可能性が高いのでは、という気がします。 トラブってるのは、あなただけの可能性が高いのでは、という気がします。 indexがおかしいか、dataに問題があるかです。 >>548
やっぱ、環境か、ソースがおかしいとしか思えない挙動ですよね。
可能ならば、別のディスク、あるいは別のPCに、最新ソースを解凍して1からOmegaChart環境を作ってみて同じになるかどうかを確認してみたらいかがでしょうか。 以前データダウンロードのための配列確保のために(data.cs)
初期値を以下の様に変更して10年から20年分程度の領域を確保した
_farm = new byte[RECORD_LENGTH * 5000]; //この上限はどこかで取得すべきだが
これが原因かどうかは忘れたがそれとの絡みで「配列のオフセットなんたら」が出たかなそれで Data.cs の以下の部分を修正したら直ったと思う かなり前なので間違ってたらすまん
offset = _byteLength - RECORD_LENGTH;
do {
int t = GetInt(offset);
if(t==date)
break;
else if(t < date) {
offset += RECORD_LENGTH;
break;
}
else
offset -= RECORD_LENGTH;
//offset はマイナスでは無いのでアンダーフローした時の break 処理を追加
if (offset < 0) {
offset = 0;
break;
}
} while(true); RECORD_LENGTH * 10 にして走らせてみたら、再現しました。配列なんちゃらはこれっぽい。
後はオブジェクト参照のほうか。 tacticoでデータゲットから今日のデータがダウンロードできないんだけど俺だけ?
Z20180116.zip is not a valid zip fileと出る Tactico はどうも分からんが先のオブジェクト参照エラー 関係あるとすれば
・データダウンロード開始時間の変更
・データダウンロード遡及期間を変更する
・超ロングデータをオメガチャートで表示する場合
等の対処がされているかどうかだと思うが これに対処するにはOmegaWikiを見れば良い
しかし そもそも時間帯を無視して のべつまくなしにダウンロードはしていないのかな 今日2日分ダウンロードしたらできました
昨日なぜできなかったかは不明 >>424のコードが、なぜか株価が置いてあるサイトのURL変更が変更になったのでそれに合わせて、>>424のコードを書き直したのですが
private Dictionary<int, NewDailyData> FillData(int date)
{
var result = new Dictionary<int, NewDailyData>();
var d2 = Util.IntToDate(date);
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:D8}.txt", date);
の
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:D8}.txt", date);
を
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:yyyy}/{0:D8}.txt", date);
のように変更したのですが、なぜかうまくいきません{0:yyyy}
424 名無しさん@お腹いっぱい。 sage ▼ 2017/12/14(木) 19:29:38.12 ID:pGW7Xpd10 [3回目]
>>423
OmegaChart 株価がなぜか置いてあるサイトから株価取得
https://osdn.net/users/omegachartuser/pastebin/5733
株価がなぜか置いてあるサイトから株価をダウンロードしてオメガチャートのデータファイルを作るサンプルコードです。
(※303 ※313-316 ※320 ※330 などが参考)
株価がなぜか置いてあるサイトの一番古いデータは2017/12/7、2017/12/14から出来なかった銘柄情報も追加という仕様変更あり。
522 名無しさん@お腹いっぱい。 sage ▼ 2018/01/05(金) 06:55:03.53 ID:NBcArPw60 [1回目]
>>382 >>423 >>424
OmegaChart 株価がなぜか置いてあるサイト、フォルダ構成変更
以前:http://datadownload.php.xdomain.jp/data/daily/20171214.txt
以降:http://datadownload.php.xdomain.jp/data/daily/2017/20171214.txt (557は推敲途中で投稿してしまったので再投稿です。)
なぜか株価が置いてあるサイトのURL変更が変更になった(>>522)のでそれに合わせて、>>424のコードを書き直したのですが
private Dictionary<int, NewDailyData> FillData(int date)
{
var result = new Dictionary<int, NewDailyData>();
var d2 = Util.IntToDate(date);
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:D8}.txt", date);
の
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:D8}.txt", date);
を
var url = string.Format("http://datadownload.php.xdomain.jp/data/daily/{0:yyyy}/{0:D8}.txt", date);
のように変更したのですが、なぜかうまくいきません
{0:yyyy}で年を取得するところがうまくいっていないのでしょうか? >>558
>{0:yyyy}で年を取得するところがうまくいっていないのでしょうか?
そこですね。dateはint型で、d2がdate型なので、{0:yyyy}/{1:D8}.txt", d2, date); とすれば良いと思います。
ブレークポイントは、設定(コードの画面の左枠をクリックすると丸印が出る)すると、プログラムを走らせてその丸印の行に差し掛かったときにプログラムが止まる仕組みです。
止まったときにその変数に何が入ったかを確認できます。今回もその確認をすれば、urlが思った通りのものになったかを確認できたと思います。
1行ずつ実行するにはF11ボタン押下です。
それよりもそのコードはまずいバグがありました。
shiftで10倍にしてるんですが、元データがすでに10倍にしてあるのに、さらに10倍になってる。
shift = 1 にするか、shiftのくだりを全部削除する必要があります。
var shift = 10;
これを
var shift = 1;
へ修正するのが一番簡単そうです。 >>559 どうもありがとうございます!
データを取得することができました。 OmegaChart のデータソース問題は昨年の k-db閉鎖で続いているが 今後 Yahooが本気で締め上げを図れば
困った事になる その対策として このスレでも色々とあるみたいだが 正直k-dbの代替としては今いちだね
当方通常は、国内指数(日経225,TOPIX,JQ指数,JPX400)を○探から補填しているが いざという場合に備えて
個別株も取得できる様にしている それで気づいたのだが ここはなかなか具合が良くてある意味 Yahooにも
匹敵するお薦めのサイトの様な気がしてきた(時系列データの期間が短いのは我慢 先物も見当たらないが)
国内指数類は殆ど揃っていて出来高も取れるし 為替も取れる 個別株は札証や福証を含めてYahooなみに
ダウンロードできる(データは2年分位かな)各種ランキングも結構配慮が行き届いて充実していると思う
サイトポリシーとして利用者の私的利用のみを目的に情報提供を行っており、転用、複製、加工、再配信、
販売等の迷惑行為がなければスクレイプは許されそうだ(株○さんにとってはサーバー負荷増で迷惑かも)
こういうところは殆どないので非常に貴重だと思う k-dbの代わりとして使えそうだ
そこで株探をYahooの予備的な代替ソースとして統一的にRanking等の表示も含めて標準化したら良いのでは
こちとらは こっそりと別プログラムを実行中なので困ってはないが C#は苦手で いまさら面倒で ;^ω^)
OmegaChartの維持とユーザーのためにも誰かにやって貰えるとありがたい 取りあえず情報提供と提案まで あ、株探にも時系列があったんですね。毎日見てるのに気づかなかったという。
今現在土曜日10時過ぎですが、まだ昨日の株価が反映されてないんですね。
銘柄のラインナップには申し分ないですが、ちょっと厳しいかなぁ。
サンプルコード提示は時間が出来次第やってみます。 当日分は上の方に表示されていますね更新は結構速いですよ
兎も角宜しくお願いします 株探では、分割した銘柄の株価は修正後の値段でさかのぼって表示されていませんか?
こもりばんが有料になるぽいけど、こもりばんから個別株の時系列データ取得できるようになるならデータ問題は改善するのではないかと思う 株探、「サーバーを使用できません」っていうエラーが頻発しますね。Yahoo.csをお手本に作ったものだと取れないですね。 >>561>>567
自分のIPが規制されでもしたら困るんでサンプルコード提示は中止します。すいません。
株価データ取得は、楽天RSS、トレードステーション、ヤフーの企業運営のネタ元が安定してますね。
こもりばんさんも企業運営のネタ元なので、これを加えれば盤石。 >>568
サーバーエラーですか こちらは普通に取れてます お手数でした >>569
サーバーエラーにはたまになりますが、データは取れるんで参考になるようでしたら、どうぞ。
Kabutan.cs
ttps://osdn.net/users/omegachartuser/pastebin/5769 >>570
実は Regxでのデータの切り出し方が鬱陶しかったので放っていましたが
これで理解できました 後は少しずつゆっくりやれば何とかなりそうです
どうもありがとうございました >>569 >>570
株探はYahooファイナンスよりサーバーの処理能力が高くない感じがするから
>>282 に書いてある位置でSleepを入れたほうがいいよ。
スレッド2つで取得しているみたいだからGetPageメソッド実行の度に500〜1000ミリ秒くらいSleepさせるとエラーが出なくなる。
というかYahooが処理できるからってSleep無しで処理しているのは行儀悪いと思う。
サーバー負荷が高い処理を意図的に実行するのだから行儀良くやろうよ。サービス停止やBANされたくないでしょ? ま、人力で頑張れるくらいの速さでクロールするのがマナーですわな マルチスレッドはやめた方がいいです
var threads = new Thread[2];
を
var threads = new Thread[1];
にするとシングルスレッドになります
適宜スリープも入れたほうがいいですね そういえば株探は分割併合があると株価を遡及して修正した値で掲載するけど
出来高は未修正で掲載するから利用するときは注意が必要。 あれ?今確認したら出来高も修正されてた。以前に確認した時は未修正だった覚えがあるのだけど。タイミングの問題?
すみません、>>575は誤情報です。 >>572,574
ユーザーは Kabutan.csやYahoo.csを使う場合は、当該ソースのRunFetchPrices()の
while文の先頭にスレッドsleepを入れる等して再ビルドした方が良いという事ですね >>570
諸先輩方からのアドバイスに従い、修正版です。
OmegaChart かぶたんから株価取得 Kabutan.cs
ttps://osdn.net/users/omegachartuser/pastebin/5770
処理時間は自分の環境で70分くらい。1スレッド、1000msSleep()です。
探したらJasdaq指数もあったので追加しました。 ついでに自分が把握しているYahoo.csのバグを開示しておくよ。
マルチスレッドでスリープなしで取ると、index.txtで最後に記載されている銘柄のデータが取れてないことがある。というか、ほぼ毎回取れてなかった。
>>574のとおりシングルスレッドにすると取れていないことがないので、マルチスレッドでのデキューのタイミングの問題だと思う。CPUの処理能力依存もあるかな?
>>282の位置で1000ミル秒のスリープを入れると発生しなくなるのでマナー的にもバグ対処的にもSleepを入れることを推奨します。出来ればシングルスレッドでゆるゆる取りましょう。 >>578
なんか書いてる間に修正版をアップしていただけたようで、ありがとうございます。
個人的にはデキューにバグがあると認識しているのでGetPageメソッド内よりもRunFetchPricesメソッドの以下にSleepを入れたほうが良いと思います。
try
{
while (true)
{
→ Thread.Sleep(1000);
lock (_syncObject) >>579
CPU i3でヤフーからデータ取得した場合、自分の環境だと9997の取得失敗になることはないようです Kabutan.cs直近30日内ぐらいで分割した銘柄が表示おかしいような気がする
少し書いとくと
1435
1764
1788
2311
2882
3088
〜〜
9417
9622
9729
9757
計40銘柄くらい
うちだけかな >>581
確認ありがとうございます。私はi5ですがYahoo.csオリジナルのままだとほぼ漏れます。やはり環境依存なんですかね。
まあ、>>572に書いたとおりマナー良くSleepを入れてゆるゆる取ることを個人的には推奨します。 >>582
Kabutanから取れるのは修正後データなので、修正後データに対して更に分割しちゃってるんじゃないですかね? 自分が調べた限りだと、修正前の時系列データ提供していてヤフー以外に信頼がおけそうなのは日経だった
ただ時系列データが1月分くらいになる Protraで2012-05-16の株価データが欠損していることを確認したので報告。
もしProtraのデータをコンバートして使っている人は当たり前だけど欠損しているから気を付けて。 Investing.comって情報がプログラムからは取れなくなってる? Agentをごにょごにょするだけで取れた。失礼しました。 日経から取ってみた内容は良いが時系列更新が夜の8時過ぎ頃でそこが難点か 日経は時系列データの年月日の表示が、年なし日付+曜日になっていてそこが苦戦しているのですがどうやってコード書きました?よろしければ教えていただけると幸いです。 (別人です)
システム日付の年度yyyyを強制連結して日付化、もしシステム日付よりも大きかったら、去年の日付のはずだとすればどうですか。 >>592
手軽に WebQuery でデータ取っているだけだから多分ご期待にそえないと思うが
時系列のページで 'tr:nth-child(2) td' やってるだけ これで日経もYahooもOK
OmegaChartからでなく ショートカットのデータ取得 手抜きですまん >>593 ありがとうございます。挑戦してみます。
>>594 それは失礼いたしました。 >>535
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その3
https://osdn.net/users/omegachartuser/pastebin/5775
分割考慮してなかったので修正。farm.CalcSplitRatio(日付)で分割比率取得して掛け合わせた。 >>596
ありがとうございます 早速試してみます このスレにペラペラ書かない方がいいぞ
データを無断ダウンロードしてる輩がいるって
サイトにこのURL付きで通報しまくってるからな
おまえも使えなくなるで 暇になると出てくるんだよね うんこ 虫 うんこ無視 こもりばんさんのKABU+の利用を考えている方おられますか? >>604
Standardコースを取ろうと思っております。 タイミング的に今回も底で損確して憂さ晴らしなんだろうなあ
ksの行動は解りやすい、そんなことをしても金は戻ってこないのに >>320
KABU+(こもりばん氏サイト)から株価取得するサンプルコードです。
https://osdn.net/users/omegachartuser/pastebin/5777
DownloadOrder.csからこのコードを呼び出す変更が必要です。
Standardコースで1時間当たり4アクセス制限があり、指定日分の1日分しか取れません。
このサイトは有料サイトです。(Standardコースで1か月1000円くらい。)
契約するともらえるIDとパスワードをこのサンプルコードではコードに直接書き込み方式になっています。
適宜書き換えをお願いします。
株価だけではなくて、時価総額や決算データ、PERなど投資指標、浮動株比率、日証金、信用取引残高などあります。 >>609
先物もありました。昼と夜は別の日付名ファイルに分かれていて、各種先物と限月の日足4本値。分足はなし。 Light(2回/1時間)じゃダメなんだね。株式とETF,REIT,FUNDはファイル一緒にすればいいのに >>611 どうもありがとうございます
>>612 接続回数制限が厳しめでちょっと困ってしまいますね・・・
ひと月分くらい過去のデータが一気に取れるとよいのですが ただ、RSSなどと違い、過去データにもアクセスできるのでそのアドバンテージはありますね。
ファイルのダウンロードだけを毎日やっておいて、OmegaChartの更新はそのダウンロードフォルダを見に行くようにするとか。
個別銘柄の時価総額が同じファイルで取れるようになったのは自分にとって大きいですね。 >>570
今頃であれですが株探でエラー出まくりと言うのは取れない銘柄があったらそこで死んでるだけでは?
取れなくても無視して次の銘柄を取りに行くようにすればけば良いような気がしますが どうでしょう >>615
ありがとうございます。原因としては、マルチスレッドで頻繁にアクセスすることじゃないかということになりまして、
1銘柄ずつ処理する、かつ適当に時間を置くという対処がいいだろうということになりました。 >>616
そうでしたか しかしダウンロードの状況を見ると例えば 1676がindexにあるとこれは取引が寂しくて
殆どデータが無い状態のページを読み込むとそこで死んでしまうためエラーがでていると思うのですが
これをスキップすればエラーは減るのではないでしょうか? >>617
その銘柄も株価記載はなくてもページ自体はありますので、他の例えば、ソフトバンク等とも、プログラム的には扱いは同じですね。 今年の新規上場銘柄をまとめてindexファイルへ追加して過去DATAをYahooモードで追記したら、
取引のない上場日前の日付DATAとして0値が追記されるんですね。
知らんかった 書き込むときのチェックが _farm==null だったら処理しないってだけだから、そうなりますね。
_farmがnull または (ファイルが存在しない、かつ出来高ゼロ) ならば処理しない
これならば、その問題はなくなるんじゃないですかね。 これって上場以来または長期間 出来高の無い銘柄ではスクリーニングもだけどデータ取得も失敗するって事だよね
そうするとソースの維持にもかかわってきそうだけどData.csの修正それとも取得元.cs どちらの修正になるのかな それは問題なしと思います。出来高がない銘柄は前日終値埋めされて表示されるので。 Yahooモード、2018/03/05のDATAがおかしいなと思ったら
Yahooの不具合が発生してますね。 >>625
どんな感じでおかしいですか?
出先でオメガ見れなくて、帰ってから見たいと思うので
よければ教えてください ほんとだ。全体的に誤値が非常に多かったみたい。
Yahoo比較対象がRSS、TradeStation、Kabu+で、基本的にRSS、TS、Kabu+は同じ値で、Yahooだけ違ったのが、始値259件、高値46件、安値271件、終値2696件 >>627
>始値259件、高値46件、安値271件、終値2696件
ミス。始値は0件。
ヤフー時系列、今時点では直ってるようです。再走行させればOK。 そういえば昨日の朝方は、楽天RSSも一部銘柄で値段がおかしなことになっていましたね そうなんですか。朝はRSSを使わないので気づきませんでした。 RSSといえばオープンオフィスのカルクを使ってリアルタイムの持ち株の時価表示
損益・平均単価等々を三画面の隅に小さく表示 =DDE("RSS";"1570.T";"現在値")
エクセルはタスクスケジューラで場中に仕事をさせているのでこれは使えない Omegaでできること・・今買い時の某銘柄
それは株チャートソフトの限界・・買い時売り時は示すが
最良の安全投機である「時間分散」買い・同返済売りには対応していない
Omegaが使えないのではなく限界があるということ 自分がオメガチャートに期待してるのは、日々変わっていく株価を確認することだけですね。
数百銘柄みることもあるので、数字を入力して銘柄遷移するの大変なのでそこは改造しました。
今後は、日足と週足の同時、もしくは連動表示を実現したいですね。一つのオメガでやるほうがいいのか、二つのオメガを連動させてやるのがいいのか。
あと、画面の描画をPointからPointFに変えたいですね。オメガチャートはトレンドラインがきれいに引けないという話をする人もいるそうですから。 >>635
私もそういう使い方です。トレンドライン引きまくって全セクター監視で300銘柄。 ダウンロードで出来高が無い等々で取得エラーが出る場合の処理ですが
エラーメッセージがでるのは全銘柄の取得処理が終わった後でしょうか
それとも取得出来なかった時点ですぐ処理を終了しているのでしょうか
後者なら未処理の銘柄の取得処理を継続するための方法はありますか? >>622の意見についてのお話でしたら、データ取得では失敗しません。この意見の大元は>>619だと思いますが、これはIPO上場前にindex.txtに銘柄情報を書き込むとゼロ埋めされたレコードが出来上がるという話でありました。
出来高がない日々データに関しては出来高なしとして取り込まれますが、オメガチャート上で表示されるときに、過去最後に出来高を付けた終値で統一されるのでエラーとはなりません。
ということで、ご懸念のエラーメッセージは出ません。繰り返しますが、出来高ゼロのレコードとして記録され、チャート表示するときは最後に記録された終値で埋められます。 ソースを見ると○フーも○探も殆ど同じでエラーが出るのはおかしいでしょうが実際には
○探ではETFの1672から1697で出来高が無い場合"ページから株価を取得できません"の
エラーが出て止まりますので他にも似たような書き込みがありましたがこれが不思議で
つい書き込みました申し訳ありません 今はindex.txtから該当のETF銘柄を削除しています 出来高ゼロの場合、直近終値を書き込むのがデフォルトになってるのが諸悪の根源。 >>641
株探で試したんですけど、エラー出ました。バグですね。ちょっと見てみます。 >>644
OmegaChart かぶたんから株価取得 Kabutan.cs 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5797
高値とか安値に全角文字"−"が入っていたためにMatchせずエラーに分類されてました。
データ・ダウンロードの指定日を指定する意味がなかったのを直しました。 銘柄の選別と値動きの監視が一番大事で そのためにオメガは非常に役に立つと思うが
実際の所 監視銘柄の更新はどれ位の頻度でやっているんだろうか 自分は値上がり率、
出来高、売買代金の上位から出現頻度を目安に 300銘柄を機械的に選び出しているが
正直、毎日これをやるのはうんざりで終いにゃ収拾がつかなくなるがやらないと心配だ ストラテジーに関するアイデアはスレ違いでしょうけど、
ヤフーモードの上場日前も0値埋め仕様は、自分には悩ましい大問題です。
それを監視するために2016年〜現在までのIPO銘柄フォルダを作って登録ますたわ。
うっかりやっちまったときのためにw Yahooモード、廃止銘柄もindexファイルに残していると0値埋めですね。
都合良く0値埋めを活かすには、どうしようかな困った。 >>650
あ、廃止銘柄はOBS処理してれば助かるんですね。
OBS処理してない自分はエライ事になってますけど。 自分はSBI証券の口座を持っているので、時系列ファイル出力機能を使ってCSVを出力。このCSVをドロップするとデータファイル再作成する機能を作りました。 >>653
SBIから情報取れなくなるので、上場廃止された銘柄の再作成は無理でした。プログラムでゼロ埋めされた分を削除するしかないですね。
どうしてこういう風になるのかというと、上場廃止銘柄とその日に出来高がなかった銘柄は、ヤフーファイナンス的に反応が同じでした。これは区別がつかないですね。 そうですね、テクニカルチャートの観点上は値幅分析と日柄分析ですから、
適切な0値埋めは大事で。 上場廃止や出来高少ない銘柄の、テクニカルもくそもないでしょ。 問題点整理。
・上場前IPOをindex.txtに登録するとゼロ埋めレコードが作られる
・上場廃止された銘柄をindex.txtにOBS設定せずに放置するとゼロ埋めレコードが作られ続ける
対処方法
・IPOに関しては、>>620
・OBSに関しては、index.txtにOBS設定するしかない
・ゼロ埋めレコード不要な人は、該当記述をコメントアウトすればよいと思う 過去の暴落パターンを検証するという特殊な場面に限り、廃止銘柄のDATAはとても貴重。
廃止銘柄DATAの保存は必須ながら、廃止銘柄なので不要な0値追記されても常用範囲外ではありますね。
ですが、私のプレイスタイルでは廃止銘柄DATAは利用しており重要です。
出来高の少ない銘柄というのは、その定量の解釈などからしてそもそも各自の問題でしかないです。
薄商い銘柄だろうとDATAの正確性を無視できるはずもありません。
そもそも商いが薄いというのは各銘柄の長い歴史のほんの一部の期間の状態でしかないのです。
テクニカル検証で、価格分析のみで試行するロジックやストラテジ検証などでの利用では、
むしろ出来高DATAは無視する傾向にあるくらいですね。
とにかく入手可能な全銘柄DATAの一貫した正確性必須。 自分も全銘柄のデータが取得できているかどうかが大事で、0埋めでもオメガチャートでデータを扱う場合であればあまり関係ないのかな、とは思う Options.confでコントロールする手もある。デフォルトがFalseなので、ゼロ埋め不要だよという人はTrueに変えてもらう。 Investing.comから情報収集できなくなってた。直に見に行くとログインを促されるメッセージが追加されてる。 >>664
プログラムをタスクスケジューラで止めてただけだった。引退します。 相場が立った日に出来高が無いのはそれ自体が重要で不可欠な情報。
相場が立ってない休市日は明確にして然るべき。
特定企業に関する報道内容の確認などを理由とした取引所売買停止措置の例。
連日大騒ぎの銘柄が、ある日だけぽっかり出来高の無い日が示現します。
2017年も数件の実例が有ったかと記憶してます。
これを的確に0値埋めで明確にチャート描画することは相場履歴としても重要不可欠です。
Yahooモード現状では複数日前から過去DATAをダウンロードすれば誤った0値埋め頻発。
OmegaChartデフォとして、その一部の機能であるYahooモード固有の必須改善点です。
とはいえ。
チャート攻略としては、ティックの薄い時間枠ではテクニカルラインが潰れるので時間枠縮小するのが普通ですから、
売買の無い歯抜け日足チャートならば週足チャートなどへ短縮して使いますけどね。 >>663
あと、コンパイルシンボルでコントロールもできる。
手順1:yahoo.csの最後のほうを次のように変更。
#if UNZEROFILL
#else
foreach (var date in dates)
{
if(!dict.ContainKey(date))
dict[date] = new NewDailyDate();
}
#endif
手順2:
Visula Studioのプロジェクト-プロパティ-ビルドを開き、条件付きコンパイルシンボルに「UNZEROFILL」の文字列を記入(文字は何でもいい。「」は不要)
記入後、コンパイルして実行すると今までゼロ埋めしてた部分がスキップされる。
戻したかったら、コンパイルシンボルから「UNZEROFILL」の文字記述を削除する。 チャート表示日固定機能っていうのはあったら便利そう デフォルトの価格区切り線を消して、任意の価格で引き直すことはできないんでしょうか?
100円、300円、1000円、2500円・・・とか。 例えば、バブル崩壊前後の複数銘柄の値動きをみたいとするとき、1990年までチャートをいちいち戻すのがめんどくさい。
週足に切り替えたりしても、また最新日からやり直し。 価格区切り線は、ChartDrawing.cs DrawScaleLinesの中で引かれてて、ここを書き直せば引けると思う。
その100円、300円・・・・を 配列に入れてグルグル回して、その区切り価格が_lowPriceよりも大きかったら描画とする。 >>680
上半分はコメントアウトする既存行で、foreach文の中の数字はテキトーに変更。
/*
while(price >= _lowPrice) {
y = _priceTrans.TransValue((double)price);
Win32.MoveToEx(hdc, 0, (int)y, out _dummyPoint);
Win32.LineTo(hdc, right, (int)y);
ChartUtil.DrawText(hdc, right, (int)y-5, price.ToString());
price -= _priceScaleStep;
}
*/
foreach(int k in new int[]{ 100,300,100,2500,5000,10000,20000,30000,50000,100000})
{
if (k < _lowPrice) continue;
if (k > _highPrice) continue;
y = _priceTrans.TransValue((double)k);
Win32.MoveToEx(hdc, 0, (int)y, out _dummyPoint);
Win32.LineTo(hdc, right, (int)y);
ChartUtil.DrawText(hdc, right, (int)y - 5, k.ToString());
} >>681
ありがとうございます!思った通りにできました。完璧です。
区切り価格を見るに、要するに何をしたいかは多分わかっておられると思います。 無尽蔵さん、6573の市場が間違ってる…?マザーズだけど、東2にしないと更新されないな >>679
それ便利ですね
例えば、、ある銘柄で日足チャートの5年前の日付を見てるときにインジケータ表示を消したり切り替えたりとか。
切替えるたびに観察してた5年前のポイントまで戻るのは手間です。
日付固定して、日足→週足→月足などと変更してもズレないとかも可能なら嬉しいです。 日付固定のロジックは簡単なんですが、ユーザーが日付指定するためのスマートな仕組みや、日付指定モードであることを認識させる表現方法がよくわからないんですよね。 固定したい日付で右クリックして、日付固定の項目を選択。解除は終了若しくは再起動時とか? それ、良いですね。解除も右クリックの項目クリック、日付指定モードであるか否かもその項目を見れば分かるようにすれば良さげです。 日付を固定して表示する機能追加のサンプルコードです。
機能を使うときは>>686さんのアイデアを頂いて、固定したい日付の上で右クリックして、「日付固定表示」の項目をクリックすると固定されます。
解除したいときは任意のチャート画面上で右クリックして「日付固定表示中:yyyymmdd」の項目をクリックすれば解除されます。
注意点として、例えば2017/12/29を指定しても2018年の年足がない状態を期待してもそうなりません。
OmegaChart 日付固定表示 Preference.cs 追加修正ポイントには//☆FixedDisplayYMD
https://osdn.net/users/omegachartuser/pastebin/5802
OmegaChart 日付固定表示 MainFrame.cs 追加修正ポイントには//☆FixedDisplayYMD
https://osdn.net/users/omegachartuser/pastebin/5803
OmegaChart 日付固定表示 Command.cs 追加修正ポイントには//☆FixedDisplayYMD
https://osdn.net/users/omegachartuser/pastebin/5804
OmegaChart 日付固定表示 ChartDrawing.cs 追加修正ポイントには//☆FixedDisplayYMD
https://osdn.net/users/omegachartuser/pastebin/5805
OmegaChart 日付固定表示 ChartCanvas.cs 追加修正ポイントには//☆FixedDisplayYMD
https://osdn.net/users/omegachartuser/pastebin/5806 >>688
おかげさまで便利になりました ありがとうございました ありがとうございます。
過去には、多数の方々が多くの拡張キットを公開されてたはずですが。
現在はリンクをたどってもページが存在しません、こういうのも残念です。
Yahooのメーリングリストがサービス終了後、mixiとかでもOmegaChartのSNSがあったんですかね?
オメチャ関連ググると、そういう残骸もヒットすんですけどね。
どんなものだったのか一目見てみたかった、残念です。 このスレだったか、どなたかがアーカイブを残してくれてます。まだ拡張キットもダウンロード可能のようですよ。
http://web.archive.org/web/20130509215921/http://www.omegachart.org/dl_kit.html >>691
こういうサイト大変ありがたいんですが
組み込み方がわからない・・・
ソースの簡単な一部改変くらいならなんとかできることもあるけど
DLサイトの追加なんてどうやればいいのか・・・ >>694
機能をお試しする一番簡単な方法は
1.Panacoranさんのソースをダウンロードして解凍
2.解凍後できるフォルダ「OmegaChart-9cd2e32」の中にあるファイルがたくさんあるフォルダを見つける
3.>>691サイトにある「日付を固定して表示する機能」項目を見つける
4.修正すべきファイルが羅列されており、上から、Preference.cs、MainFrame.cs、Command.cs、ChartDrawing.cs、ChartCanvas.csの5ファイル
5.2で見つけたフォルダには4で羅列したファイルがあり、すべてのファイルを上書きする。
6.2で見つけたフォルダにある「zanetti.csprj」などをダブルクリックして、VisualStudioを起動する
あとはご存知の通りの手順でOmegaChartを起動して機能を試用してみるという流れになります。 >>695
一番大事なのは、今お使いの環境以外で試すことです。別のフォルダに別のOmegaChart環境を作って試すということです。 ついでにダウンロードサイトの追加は少しコツがあり、解説してみます。
コードを修正するだけではなくて、新規追加する手順と、ご自身でコード書き換えするという手順が必要になります。
たとえば、株探から株価取得を試してみるとします。
1.Panacoranさんのソースをダウンロードして解凍
2.解凍後できるフォルダ「OmegaChart-9cd2e32」の中にあるファイルがたくさんあるフォルダを見つける
3.2で見つけたフォルダにある「zanetti.csprj」などをダブルクリックして、VisualStudioを起動する
4.(たぶん)VisualStudio画面の右側にあるソリューションエクスプローラー内の「zanetti」を右クリックして「追加」−「新しい項目」をクリックします
5.「クラス」をクリックして「名前」を「Kabutan.cs」とし、「追加」ボタンを押下します
6.ソリューションエクスプローラーから今作った「Kabutan.cs」を探してダブルクリックすると編集可能になります
7.>>691サイトの「株探から株価取得」の項目を見つけます。
8.項目内のリンク先のテキスト内容をコピーします。
9.6で編集可能となった「Kabutan.cs」を消して、8の内容で上書きします。
10.ソリューションエクスプローラーから「DownloadOrder.cs」を見つけてコードを表示します
11.10のコードの一番あたりにあるpublic enum StockDataSourceを見つけます
12.「KdbCom」はもう使えませんから、「Kabutan」という文字に書き換えます
13.public CombinedDataSource ConvertToDataSource()を見つけます
14.その中に記述されている「case StockDataSource.KdbCom:」と書かれているところを見つけます
15.以下のように書き換えます。
case DataSource.Kabutan:
stock_ds = new Specialized.KabutanSource(_dateArray);
あとはご存知の通りの手順でOmegaChartを起動して機能を試用してみるという流れになります。
こちらもまた>>696と同じことに気を付けてご試用ください。 >>691
いつも有り難うございます 大変有用な試みですね 所でOmegachartでジグザグラインを引きたかったので
アップロードされた5738から5743を用いて試してみましたがビルドの際に以下の警告がでて困っています
何か手違いがあるのかどうか分かりません こういう場合にはどういう対処をすれば良いのでしょうか?
警告 1 フィールド 'Zanetti.UI.ChartCanvas._currentElliott' は割り当てられません。
常に既定値 null を使用します。\OmegaChart-9cd2e32\ChartCanvas.cs 487 26 zanetti >>698
こちらでも試しましたが、問題はなかったです。
'Zanetti.UI.ChartCanvas._currentElliott' は割り当てられません、ってことは、何かの記述が足りないってことだと思います。
ファイルの上書きで失敗するようなら、変更や追加したコードを一つずつ書き足していくと原因がわかるかもしれません。 OmegaChartの初期化ファイル(ZIP)更新しました。2018年3月末まで。
https://drive.google.com/open?id=1LLV3L2dy_PH-KVZagIcvtOiCz6v0Edz2
>>691のページの下のほうにデータファイルへのリンクを貼っておきます。
忘れなかったら四半期ごとに更新しようかと思います。 >>701
ChartDrawing.csにミスがありました。以下、修正版です。
OmegaChart Elliot波動 ChartDrawing.cs 追加修正ポイントには//☆Elliott 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5808
(ミスったのは222行目、223行目)(>>691のサイトは修正済み)
あと、このコピペをそのままリネームして使うと、エンコードがVisualStudioと異なることによりエラーになることもあるようです。
ダメ絶対→ファイルのコピー
推奨→文字列のコピペ いろいろ精力的に能力向上されて素晴らしい。
自分のOmegaChartソースには、ここ以外にも優秀なサンプル作者さんのを拝借しており。
なかなか簡単にファイルを書換えることもできず、コードをいじる度に成功するようお祈りします。
コードの見かけ上は、視覚的に同じしか見えないのにエラーになって、OS環境が違うサブPCからOmegaChartソースを引っ張り出してきたものを同じ手順で編集すると成功したり。
なにがどう違うのか全く理解できないことがたまにあるんですよね。
もしかして、もしかすると文字エンコードなんかがアレかな〜?とかよく知らないんですけど。
全然レベルの違う話で彷徨ってます、、、とか書いてるうちに、、、
>>702
ありがとうございます。 >>695
丁寧な解説ありがとうございます。嬉しいです。
一度挫折したのですが、時間を見つけてもう一度トライしてみます。 株価がなぜか置いてあるサイトに関してなのですが、
日によって行が株価コードから始まっているデータ
と
行が日付から始まっているデータとあります。
通常時は行が株価コードから始まっておりデータがダウンロードできるのですが、日付から始まっている場合ダウンロードできません。(たまに日付表示になっていることがある。2018/4/27)
仕様の変更なのでしょうか?よろしくお願いいたします。 調べた限りだと2018/1/5 2018/5/2も >>706
ご指摘ありがとうございます。バグってた部分とデータの修正もできました。 >>708 ご対応のほど、どうもありがとうございました 日付ルーラの縦軸に日付が表示できるようにするには
どうすればいいですか? ChartDrawing.csのDrawMouseTrackingLineの上のIF文が縦線描画の部分です。
Win32.LineTo(hdc, x, _owner.Height-_layout.FooterHeight);
この行の下で以下記述を追加
//ここから
if (!_brand.ReserveFarm().IsEmpty)
{
var date = _brand.ReserveFarm().GetByIndex(_dateLine._nextToBeDrawn).Date;
if(date > 0){
Win32.SetTextColor(hdc, Util.ToCOLORREF(_pref.MouseTrackingLinePen.Color));
ChartUtil.DrawText(hdc, x-30, _layout.HeaderHeight+15, string.Format("{0:D4}/{1:D2}/{2:D2}",date/10000,date%10000/100,date % 100));
_owner.Invalidate();
}
}
//ここまで
ChartUtil.DrawTextで、マイナス30してるのは、文字描画スタート位置調整で、横方向に左にズラすためです。
マイナス数字が増えると左へ、プラスにすると右へ移動します。
同じく、プラス15は、縦方向の調整で、プラスの数字が大きくなると下へ文字が移動します。数字は環境に応じて調整してください。 >>710 オメガチャートの右端に日付や価格表示されませんか?
>>711 いつもありがとうございます >>711
非常に便利な機能だと思います 試してみましたところ上部のオプションボタン?
インジケーターの表示などの切り替えの部分の表示が全部消えてしまいました >>713
このサンプル・コードはダメですね。_owner.Invalidate(); が画面更新するので、ボタンが表示されなくなるようです。
_owner.Invalidate();を取ると、日付がグダグダになります。どなたか、良いアイデアがあったら教えてください。 >>712
指標と凡例の表示ですね
表示するとチャートの範囲が狭くなるのと
目が悪く老眼も相まって
全体を俯瞰したときに目線を右にずらすのがきつくなってきまして・・
>>711
早速コンパイルしてやってみました
イメージ的には、まんまこの感じです!
ありがとうございます!
>>713-714
やはり画面表示時におかしくなりますね
プログラムはさっぱりなのでお役にたてませんが
どなたか、私からもよろしくお願いします! >>715
1割くらいの確率でボタンが消える症状が出ますが、新しいサンプルコードです。ボタンが消えてもカーソルを右の欄外に移動すると直ります。
変更箇所は、同じく、ChartDrawing.csのDrawMouseTrackingLine内の記述変更と新規内容追加です。
◎Win32.LineTo(hdc, x, _owner.Height-_layout.FooterHeight);
この行の直下から以下記述を追加
//ここから
if (!_brand.ReserveFarm().IsEmpty)
{
var date = _brand.ReserveFarm().GetByIndex(_dateLine._nextToBeDrawn).Date;
if(date > 0){
Win32.SetTextColor(hdc, Util.ToCOLORREF(_pref.MouseTrackingLinePen.Color));
ChartUtil.DrawText(hdc, x-30, _layout.HeaderHeight+15, string.Format("{0:D4}/{1:D2}/{2:D2}",date/10000,date%10000/100,date % 100));//ここまでは従来通り
Rectangle r = new Rectangle(Env.Layout.ChartBodyRect.X, Env.Layout.HeaderHeight+10, Env.Layout.ChartAreaWidth, Env.Layout.ChartAreaBottom - Env.Layout.OscillatorPaneHeightTotal - Env.Layout.VolumePaneHeight);//New! この行、新規追加
_owner.Invalidate(r, false);//New! この行はちょっと変更
}
}
//ここまで
New! DrawMouseTrackingLine内の一番上に以下内容を新規追加
_owner.SuspendLayout();
New! DrawMouseTrackingLine内の一番下に以下内容を新規追加
_owner.ResumeLayout(); >>716
ありがとうごさいました
しかし、お気に入りから銘柄を一つ一つ見に行くと自分の環境だけかもしれませんが
拡張キットを読み込み直すまでチャートの描画を停止します っと出てエラーになります
あとはカスタマイズから色変更しようとしてOKボタンを押すと固まりようです >>717
あっちを立てればこっちが立たず、みたいになるようなので非常に難しいみたいです。
今回は断念したいと思います。お役に立てず、すみません。 >>718 いえいえ、いつもありがとうございます。 >>718
お手数をおかけしました
ありがとうごさいました omegachartの株価データいただけないでしょうか?
4月分が抜けてしまい
日付を変更しても4月まで遡ってダウンロードできない状態に、、、
申し訳ないのですがデータをどこかのあぷろだにあげていただけないでしょうか?
よろしくおねがいいたします 間違えました。その前に、
パソコンの日付けを過去にしてやってみましたか?
日付を変えている間は、他のことはしないほうがいいですよ。 日付を変えてダウンロードする技がうまく使えないようで株価データをいただけたらなと思っております 今後もデータ抜けがあるたびに、アップロードお願いするつもりなの? >>732
ソースを書変えて、もっと前からダウンロードできるようにするのがいいですね。 どういう環境かわかりませんが、日付変えてダウンロードできないことあるんですね。
Win10は駄目とか?ダウンロード元が駄目なんですかね? コードを書き換えると4月2日からの足りない日付からのダウンロードもできるようになります。
Download.cs の private static int[] ListDates() この中のこの記述
DateTime start = ld.AddMonths(-2);
この数字を-2から-3に変更します。2か月遡って開始日日付を表示するところから、3か月に変更という意味です。 忘れてなかったら>>700さんが来月更新してくれるのでは。 >>732
今現在、Omegaにはいつからいつまでの株価データが入っているんですか。 データくれって言われたときに思うのは、渡した後、抜けや間違いがあったときにめんどくさいということ。
絶対に文句言わないって言っても、人間って言うんだよね。 たとえば別のパソコンで日付変えてダウンロードするのはダメなんでしょうか? 過去データを取るには736の方法がよいのでは 当方は-120にして10年分ダウンロード出来るようにした 勿論配列を確保しているけど
具体的には data.cs の _farm = new byte[RECORD_LENGTH * 500]; を以下の様に変更(10年から20年分は格納できそう)
_farm = new byte[RECORD_LENGTH * 5000]; ダウンロード開始日指定したら、上書きする仕様に変えれば、ピンポイントで補完できて、システム日付を変えなくても済むね。
DateTimePickerに変えて、指定した日付から2か月分を上書き。少々改造するだけでいけそうな気もする。 チャート上の直近高値・安値って消すことできないんですか? ChartDrawing.cs DrawFushiOrSplit
ここで節の数字と分割情報の描画がされていて、節描画の方をコメントアウトすれば消せます。 単元株数と表示期間の間に、貸借銘柄か信用銘柄か表示できないですか?
貸借銘柄等一覧(XLSXファイル)から取得できそうですが
http://www.taisyaku.jp/brand/ 自分でデータを用意すれば、表示したいモノ(貸借・信用)を取ってきて表示するのは可能です。
自分は時価総額の情報をindex.txtに書きこんで利用しています。 >>744
ありがとうございます。
難しそうですけどやってみます。 じっくりチャート観察してるとOmegaChartが突然終了してしまう件。
コード関係さっぱり分かりませんが、何かしらキャッシュの制限のような原因でしょうか?
日足、週足、月足などの時間枠切り替えや、ローソク足表示の縮尺切り替えなどを頻繁にやると、
早いときは2〜3銘柄を観察する程度でもダウンします。書き込んだラインはSAVEされません。 >>748
こちらではそういう症状は出ていませんね。OmegaChartを出しっぱなしで放置してることも日常的ですし。
error.logというファイルがありますので、Omegaが悪さをしているならば、ログを吐いているはずです。ログを見てもエラー原因は即答できないんですけどね。 >>744
無事にできました。ありがとうございます♪ >>748 こちらの環境では 例えばお気に入りフォルダー登録銘柄の日足から週足や月足に表示を切り替える時に
次の銘柄が新規上場などの理由で週足や月足データの数が直前の銘柄に比べて相当少ない場合には 切り替えに
結構時間がかかりますね ただしハングアップはしませんが これと同じような現象かも知れませんね OmegaChartの画面イメージをファイル出力する機能のサンプルコードです。
サンプルでは、CtrlキーとAltキーを同時に押しながら、Cキーを押下すると動作、OmegaChartの実行ファイルがあるフォルダ配下の「ScreenShot」フォルダに「銘柄コード.png」というファイルが保存されます。
https://osdn.net/users/omegachartuser/pastebin/5822 >>752
銘柄名を含んで、ファイル出力するならば、OutputCaptureでの、Rectangleのパラメーター設定は以下のように変更
Rectangle rc = new Rectangle(
Env.Frame.Location.X + 7,//7は微調整
Env.Frame.Location.Y + Env.Layout.HeaderHeight + 30, //30は微調整
Env.Layout.ChartAreaWidth,
Env.Layout.ChartAreaBottom + Env.Layout.HeaderHeight - 20);//-20は微調整 >>751
お気に入りフォルダに新規上場銘柄ばかりを詰め込んだフォルダを登録してますが。
上場日からDATA日数が短い頃は各種テクニカルオシレータの表示をオンにしてる場合、チャート描画に時間がかかります。
各種テクニカルオシレータ表示をオフにすれば機敏にチャート描画されます。
例えば、標準偏差ボラティリティ、MACD、などはダメですが、ストキャスは問題なく動きます。
そんな例外もあるようですがスムーズに新規上場銘柄を表示するなら全オシレータ表示をオフにすれば、こちらの環境では問題ないです。 >>754
チャート表示をマウスホールなどで少量ずつスクロールする操作を暫くやり続けると、
OmegaChartはダウンするかフリーズことがよく起こります。 13年くらい前のシングルコアの時は描画が重かったが、i3,i5くらいCPUの性能が上がってきたら特に問題ないし、パソコンの性能によるとことがあるんじゃないかと思う
突然終了したりすることはないなあ 全銘柄のランキング変化 例えば前日比等のランキングをスクリーニング可能なら非常に
助かるのですが Omegachartで特定指標値のランキングを取得できる様になりませんか? 現状でも可能。
1.上昇率を算出するスクリーニングを1つ作る
2.結果を「お気に入りフォルダ」に追加
3.好みのスクリーニングを「お気に入りのフォルダ」フィルタをかけてスクリーニングを実施 まあ確かにスクリーニングは結果をランク化しているし そもそもやりたい事が今ひとつ良く分からん ひょっとして ある銘柄の上昇率ランキングの時系列データが欲しいのか OmegaChartの初期化ファイル(ZIP)更新しました。2018年6月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
>>691のページの下のほうにデータファイルへのリンクを貼っておきます。
忘れなかったら四半期ごとに更新しようかと思います。 チャート上の日付ルーラーをマウスが動いても動かないよう固定することはできないかなぁ >>768
日付固定>>688のコードを参考にするとできそうです。
止めたいところで右クリックして、「日付ルーラ停止」みたいな感じで。
Preference.csで、boolとSystem.Windows.Forms.MouseEventArgsのClassをつくって
ChartCanvas.csの日付ルーラを描画してる>>711 OnMouseMoveで、MouseEventArgs evをその作ったClassの変数に常に上書きさせる。
日付ルーラ描画停止させたいときは、フラグを立てて、最後に記録したMouseEventArgs evで、日付ルーラを描画させる。
みたいな感じ。 >>770
ありがとう
でもワイには無理なことがわかった スクリーニング実行時
画面左端部へ結果一覧を表示しますが、見出しの文字の表示位置が合ってないので文字が切れてて読めませんね。
たぶん、検索対象日 20〇〇/〇〇/〇〇日付と、対象銘柄数 〇〇〇〇銘柄数だと思います。
それと、結果エクスポートのボタン部分の文字も切れてます。
これを上手く修正してご利用の方は居られますか?
機能の利用に関しては致命的でないですが、検索対象日の日付表示が読めず苦労します。 ScreeningResultPane.cs の InitializeComponent() の以下行
this._explanation.Size = new System.Drawing.Size(150,23);
この23が高さで、30くらいに変えると見切れることなく表示されました。
ボタンはこちらの環境だと問題なく表示されているように見えます。
ちなみにボタンのサイズは、同 InitializeComponent()内にある以下行
this._exportButton.Size = new System.Drawing.Size(96,23);
この96が幅、23が高さです。 恐れ入りますが 対象銘柄数と その下のエキスポート表示というボタンが重なります
このボタンを少し下にずらしたいのですが どこを変更すれば良いでしょうか
因みにthis._explanation.Sizeは150,30 this._exportButton.Sizeは120,15にしました this._exportButton.Location = new System.Drawing.Point(24, 30);
に変更して解決しました すごいなこのチャートソフトまだ改善されながら使われてたのか・・・ またやってしまった。
一銘柄株価CSV出力機能については、分割調整後の株価と分割未調整の株価は、
Chart表示状態のそのままが出力されるんですね。知らなかった。
CSV出力して数銘柄の不要なDATAを排除するため編集して再利用したときマズイことになったかも知れない。
どの銘柄だったのだろうか、うぅぅ。 >>773
〜
>>775
有難うございます試してみます。 >>779
アプリを作って検知するのが良さそう。別のフォルダに初期化ファイルを解凍したデータを用意。これと比較する。
銘柄コード1301から9999までブン回し。初期化のほうの最も古い日の終値と、現役のdataフォルダの同銘柄同日終値を比較。
値が違っていたらログ出力すれば、検知可能。 >>781
なるほど、やれるか試してみます。
スクリーニングしたリストをチャート観察中に3月と4月に一銘柄ずつDATA抜け発見。
たまたま見つけたんで他にもあるのかは知りません。
Yahooモードの利用ですが0値で埋められておらず、表現がおかしいか知れませんが素直に抜けてます。
この場合はYahooのページに問題があるんでしょうね?0埋めされなかったわけですから。 ダウンロード時のデータ漏れはファイラー使って毎日更新時刻をチェックかな
●フーさんからだと たまに何個か抜けたりするが その殆どが上場廃止銘柄
>>775
初めて知ったよ スクリーニングの後 エクスポートボタン水色で囲まれてる 4個目のインジケータを表示させていますがアイコンが他の3つと全く違ってる
過去スレでアイコン変える方法があったがどれも説明が簡単すぎて駄目だった
アイコンは 今のN3をN4に少し変える位は出来るが それを組み込む手順が不明
お手数ですが どなたか猿にでも分かる様な解説をお願い出来ませんか >>784
自分は他者様が公開されたサンプルコードを拝借してインジケータツールボタンを9個へ増やしてます。
大変便利に利用させて頂いて有難いです。
>>2 に掲載の
StockDataLoader+の公開主stray_nora氏のOmegaChart用サイトで公開されたインジケーターを9個へ増やすサンプルコードですが。
お役に立つか不明ながらそちらをご紹介してみようと思ったら、どうやら現在リンク切れみたいです。
自分には貴重な情報が満載だったのでとても残念です。 ソースみて、適当に言ってみます。
1.アイコンを設定するには、ImageListForm.csを開く
2.フォームのデザインが開くので、たぶん左下にみえる_image16、これを右クリックしてイメージの選択を押下
3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する
4.ImageListForm.cs の internal class IconConst 此処の中の記述
public const int OSCILLATOR3 = 17; この行の後に以下行を付け加える
public const int OSCILLATOR4 = 18;
public const int ACCUMULATIVE=19; この行以降も、数字を一つずつずらして最後まで
5.Preference.cs internal class OscillatorPreferenceの一番上、LENGTH = 3 を 4に変える。
6.ChartTitle.cs public ChartTitle()の中の記述「オシレータの表示をするかどうかを指定します」とある部分の記述群がオシレータの関係コードだが、何も変える必要がないと思う。
大体こんな感じだと思うけど、実際には試してないです。
アイコンを増やすのはこれからもやりたい人がいるので、結果をフィードバックして頂けたら。 >>786
3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する
これにプラスして、追加したアイコンを18番目に移動 >>785,786,787
どうも有り難うございました 参考にさせて頂き再びトライしてみます >>786
上手く行きました 追加したアイコンを18番にセットする方法が分かりませんでしたが右にある矢印ボタンで押し上げてOKでした あ、インジケータでなくオシレータでしたか。
>>785
の記載は的外れで、stray_nora氏のインジケータグループのサンプルコードのことでした。
失礼。 >>790
まとめ情報、有難うございます。
あちらに記載の”OmegaChart 日付固定表示 //☆FixedDisplayYMD ”が便利です。
実装後の副作用として、表示銘柄の切り替え直後の均衡表の先行スパン部分の表示状態が隠れてしまうなど、
収録DATAの最新の日付より未来部分に何かしらのインジケータを表示する場合に影響が出ます。
銘柄を切り替えてから→チャート表示をスクロールする、という一手間が掛かる仕様になります。 >>792
ご指摘ありがとうございます。共存できる方法を思いついたら、追加していきたいと思います。 あぁ OmegachartWikipedia が消えてるね >>797 要修正
sourceforge.jp
↓
ja.osdn.net
そのお気に入りツールソフトって初めて見たけど、ずっとテンプレにあったんだな。
ケーキ屋さんか。 ↑公開されたツールはこちらもありますので掲載させて頂きます。
(ただし小数点以下の株価に対応しない)
JUDAH'sWeb -6日で1%の株式投資-
(Topページ)http://red.ribbon.to/~judah/index.html
DataDump Ver0.13 _オメガチャート株価データ編集ツール
(DataDumpページ)http://red.ribbon.to/~judah/omega-dd.html >>800
機能制限付きシェアソフトウェアです。
小数点以下に未対応ながら無料で利用可能な機能が有用です。
銘柄個別DATAの一覧表示と編集機能や、よその株価バイナリファイルから差分データを補充する、など。 スクリーニングのフィルタの設定で新たな条件を設定しました その条件でうまくスクリーニング出来ましたが
次回のスクリーニングでフィルターボックスがその条件ではなくお気に入りのフォルダで固定されてしまいます
多分フィルター項目のインデックスが抜けているのでしょうがソースを見てもスキルが低くてよく分かりません
フィルターボックスに新たな条件を表示するか または一番上のすべての銘柄に戻すにはどうすれば良いでしょうか? >>804
フィルタの設定項目を増やすには、SystemTrading.csのinternal enum FilterType を追加・修正しますよね。
ここに「すべての銘柄」の設定がされていれば、表示されると思うのですが。 >>805
レス有り難うございます internal enum FilterType には列挙済みです 困っているのはスクリーニング後、
前に選択したフィルターの表示項目が変わって それがお気に入りのフォルダーになる事です >>806
デフォルトと違う動きをするということは、改変した内容に問題があるということでしょうから、改変した内容がわかる人じゃないと答えられないと思います。 Pastebin: OmegaChart Fibonacciリトレースメント //☆Fibonacci
2つエラーが出てしまって詰んでます。
FixFibonacci
エラー 1 'Zanetti.UI.ChartDrawing' に 'FixFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
RemoveHighlitedFibonacci
エラー 2 'Zanetti.UI.ChartDrawing' に 'RemoveHighlitedFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
すみません。 サンプルコードの試し方
1.最新コードを用意して、解凍して、コンパイル。正常にコンパイルできることを確かめる
2.https://osdn.net/projects/omegachartusers/wiki/FrontPage へ行く
3.(今回は)フィボナッチ・リトレースメント描画機能の項目をみる
4.記載のサンプルコードをダウンロード
5.1で開いたVisual Studio画面から
・ダウンロードした、https://osdn.net/users/omegachartuser/pastebin/5765 の内容をChartCanvas.csに上書きする
※ファイルの上書きNG、あくまでも文字列の上書きで
・以下同様に、5757をChartDrawing.cs、5758をCommand.cs (略) 5762をUtil.csに上書きする
・5775は「新しい項目の追加」で「クラス」追加して、同様に上書きする
6.正常にコンパイルできることを確かめる //☆Fibonacci、慎重にコードを読み比べてみると
例えばChartCanvas.cs、5765.txt、この部分
> //☆Fibonacci
> if (_currentFibonacci != null && ev.Button == MouseButtons.Left && ((Control.ModifierKeys & Keys.Alt) == Keys.Alt))
> {
> Invalidate(_currentFibonacci.GetInclusion(this.ClientRectangle), false);
> _currentFibonacci.Destination = p;
>
> var h = Env.Layout.ChartAreaBottom - Env.Layout.OscillatorPaneHeightTotal - Env.Layout.VolumePaneHeight;
> var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y));
> Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h - _title.Height);
> Cursor.Clip = r;
> }
> //今引いている直線の再描画
> else if (_currentFreeLine!=null) {
てっきり下の二行は変更が無いと思ったんですが、自分のOmegaChartソースコードとは違います。
ここも//☆Fibonacciの変更点でしょうか、関係ないですか?
//☆Fibonacci if文をelse ifにする
こう書いてある変更箇所のような?
中途ですみません、とにかく時間かけて読み比べてみます。 >>813
その部分に関しては、
https://osdn.net/projects/omegachartusers/wiki/FrontPage
の「フィボナッチ・リトレースメント描画機能」の項に注釈があります。
361行目を
var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y + _title.Height));
に修正。
362行目を
Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h);
に修正。
このように修正するように、お願いします。 >>814
その記載に自力で気づく事は無かったはずです。有難う御座います。 Fibonacciリトレースメント //☆Fibonacci 、お陰様でビルドまでいけました。
サンプルコードの見落とし箇所としては、
>>813 の部分の下から2行の else if への変更点。
>>814 のご指摘どおりの修正点。
それと、各サンプルコード見出しの注記、”追加修正ポイントには//☆Fibonacci”
この記載にある//☆Fibonacciだけを目印として、変更点を追ったことにより、下記の部分をまるごと見落とし。
↓↓ > //Fibonacciの追加
> public void FixFibonacci(Fibonacci fl)
> {
> Env.Fibonacci.Add(_brand, Env.CurrentIndicators.Format, _pref.LogScale, fl.ToSolid(_brand.ReserveFarm(), _firstDateIndex, _priceTrans));
> _fibonaccies.Add(fl);
> }
> public bool RemoveHighlitedFibonacci()
> {
> ArrayList remain = new ArrayList();
> bool f = false;
> foreach (Fibonacci line in _fibonaccies)
> {
> if (line.DrawMode == Fibonacci.LineDrawMode.Normal)
> {
> remain.Add(line);
> }
> else
> {
> if (line.ID != -1) Env.Fibonacci.Remove(line.ID);
> f = true;
> }
> }
> _fibonaccies = remain;
> return f; //1つでも消去したらtrueを返す
> }
>
どうもすみません。いろいろ見落としました。
厚かましい要望ですが、次回5757.txt差し替え等の際には、上記部分も//☆Fibonacciの変更箇所目印で統一して下されば、自分などには助かります。
有難う御座います。
この機能を試用さて頂きます。 >>817
この場所は、ChartDrawing.cs、#5757.txtです。 >>817
「//☆Fibonacci」の表記抜けでご迷惑をおかけしたようで大変失礼しました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage のまとめサイトに記述追加しておきました
注意:「//☆Fibonacci」の目印の抜け
https://osdn.net/users/omegachartuser/pastebin/5757
1006行目から1030行目までのpublic void FixFibonacci(Fibonacci fl) を丸々
「//☆Fibonacci」の印がないがこれも追加するべきコードです >>819
ありがとうございます。
簡易ワード検査だけで手っ取り早く探って済ませる自分など初心者にとって、よく引っかかる落とし穴です。
すみません。
Fibonacciリトレースメント //☆Fibonacci、試用させて頂いてます。
チャートポイントの自動フォーカス(任意のチャートポイントの値幅を自動取得する)仕様が素晴らしいです。
本来、フィボナッチゲージをフリーハンド描画する仕様であれば、基本の「安値、0.382、0.618、高値、」の4つだけ描画できれば、
それ以外の全てのフィボナッチレベルを自由に描画できますが、このサンプルコードの自動フォーカス仕様においては、
0.236と0.764のレベルゲージの描画も、自分は追加して頂きたいです。
これを追加したくない場合は、その部分のコードをコメントアウトすれば対応可能な仕様などで実現できないでしょうか。
よくできてますね良好です。 >>820
>0.236と0.764
フィボナッチの線を実際に描画してるのは、Fibonacci.cs の public void Draw(Trans pricetrans, Rectangle rect, IntPtr hdc)
https://osdn.net/users/omegachartuser/pastebin/5775 の150行目からなんですが、これをご覧になれば、たぶん直感的にご自身で改変できると思います。
変数がy1〜y5、k1〜k5なのは、フィボナッチリトレースメントの線が5本描画してるからで、7本にするわけですから、変数もy6、y7、k6、k7を追加して既存のコードをヒントに書けば大丈夫だと思います。 >>821
ご案内のFibonacci.csの該当箇所150行目から200行目までの部分について。
ご指示に従って変数のy1〜y5、k1〜k5の各5本の項目をy1〜y7、k1〜k7の各7本へ増やし。
フィボナッチレベルの序列構造に従いまして、既存コードを直感的に行間を補完しました。
改変した部分は、158行目以下の一連の行。
↓↓ > var y1 = 0F;
> var y2 = 0F;
> var y3 = 0F;
> var y4 = 0F;
> var y5 = 0F;
> var y6 = 0F;
> var y7 = 0F;
> var k1 = .0;
> var k2 = .0;
> var k3 = .0;
> var k4 = .0;
> var k5 = .0;
> var k6 = .0;
> var k7 = .0;
>
> if (Env.Preference.LogScale)
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y));
> k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> y3 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> y4 = (p1.Y + p2.Y) / 2;
> y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> y6 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> y7 = Math.Max(p1.Y, p2.Y);
> } >>823
続き↓↓
> else
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> k2 = Math.Abs(k1 - k7) * 0.764 + k7;
> k3 = Math.Abs(k1 - k7) * 0.618 + k7;
> k4 = (k7 + k1) / 2;
> k5 = Math.Abs(k1 - k7) * 0.382 + k7;
> k6 = Math.Abs(k1 - k7) * 0.236 + k7;
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)pricetrans.TransValue(k2);
> y3 = (float)pricetrans.TransValue(k3);
> y4 = (float)pricetrans.TransValue(k4);
> y5 = (float)pricetrans.TransValue(k5);
> y6 = (float)pricetrans.TransValue(k6);
> y7 = Math.Max(p1.Y, p2.Y);
>
> }
> DrawTheLine(hdc, m, l, y1, k1, out pt);
> DrawTheLine(hdc, m, l, y2, k2, out pt);
> DrawTheLine(hdc, m, l, y3, k3, out pt);
> DrawTheLine(hdc, m, l, y4, k4, out pt);
> DrawTheLine(hdc, m, l, y5, k5, out pt);
> DrawTheLine(hdc, m, l, y6, k6, out pt);
> DrawTheLine(hdc, m, l, y7, k7, out pt);
> }
ここまで、、、改変後、お陰様で問題なく機能しているようです。
大変お手数をお掛けしました、解説等ありがとうございます。 Fibonacciリトレースメント //☆Fibonacci、について。
フィボナッチレベルゲージの左端部へラインのネームを表示することは可能でしょうか。
例えば、、、仮に、0.618レベルに”F5”、0.382レベルに”F3”という識別記号を付けたとします。
右端部分(レベル識別記号)+中央部分(フィボナッチライン)+左端部分(計算値)
F5--------------------------------618
F3--------------------------------382
このように二本のライン描画の例を書いてみましたが伝わるでしょうか。
仮に、こんな描画にして分析ポイントの重なりと混線時の視認性を緩和できればと考えてます。
いろいろとすみません。 >>825
イメージの説明の日本語の左右が逆になりました。
左端部分(レベル識別記号)+中央部分(フィボナッチライン)+右端部分(計算値) >>825
今の仕様は、0.382と0.618を特定してないものなので、かなり書き換えないと難しいですね >>827
と思ったけど、_pivotのyの値と、_destinationのyの値の大小をみれば、簡単にできそうですね。 >>825
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※フィボナッチの位置情報(61.8%とか)も描画
https://osdn.net/users/omegachartuser/pastebin/5833
Fibonacci.csだけを上記内容で上書きすれば動くと思います。差分追加修正ポイントには//20180731 のコメントを書き入れました。
要望では”F5”のような文字描画でしたが、サンプルコードでは、”61.8%”のようなフィボナッチ数値にしました。 >>829
何度もすみませんお世話になります、ありがとうございます。
差し替えられたコードをフルコピペして、問題なく動作確認できました。
些細なことながら、Fibonacci.cs,#5833、210行目と213行目の記述。
レベルゲージのラベル表記の序列について、自分の認識として上昇値幅の計測では、
「高値へ向かって0.618→半値→0.382」と小さくなり、下降値幅の計測ならこの逆ではないでしょうか。
表現例、、、買われすぎからの38.2%押し→61.8%押し、、逆に売られすぎ反発上昇では、、38.2%戻り→61.8%戻り、、など。
場所、Fibonacci.cs,#5833.txt、209行目以下の部分を
> //20180731 追加
> var s = new string[] { "Hi", "61.8%", "50%", "38.2%", "Lo" };
> if (_pivot.Y > _destination.Y)
> {
> s = new string[] { "Hi", "38.2%", "50%", "61.8%", "Lo" };
> }
自分の例として、このように短く記号を記述してみました。
公開下さったコードは自分の要望以上の仕様です。
上昇値幅観測と下降値幅観測の違いによって、レベルゲージのラベル表記が可変することは自分の頭から抜けてました。
ほんとに素晴らしいご対応、ありがとうございます。
一つだけ確認した注意点としては、OmegaChartのチャート反転表示中は正常に機能しません。 >>830
>レベルゲージのラベル表記の序列
マケスピがこの表記だったので合わせてみましたが、SBIのチャートやMT4は逆でした。
チャート反転機能はまったく忘れてました。反転中は機能させなくするか、それとも解決方法があるのか。
時間があれば考えてみたいと思います。 >>831
チャート反転時にフィボナッチ・リトレースメントがうまく動作しない件
異常動作は2つのケース
・反転時かつ対数チャートではないときに、38.2%と61.8%のラインが変な位置に出る → 今回修正
・反転時に38.2%と61.8%の案内表示がマウスを動かすたびにクルクル変わる → 修正不可能なので反転時は案内表示をやめる
https://osdn.net/users/omegachartuser/pastebin/5833
194行目を以下のように修正
k2 = Math.Abs(k1 - k5) * 0.618 + Math.Min(k1,k5);
196行目を以下のように修正
k4 = Math.Abs(k1 - k5) * 0.382 + Math.Min(k1, k5);
210行目〜214行目を以下のように修正
var s = new string[5] { "", "", "", "", "" };
if (!Env.Preference.InverseChart)
{
if (_pivot.Y > _destination.Y)
{
s = new string[] { "0%", "38.2%", "50%", "61.8%", "100%" };
}
else
{
s = new string[] { "100%", "61.8%", "50%", "38.2%", "0%" };
}
} >>833
何度も大変ご苦労さまです。
動作確認できました。チャート反転してもちゃんとついて来ます。
ツールの使い勝手は反応機敏で安定して軽やか、書いて消して何度でも繰り返せてストレスを感じません。
フォボナッチ系テクニカルやツールをかなり使い込んでますが、これは良好で楽しいです。
フォボナッチツールのラインについて。
フリーライン描画機能では、OmegaChart画面右側に指標と凡例の表示枠を表示すると、
その表示枠の左端部分を表示エリアの限度として線が消えますが、このフィボナッチラインはモニターの右端までとことん消えませんね。
今のところ邪魔になっているわけではありませんが、一応のご報告です。
それから、厚かましいにも程があると思いますが。
このツールは値幅を自動で取得する仕様で素晴らしいですが。
作者様の言われるように既存コードに簡単な改変を施すだけで実現可能な範囲という前提として。
OmegaChart起動パネルから、あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか。
欲をかいてそんなこを思ったりもしております。
一般的に現状のままでスキがないと思います。本当にありがとうございます。
使いまくってます。 >>834
>あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか
これ、自分も考えたことがあるんですが、結構難しくてですね、実現に至っていません。 まだまだ
ほぼ毎日スクリーニングに使っております。 フィボナッチリトレースメント凄い。
(妄想)
もしそのフリーハンドでも描ける機能が実現するなら、
値幅メジャー表示への切り替えも可能になれば利用の幅が広がります。
切替機能1(標準)自動モード→フリーハンドモード(臨時)
切替機能2(標準)フィボナッチ計算値表示→値幅メジャー表示(臨時)
リスクリワードのだいたいの目安を見るのに便利です。 日付を固定して表示する機能追加の件、便利に利用させて頂いております 有り難うございます
特定の銘柄で表示固定が うまく行かない場合に遭遇しましたので確認して頂ければと思います
4381 ビープラッツ、6571 キュービーネット、9271 和心等で起こりましたが私だけでしょうか >>839
それ全部データ量が少ない今年のIPOばかりですね。
自分の環境では、オシレータ表示を消しておけば問題ありません。 「日付固定」機能は、オメガチャート画面下に表示される、左右に動くスクロールバーを操作する機能です。
なので、直近IPOみたいに足の数が少ない銘柄は、スクロールバー自体が表示されないので機能しないという話になります。 >>833
OmegaChart Fibonacciリトレースメント Fibonacci.cs
どうでもすみません。
フィボナッチ拡張レベルを追加してみたんですが上手くいきません。
一見は描けてるように見えますが。
過去に、フリーライン描画が頼りないことがありましたが、あのように日付ルーラーが交差すると消えることがあります。
記述は下記の通りです。
改変箇所の主要部分(独自に多くレベルを追加してます、すみません)
↓↓ >>844
> if (Env.Preference.LogScale)
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> k8 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> k9 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル
> k10 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル
> k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); >>845
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> y3 = (float)(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> y4 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> y6 = (p1.Y + p2.Y) / 2;
> y7 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> y8 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> y9 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル
> y10 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル
> y11 = Math.Max(p1.Y, p2.Y);
> } >>846
> else
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> k2 = Math.Abs(k1 - k11) * 2.618 + Math.Min(k1, k11);//拡張レベル
> k3 = Math.Abs(k1 - k11) * 1.618 + Math.Min(k1, k11);//拡張レベル
> k4 = Math.Abs(k1 - k11) * 0.764 + Math.Min(k1, k11);//修正20180801
> k5 = Math.Abs(k1 - k11) * 0.618 + Math.Min(k1, k11);//修正20180801
> k6 = (k11 + k1) / 2;
> k7 = Math.Abs(k1 - k11) * 0.382 + Math.Min(k1, k11);//修正20180801
> k8 = Math.Abs(k1 - k11) * 0.236 + Math.Min(k1, k11);//修正20180801
> k9 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 0.618;//拡張レベル
> k10 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 1.618;//拡張レベル >>847
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)pricetrans.TransValue(k2);
> y3 = (float)pricetrans.TransValue(k3);
> y4 = (float)pricetrans.TransValue(k4);
> y5 = (float)pricetrans.TransValue(k5);
> y6 = (float)pricetrans.TransValue(k6);
> y7 = (float)pricetrans.TransValue(k7);
> y8 = (float)pricetrans.TransValue(k8);
> y9 = (float)pricetrans.TransValue(k9);
> y10 = (float)pricetrans.TransValue(k10);
> y11 = Math.Max(p1.Y, p2.Y);
>
ここまでにしときます、、、たぶん以下はいいかと思うのですが。
こんなやり方ではダメでしょうか。
修正のアドバイスお願いします。 フィボナッチを完全にエラーなく再現するのは難しいところがあるからある程度のところで妥協したほうがいいのかもしれないね この調子で4.236相当レベルをこれに追加して総数13個を登録しました。
どんなときに何が原因で不安定になるのか分かりませんが、この状態で使ってます。 ヤフーCS機能について、0値埋め機能に株価0円はあり得ないという仕様に変更するとかどうにか
上場前の銘柄コードに0円の株価DATAを格納しないようになりませんか。 Yahoo.csの一番下の方に、「出来高がない日の株価データがないので値が0のデータを補う」とあります。
このforeach文を丸ごとコメントアウトすればいいように見えますが、試してません。 0201の円・ドルデータで週足表示にすると表示がおかしくなりませんか
あと指数類(0202,0501〜0533)も週足や月足へ表示を切り替えると変になる困った どうおかしいのか分からないが、表示がおかしいのはdataがおかしい。 おらのも6月第5週がスパイク状で安値75円高値159円くらいになってる ドル円や為替DATAは、SDL+の主さんがYahooの為替だったんでデータ継承のために今は手作業でコツコツ書き込んでます。
為替もYahooモードあったらちょとだけ楽ですけどね。
サンプル、ドル円-ttps://stocks.finance.yahoo.co.jp/stocks/history/?code=USDJPY=X
0201ドル円、0202ユロ円、0203オージー円、0204ポン円、0205カナダ円、0206スイス円、0207キウイ円、0208ランド円、、計7通貨。
他に、香港/円ありますけど自分はチャート化してません。 ドル円の表示異常、再現しないですね。
国内株式、株価指数、業種別指数のチェックを外す、為替のチェックのみ入れて、データのダウンロード
このやり方だとデータソースはDreamVisorのはず。ということは異常な表示になる人は別のところから為替の情報を取っているんですかね。 >>853
とりあえず為替データを1999年から全て取り直しましたところ表示は正常になりました
データは一見正常でどれがおかしかったのかは特定できませんでした お騒がせしました 引き直し可能なフィボナッチリトレースメントのサンプルコードができました。
線を引き直すときは、altキーを押しながら、起点か終点の水平ラインにカーソルを合わせると上下に移動できます。
引き直し時は、レート高安に自動調整しませんので、任意の位置設定が可能です。
引き直し前のリトレースメントは残ります。
新規追加したのは3ファイル。
9cd2e32からの変更箇所には「//☆Fibonacci」
最初に書いたサンプルコードとの差分には「//☆Fibonacci 20180816」
OmegaChart Fibonacciトレースメント ChartCanvas.cs 追加修正ポイントには//☆Fibonacci ※差し替え その2
https://osdn.net/users/omegachartuser/pastebin/5847
OmegaChart Fibonacciトレースメント ChartDrawing.cs 追加修正ポイントには//☆Fibonacci ※差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5848
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その4
https://osdn.net/users/omegachartuser/pastebin/5849
以下ファイルは変更なし
OmegaChart Fibonacciリトレースメント Util.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5762
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5761
OmegaChart Fibonacciリトレースメント Env.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5760
OmegaChart Fibonacciトレースメント CustomizeDialog.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5759
OmegaChart Fibonacciトレースメント Command.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5758
前のバージョン、引き直しができない最初のサンプルコードの情報アーカイブ
https://osdn.net/users/omegachartuser/pastebin/5845 >>860 の内容に加えて、あいだの水平線は破線にするサンプルコードと、Preferene.csの1行だけバグ取り
あいだの水平線の色を変えることもできるけど、やりたい人はCustomizeDialog.csの改造箇所を参考にしてみてください。
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その5
https://osdn.net/users/omegachartuser/pastebin/5850
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci ※差し替え その2
https://osdn.net/users/omegachartuser/pastebin/5851 >>860,861
どうも有り難うございました
リトレースメントの表示で数字だけでなく従来通り%をつけるにはどうすれば良いでしょうか
Fibonacci.cs の中身がかなり変更されていて分かりませんでした >>864
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その5
https://osdn.net/users/omegachartuser/pastebin/5850
このファイルでいうと、552行目を以下のように変更
DrawText(hdc, (int)Math.Min(_pivot.X, _dest.X) - 30, y, string.Format("{0}%", retText()));
ただ、このリトレースメントの数字を描画するコードは別の問題を抱えてしまうかもしれず、また修正版のサンプルコードを出すと思います。
Win32.SelectObjectのオブジェクトを参照渡しにしないとメモリリークが起きるらしく、不安定な挙動になる人がいたらこのコードのせいかもしれないですね。 いつもお手数をおけけします 変更後の状況何かありましたら報告させて頂きます 3日米国の休み以来ダウ、Nasdaq、SP500
のデータが取れない? ドリームバイザー・ドット・コムの提供する情報提供サービスは終了いたしました。
http://www.dreamvisor.com/index.html
2018年9月3日12:00をもちまして終了いたしました。 0106 JASDAQもデータが取得できなくなっていませんか? >>870
皆さん困るのでは?
ダウ、Nasdaq、SP500は
ドリームバイザーから
データ取得してたのでね
誰か代わりになるところ
知らないでしょうか?
>>872
わいは日本株オンリーやから困らんな今んとこ >>873
なぜこうなってるのか分かりませんが。
OmegaChart過去DATAではSP500の出来高をNYダウへ插入してます。
TOPIXと日経平均指数の出来高と同じ処理で。
DATA継続性の観点では、この点も継承すると有り難いです。 DATA継続性なら、Yahoo Finance(US)のS&P500は1950年までデータがある。 株価情報 (東証)
ttp://www.edatalab.net/kabu/
2018/9/6 以降データが更新されてませんです。 今日9月7日ダウ、Nasdaq、SP500も
業種別指数もデータ取れてるよ
DreamVisorからデータ取てるのかな?? ごめん
ダウ、Nasdaq、SP500は6日までだ
業種別指数は日本だから7日までだ。 サービスは終了してもサーバーは動いてるんだろうね。 NYダウやS&P500などは、DownloadOrder.cs内のprivate void AddForeignIndicesDataSources(ArrayList col) 以下でデータをDreamVisiorから取得しているということ? >>884
その通りですね。
col.Add ( どのサイトから株価取得するか ( どの銘柄を取得するか ) );
DreamVisorなき後、状況が一変してしまい、あちこちからかき集めるようにしないといけなくなった。
上の「どの銘柄を取得するか」は、以前ならば、一つのサイトで全部集まったけど、これからは複数のサイトを記述しないといけない。
そうすると、管理が結構めんどくさい感じになりそう、なので、ならばもう直接AddForeignIndicesDataSources内に書き込んだ方がわかりやすいという気がします。 DomesticIndices、日経225、TOPIX、JASDAQ
→ヤフーファイナンス
DomesticIndices、日経先物、TOPIX先物
→ケン〇レ
ForeignIndices、ダウ、ナスダック、SP500
→米ヤフー
Currencies、ドル円、ユーロ円
→ヤフーファイナンス
・33業種指数はデータダウンロード終了
・個別銘柄株価以外のこれらに関して、1回のアクセスで取れる情報量だけを更新対象とする
(最短で20日分しか取らないので、1か月空けてダウンロードすると、情報漏れが出る)
こういう仕様で考えてみたいと思います。 >>878
昨日の夜にはデータ更新されてますね
管理人さんは北海道の方なのかな
もし被災されたなら、心からお見舞い申し上げます
それから、いつもありがとうございます >>886
ドリームバイザー・ドット・コムのサービス終了に伴い、別ソースからの株価ダウンロードを試みるサンプルコード
・33業種指数は株価取り込みを取りやめ
・新規取り込み先のヤフーファイナンスの日経225などは出来高なし
など、従来からの変更点あり。
OmegaChart DreamVisor終了対応 DataSourcs.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5858
OmegaChart DreamVisor終了対応 DownloadOrder.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5859
OmegaChart DreamVisor終了対応 KenMille.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5860
OmegaChart DreamVisor終了対応 Yahoo.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5861 >>888さんへ サンプルソースコードの提供に感謝します。
>> 33業種指数は株価取り込みを取りやめ
kabutanに33業種別指数の時系列データがあります。
下記URLに0251から0283まで指定すると表示されました。
https://kabutan.jp/stock/kabuka?code=xxxx
他にも以下の時系列データがありました。
日経平均:0000、TOPIX:0010、JASDAQ:0100
ドル/円:0950、ユーロ/円:0951
NASDAQ:0802
残念ながら、日経平均先物、TOPIX先物、S&P500はありませんでした。(確認不足かもしれません)
尚、NYダウ:0800、はありますが時系列データがありません。
以上ですが参考になれば幸いです。 889です。下記の通り訂正します。済みませんでした。
JASDAQ平均:0100 ではなく
JASDAQ指数:0102 の様です。 >>888
ありがとうございます。
現在DreamVisorのサーバーは動いてる
らしいので止まってからこの変更を
すればよろしいのですよね。
月曜日以降取得確認等ご報告
よろしくお願い致します。>>888 >>889
ありがとうございます。自分も株探のページは1000番までほとんど確認してみました。銘柄種類は随一ですよね。
ただ、みんかぶは赤字だったと記憶してますし、そういうところのサーバーはこっそり利用させてもらうほうが良いかなと思い、頭数に入れませんでした。
>>891
そうなんですよね。まだ動いているようでした。
出来高の桁数とか、こちらで勝手に桁を落としてるので、ご自身の環境に合わせる必要もあるかと思います。
テスト環境でテストを重ねたうえで、本番環境に移行したほうがよろしいかと思います。 >>885
>>888
どうもありがとうございます >>888
どうもありがとうございます。ファイルを更新、ビルドして、オメガチャートを実行してみました。
ひとつ教えてほしいのですが、データを取得する日数を指定した場合でも取得される指数データの期間には影響を与えないのでしょうか?
(たとえば5日前からデータを取得しようとしても取得される指数データの期間は変わらない?) >>894
こんばんは。影響しないです。
1回アクセスしたその情報だけをOmegaChartのデータに反映します。
そのサイトが20日分の4本値を表示していたら、その記録で上書きするサンプルコードです。
OmegaChartのデータダウンロード画面は個別しか日付指定できないので、そうするしかありません。 >>895
こんにちは、
いろいろとどうもありがとうございました。 >>888
いつも有り難うございます ところで従来通り業種別指数を取得するのは難しいのでしょうか >>897
DreamVisor終了以降、33業種指数4本値を取得できるのは、
>>889 >>645 株探から取得する方法
>>483 TradeStationから取得する方法
の2通りあります。 ○探て どうして為替データ沢山あるんだろ しかも小数点2桁と4桁揃って別のコードで 不思議やな OmegaChartの初期化ファイル(ZIP)更新しました。2018年9月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
(前回と同じURLです)
>>691のページの下のほうにデータファイルへのリンクを貼っておきます。
忘れなかったら四半期ごとに更新しようかと思います。 ヤフーファイナンスから情報取得できなくなったんですけど、ひょっとして自分だけ? YahooモードDLメッセージ
基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。
落ちません。 私のPCも
『基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。 』
と、出て YahooモードでのDATA更新出来ません
Yahoo形式変わったでしょうか プログラムでヤフーファイナンスに接続しようとすると、切断を強制的に切られるようになったようです。
UserAgent偽装してみましたがこれだけだとダメ。WebBrowserのDocumentTextでは株価が取れました。
ただ、WebBrowserはめっちゃ遅いうえに不安定だったりしますから微妙ですね。上手い偽装の仕方があればいいのですが。 そして無尽蔵だけが残った、か
そろそろやばいね
ヤフーはファイナンス倶楽部に入ってても拒否られるのかな? >>913
そうなんですか?
こっちを先に確認したほうがいいかもですね 地方市場の時系列データがあるのはYahooしかないのかな 一応は、みんかぶ個別株時系列データあり
ヤホーに似てる 毎日、通報しまくった成果がやっとでたな
おまえらは、
もう終わりや 人が質問した時は、
相手を小バカにして、
自分が困ったら、
「助けて〜」って泣きつくか?(笑)
panacoranのこともヤフーにはサイトごと通報済み
訴えられないといいね♪ 最悪hypersbiかな?
まー捨てる神あれば拾う神ありだわな ヤフーがなくても、普通に情報が手に入る、この時代でなぜか勝ち誇る情弱の君。 そういうことかできるのは100人に1人
情報を共有できるレベルじゃない
つまり、おれの勝ち
1人でデータ取ってシコシコしてろ >>925
相場で負けてるからせめてここでは勝ちたいんですねわかります >>927
底辺乙w
負け犬は無駄に足掻いてなさいw >>928
負け惜しみいってろ
おまえらはもう終わり すぐにレスがつくねえ
panacoranが助けてくれると思って、
へばりついてるんでちゅか〜? なにもない時は、
数日書き込みないのにねえ(笑)
困ってんだろバカ親父
助けてくださいってはよいえや ヤフーにはこのスレも通報済み
警察に被害届け出すっていってたから、
panacoranはもう逮捕されてたりして(笑) おまえらが、
OmegaChartを使えるようになる日は、
もう2度ない
おつかれさん 月々1000円くらい払えば株価が手に入るんですよ。
それをオメガチャートに取り込む方法も公開されてます。
誰でもできますよね。 >>937
あれ?それどこでしたっけ?
もうそっちに移行しようかなと >>938
KABU+ https://kabu.plus/
指数とか先物、為替のレートはないです。 こんなクソソフトに1000円払う?(笑)
マケスピ、ハイパーSBIは無料やで
ま、おまえらは、
今度の世界同時株安で破産するから、
どっちもいらんか このデータを買うと、オメガチャートだけじゃなくて、
エレフォロ氏のチャートリスト http://elefolo.com/NewChartList/index.html
メリー氏のキラトレ http://pulse227.net/kiratorekabuplus/
などで役立てることができる。
購入者のほとんどの人は、Excelでその日の資金の流れを復習するために買ってるんじゃないか
っていうくらいこの活用方法はツイッターなどで目にした。
https://twitter.com/i/moments/826105030583341056
https://twitter.com/5chan_nel (5ch newer account) たとえばKABU+だと1時間当たりアクセス回数上限がありますよね
仮にオメガチャートをKABU+対応にした場合でも複数日にさかのぼってデータ取得する際は1時間当たり2〜3日分が限度ということなのでしょうか? その通りです。1時間あたり4アクセス制限コースだと、ETF、REIT、FUNDと個別株データの4ファイルを見ないと全部データ収集したことになりませんので、1hあたり1日分しか取れません。
アクセス制限があるネットの方はダウンロードだけにすれば不自由なく運用できると思います。 >>944 どうもありがとうございます。
有志サイトにある
KABU+(こもりばん氏サイト)から株価取得 差し替え その1ファイルには
//時間当たりのデータ取得制限のため指定した日付のみ取得
と記載されています。
このファイルを用いてomegachartを作成した場合、たとえば過去の日にちでも取得できる仕様なのでしょうか?
(本日 2018/10/11ですが、2018/10/4のデータ1日分を取得することが可能であるかどうか?) >>945
という仕様だったと思いますのでちょっとまずいですよね。1時間内で何回もKABU+にアクセスすることが可能になってしまいます。
KABU+から株価をダウンロードするのは別のプログラムで行い、オメガチャートからキックする「株価ダウンロード」は、PCのローカルファイルを見に行くという仕様が一番いいような気がします。
パソコン内にCSVファイルを貯めると、2017年1月4日から今日までは438日分。1日分4ファイル、600KBほど必要ですから、300MB以上のHDD空きが必要になります。 KABU+から株価をダウンロードするのは別のプログラム、この仕様は
・初回起動で、KABU+のIDとパスワード設定、保存するフォルダ設定
・タスクスケジューラーで毎日1時間ごとに起動するように設定
・保存フォルダ内の最新ファイルを見つけて、足りないファイルをKABU+からダウンロードする
・当日株価ファイルまで揃っていたら、保存フォルダ内で一番古いファイルを見つけ、それよりも古いファイルをKABU+からダウンロードする
・2017年1月4日(KABU+にある最古株価)まで辿っていたら何もしない >>946 947
ご回答どうもありがとうございます。 <th class="a-taC">10/11(木)</th>
の正規表現は
<th class=""a-taC"">(?<month>\d?\d)/(?<day>\d?\d)((月|火|水|木|金))</th>
という書き方で正しいでしょうか? 曜日のかっこは、全角かっこ()で
全角のかっこ場合もエスケープ\(\)になるんでしょうか? Visual Studio C#で試したら普通に検索できるようですけど。
var s = "<th class=\"a-taC\">10/11(木)</th>";
var valid = new Regex(@"<th class=""a-taC"">(?<month>\d?\d)/(?<day>\d?\d)((月|火|水|木|金))</th>");
var matches = valid.Matches(s);
Console.WriteLine(matches.Count); 誰か次スレ早めによろ。
規制かなんかで何故か建てられんかった。。 >>953 そういう確認方法があるんですね、どうもありがとうございました。 //天皇陛下御退位及び皇太子殿下御即位対応
if(d.Year == 2019)
{
if((d.Month == 4 && d.Day == 30) || (d.Month == 5 && d.Day <= 2))
return true;
} <td class="num">9,350.0</td>
の正規表現を
<td class=""num"">(?<open>[0-9,.]+)</td>
としたところ、ビルド時にnumのところで
)や;が必要です。
とエラーが表示されます。
エラーが表示されるのは、文字列のnumとして認識おらず、それ以上の意味のあるものとして扱っているようです、何か良い解決策がございましたらご教授お願いいたします。 yahoo時系列からダウンロードしようとすると、
「基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。」というエラーが出てダウンロードできなくなってる。
しばらくすればできるようになるのかな? >>963 どうもありがとうございます
963さんが加入されているKABU+のプランはスタンダードプランでしょうか? >>965
通報がどうとかお前らのことが嫌いとか言っている奴は大損したバカな年寄りだろうなw >>966
スタンダードです。
今、気づいたんですが、先物のCSV配信もしてますね。朝8:45に昼、夜の2ファイル。
個別株の株価が出そろう夕方以降にOmegaChartの株価を作りたいけど、KABU+の先物データは翌日の朝にならないと揃わないっていう感じかな。 >>967
アレはそんなんじゃなくて、もっとひどい理由だった気がするよ >>967
年寄りかどうかは分からんが ねじけたうんこにゃ間違いない >>963
KABU+のCSVを自動ダウンロードするプログラムのサンプルコードに記載されているChkLastDownload(string ymdhms)は、最後にダウンロードされたファイルの時刻と現在時刻を比較して、1時間未満であればfalseを返す関数で、
その結果として偽であるならばKabuPlusDownloader.exe自体は起動しているものの、プロセスが終了するということなのでしょうか? >>972
機能としてはおっしゃる通りで、1時間未満であれば処理中断して、KabuPlusDownloader.exeは終了します。プロセスが残っているようなら異常事態ですね。
起動はWindowsのタスクスケジューラーで行えば、手間いらずです。こちらのURL、「KabuPlusダウンローダー」の項にタスクスケジューラー設定方法を書きました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage 株価情報 (東証)
ttp://www.edatalab.net/kabu/
都合により URLが ****** に変更になります。
現在の URL は10/31までになります。 ご迷惑をお掛けします。 株価情報取得先である「株価情報 edatalab」のURLが2018/11/1から変更されるのに伴い、コード修正。
修正箇所は、FillData内記述のURLのみ。
https://osdn.net/users/omegachartuser/pastebin/5900 >>973 どうもありがとうございます、勉強になりました。 みんかぶから時系列データ取得するコードはないですか? 自分で作りましょう
サーバーの強度の問題があるからヤフーのように期待することは難しい気がする >>979
>>962がみんかぶ用オメガチャートの参考になればどうぞ KabuPlusダウンローダーを作成して、KabuPlusDownloader.exeをダブルクリックしたところ
「KabuPlusDownloaderは動作を停止しました」と表示され、正常に実行されません
ひょっとしてこのプログラムはタスクスケジューラからの起動を前提としておりダブルクリックや実行からの起動ではうまく実行されないのでしょうか? >>982
そんなことはないと思います。起動し終える前に、実行ファイルがあるフォルダ内に、最後に起動した年月日時分秒の情報をファイル出力をします。
ファイル出力は、ウィルスチェックソフトが最も反応する動作ですから、それが影響していると予想します。
とりあえず、Visual Studio C#のDebugモードで試してから、Releaseモードの実行ファイルを作って運用してみることをお勧めします。 >>983 どうもありがとうございます。
現状のところ、最後に起動した年月日時分秒の情報が書かれたファイルは作成されません。
デバックモードで少しずつ実行してどこでエラーが出るのか調べたところ、ファイルのダウンロード時にエラーが出ているようです。(ID、パスワードは再度、確認したものの適切でした。)
型 'System.Net.WebException' のハンドルされていない例外が System.dll で発生しました
追加情報: 接続が切断されました: 送信時に、予期しないエラーが発生しました。。 下記HPの
http://www.sankayo-jp.com/download.htm
[株価データ]
F72 を 活用 自働変換する 方法はありませんでしょうか DownloadKabuPlusFile(newdate, ref cnt, ref updatetime);
でエラーが起きていているようです。
ウイルス対策ソフトを一時的にオフにしても同じところでエラーが出ます。
変数の値も問題ないようです。 >>986
Visual Studio C#のDebugモードで動かしてみて、どこでエラーが出るか教えてもらえませんか?
Visual studio画面のコードが書いてある画面の一番左端をクリックすると「ブレークポイント」が設置できます。
プログラムをVisual Studio内から走行させたとき、ブレークポイントを設置したところで一時停止させる機能です。
ブレークポイントで止まった後、パソコンのキーボードのF11ボタンを押下するとプログラムが1行進みます。
そうやって1行ずつ実行させると、どこの行でエラーになるのかがわかります。
どこの行でエラーになるかがわかったら、try catch文を挿入してエラー内容を調べます。
https://qiita.com/mik_claire/items/8f36d143639cd538a980
try
{
//エラーになった行
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
このConsole.WriteLineの行でまたブレークポイントを設置してプログラムを再走行させます。
※ちなみに、tryの中での変数宣言は内部変数になりますので、注意。
たぶん、DownloadKabuPlusFileからDownloadを呼び出しているので、エラーが出てるとしたらそこでしょう。 >>988
ご返答どうもありがとうございます。
Windows7 1号機でブレークポイントを設置して調べたところ、DownloadKabuPlusFile(newdate, ref cnt, ref updatetime); でエラーが起きていると思うのですが
開発環境をWindows10 1号機にしてで同じように調べたところエラーがでないのでもしかしたらエラーの出現は固有の環境によるものかもしれません。
また、ビルドしてできたKabuPlusDownloader.exeを(ウイルス対策ソフトをオフにして実行したところ)、Windows7 1号機で実行するとエラーになるのですが、
Windows7 2号機とWindows10 1号機では実行してもエラーにならず普通に実行できます(しかし両方のパソコンとも実行しても株価データのファイルは指定したファイルに保存されていない)
出先で取り急ぎ調べた程度なのでtry-catch文は宿題とさせてください。 >>988
開発環境Windows10 2号機を用いてF11で詳しくしらべると using (var reader = new StreamReader(webClient.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))に到達したときにエラー
接続が切断されました: 送信時に、予期しないエラーが発生しました。。
となります。 >>991
ユーザーが設定するべき箇所は、KABU+のアカウントIDとパスワードと保存するフォルダの3つです。
フォルダがない、あるいは権限がないと、SearchOldfileNewfileの頭でエラー落ちします。
アカウントか、パスワードが間違ってると、Downloadで落ちます。
こんな感じにtry catchでエラー処理しますとエラー内容が分かります。
private void Download(int date, string url, string filename)
{
var uri = new Uri(url);
try
{
using (var webClient = new System.Net.WebClient())
{
webClient.Credentials = new NetworkCredential(SITE_ID, SITE_PASSWORD);
using (var reader = new StreamReader(webClient.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))//アカウントIDやパスワードが間違ってるとここでエラー
{
var line = reader.ReadToEnd();
if (line.Trim() != string.Empty)
{
System.IO.File.WriteAllText(filename, line, System.Text.Encoding.GetEncoding("shift_jis"));
}
}
}
}catch(Exception ex)//エラーが発生するとココに飛んできて、エラー内容がexに入る。
{
Console.WriteLine(ex.Message);//exMessageの内容を読んでエラー対応を検討する
}
} >>992 ご丁寧にどうもありがとうございます。
>>992に書かれているコードに書き換えますと、どうもログイン時にエラーとなっているようなのです。
ただコード内に書き込んであるID、パスワードは間違いがないんですよね。
(コピペしてブラウザからKABU+ ID、パスワード入力画面に入力するとログインできるので)
後のこのコードに書き換えますと、今まで作成されなかったiniファイルが作成されるようになりました。 >>993
ググってみましたら、同じような事象があったので、このサイトの通りに書き換えたDownloadがこちらです。
https://qiita.com/muro/items/8b9f5886c56f7b6afd3c
private void Download(int date, string url, string filename)
{
var uri = new Uri(url);
try
{
using (var wc = new System.Net.WebClient())
{
var namePassword = string.Format("{0}:{1}", SITE_ID, SITE_PASSWORD);
var chars = System.Text.Encoding.ASCII.GetBytes(namePassword);
var base64 = Convert.ToBase64String(chars);
wc.Headers[HttpRequestHeader.Authorization] = "Basic " + base64;
//webClient.Credentials = new NetworkCredential(SITE_ID, SITE_PASSWORD);
using (var reader = new StreamReader(wc.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))
{
var line = reader.ReadToEnd();
if (line.Trim() != string.Empty)
{
System.IO.File.WriteAllText(filename, line, System.Text.Encoding.GetEncoding("shift_jis"));
}
}
}
}catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
} >>994
環境によってKabuPlusDownloader.exeが正常に動作するパソコンとそうでないパソコンがあり、それらを分ける条件がよくわからないのですが、正常に動作するKabuPlusDownloader.exeができました。
いろいろとどうもありがとうございました。感謝いたしております。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 590日 10時間 19分 36秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。