最近の更新 (Recent Changes)

2018-11-10

最新リリース情報

リリースはありません

Wikiガイド(Guide)

サイドバー (Side Bar)

OmegaChart サンプル・コード

5chで出されたサンプルコードのおまとめ
OmegaChartスレ ver.10
https://egg.5ch.net/test/read.cgi/software/1488866170/
ご自由、かつご自身の責任においてご使用してください。

サンプルコードの試し方
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.正常にコンパイルできることを確かめる

MY検索ワード

銘柄名と違うワードで「名前から検索」したい場合に使う機能
オメガチャート親フォルダ配下にsearch_word.txtを設置し、コード,名前 というCSV形式で登録
(search_word.txtが存在しなければ、OmegaChartを立ち上げたときに空ファイルを作るようにした)

search_word.txt、CSV形式データ登録例

9984,犬
4335,IPS
4390,ips
9984,禿

名前から検索の窓を出してから、「犬」ワード入力して検索するとソフトバンクGが選択肢に出ます
MY検索ワード機能に限り、大文字小文字は区別しますが、全角半角は区別しません。
銘柄コード重複登録可能
銘柄の順不同でかまいません
OmegaChartが立ち上がってるときに、search_word.txtを編集したら、OmegaChart再起動をしてください。

OmegaChart MY検索ワード Brand.cs 追加する部分には//☆MY検索ワード
https://osdn.net/users/omegachartuser/pastebin/5940
OmegaChart MY検索ワード SearchBrandDialog.cs 追加する部分には//☆MY検索ワード
https://osdn.net/users/omegachartuser/pastebin/5941

株価情報 edatalab URL変更対応

株価情報取得先である「株価情報 edatalab」のURLが2018/11/1から変更されるのに伴い、コード修正。
修正箇所は、FillData内記述のURLの1行のみ。
変更前:var url = "http://www.edatalab.net/kabu/data" +
変更後:var url = "http://www.edatalab.sakura.ne.jp/data" +

KabuPlusダウンローダー

KABU+の会員の人が、同サイトが配信している株価ファイルなどをダウンロードするプログラムのサンプルコード。
このサンプルコードを使う大前提として、KABU+会員になる必要があります。https://kabu.plus/
Visual Studio 2017C#以外での実行ファイル作成ではエラーになるとの報告がありました。

OmegaChart KabuPlusダウンローダー
https://osdn.net/users/omegachartuser/pastebin/5906
(前のバージョンはこちら https://osdn.net/users/omegachartuser/pastebin/5894)

サンプルコードの最初の方に「SITE_ID」「SITE_PASSWORD」「HOZON_DIR」「MAX_DOWNLOAD_NUMBER」を変更するように促している行があります。
「MAX_DOWNLOAD_NUMBER」は変えなくてもいいですが、残りの3つは必ず変更する必要があります。

このサンプルコードからプログラムを作るには
・Visual Studioを立ち上げてプロジェクトの新規作成-Visual C#-Windowsフォームアプリケーション
・名前を「KabuPlusDownloader」、場所はコードを保存する任意のフォルダ名を選択します。
・出てきたフォームを右クリックして、コードの表示
・ここに上記URLの内容を書き写して「ソリューションのビルド」(実際に使うのはReleaseの方で)
・これで実行ファイルが作られます。(KabuPlusDownloader\bin\Releaseフォルダの中にKabuPlusDownloader.exe)

このプログラムをタスクスケジューラから実行させます。
・コントロールパネル-管理ツール-タスクスケジューラ 起動
・タスクスケジューラライブラリから「タスクの作成」
 全般-名前 「KABU+ダウンローダー」と記入
 トリガー-「新規」ボタン押下-設定「毎日」、開始の時間を「00:10:00」(毎時10分に起動することになる)、詳細設定-繰り返し間隔「1時間」にチェック、継続時間「無期限」へ
 操作-「新規」ボタン押下-「参照」ボタン押下して、上記(7行上)の実行ファイルのパスを記入
以上までの作業で、そのパソコンを立ち上げていれば毎時1回KABU+から株価を自動ダウンロードするようになります。

このプログラムは、ダウンロードするべきファイルを次の優先順位で選択します
・保存フォルダに何もないときは一番近い営業日の株価ファイル
・保存フォルダ内のファイルが最新のものを揃えるまで最新日方向で収集
・最新のものが揃っていたら、過去日方向で収集

KABU+から株価取得。ローカルファイル利用版。

OmegaChartのデータのダウンロードから、KABU+株価を利用可能するサンプルコード。
このサンプルコードを使う大前提として、KABU+会員になる必要があります。https://kabu.plus/
https://osdn.net/users/omegachartuser/pastebin/5913

サンプルコードの最初の方に「フォルダ名」を変更するように促している行があります。
KABU+からダウンロードしたCSVファイルを保存しておくフォルダ名で、これをお使いのPCの任意のフォルダ名です。
これはインターネットに接続して株価を取得するプログラムではありません。そのフォルダ内のCSVファイルから株価を取得するプログラムです。
別途、KABU+のCSVファイルをダウンロードするプログラムのサンプルコードを書きましたので、後程提示します。

このサンプルコードの使い方です。
Visual Studio C#を起動し、上記URLの内容を(例えば)「KabuPlus.cs」という名前を付けてOmegaChart新規追加。
DownloadOrder.csのConvertToDataSource()から呼び出しをするコードを追加。
例として
stock_ds = new Specialized.YahooDataSource(_dateArray);
と書いてある行を以下のように変更
stock_ds = new Specialized.KabuPlusDataSource(_dateArray);
OmegaChartのデータのダウンロードで「Yahoo時系列」を選んで開始すると機能の試用ができます。

繰り返しになりますが、CSVファイルがなければまったく意味がないコードです。
日経平均、TOPIXの株価情報もありますが、サンプルコードでは取り込まないものとなっています。

DreamVisor終了対応

ドリームバイザー・ドット・コムのサービス終了に伴い、別ソースからの株価ダウンロードを試みるサンプルコード
・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

オシレータ表示段を増やすには? (アイコン設定方法も)

デフォルトでは、オシレータを3つ同時に表示できますが、これを増やす方法

1.アイコンを設定するには、ImageListForm.csを開く
2.フォームのデザインが開くので、たぶん左下にみえる_image16、これを右クリックしてイメージの選択を押下
3.25個のメンバーが並んでいると思うので、任意のアイコンを追加、追加したアイコンを(右にある矢印ボタンを使って)18番目に移動
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に変える。
※参考 ChartTitle.cs public ChartTitle()の中の記述「オシレータの表示をするかどうかを指定します」が書いてあるコード群がオシレータ関係でアイコンの設定もここで行われている

スクリーンショット出力機能

OmegaChartの画面イメージをファイル出力する機能のサンプルコード
サンプルでは、CtrlキーとAltキーを同時に押しながら、Cキーを押下すると動作。
OmegaChartの実行ファイルがあるフォルダ配下の「ScreenShot」フォルダに「銘柄コード.png」というファイルが保存されます。
https://osdn.net/users/omegachartuser/pastebin/5822

銘柄名を含んで、ファイル出力するならば、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は微調整

日付を固定して表示する機能追加

日付を固定して表示する機能追加のサンプルコードです。
機能を使うときは>>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

KABU+(こもりばん氏サイト)から株価取得する

KABU+(こもりばん氏サイト)から株価取得 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5778

DownloadOrder.csからこのコードを呼び出す変更が必要です。
Standardコースで1時間当たり4アクセス制限があり、指定日分の1日分しか取れません。
このサイトは有料サイトです。(Standardコースで1か月1000円くらい。)
契約するともらえるIDとパスワードをこのサンプルコードではコードに直接書き込み方式になっています。
適宜書き換えをお願いします。
株価だけではなくて、時価総額や決算データ、PERなど投資指標、浮動株比率、日証金、信用取引残高などあります。

株探から株価取得

OmegaChart かぶたんから株価取得 Kabutan.cs 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5797

処理時間は自分の環境で70分くらい。1スレッド、1000msSleep()です。
探したらJasdaq指数もあったので追加しました。

フィボナッチ・リトレースメント描画機能

altキーを押しながらラインを引くとフィボナッチリトレースメントが表示出来ます。
ラインを消す時は、起点か終点の水平ライン、どちらかをクリックすると消えます。
最初に引くときは、レート高安に自動調整します。
線を引き直すときは、altキーを押しながら、起点か終点の水平ラインにカーソルを合わせると上下に移動できます。
引き直し時は、レート高安に自動調整しませんので、任意の位置設定が可能です。

新規追加したのは4ファイル。
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 新規追加 ※差し替え その5
https://osdn.net/users/omegachartuser/pastebin/5850
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci ※差し替え その2
https://osdn.net/users/omegachartuser/pastebin/5851

以下ファイルは変更なし
OmegaChart Fibonacciリトレースメント Util.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5762
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

TradeStationスキャナから出力したCSVで株価取得

OmegaChart TradeStationスキャナから出力したCSVで株価取得
https://osdn.net/users/omegachartuser/pastebin/5755
例によって新しい項目として上記のファイルを作って、DownloadOrderから呼び出す。

必要な作業の手順として、
1.TradeStationを開く
2.ファイル、新規作成、トレーディングアプリケーションウインドウから、スキャナーを選ぶ
3.挿入ボタン押下
4.名前を適当に書き、シンボルに全銘柄(日本)を設定、スキャンで使用する基準を選択で、フィールドに始値、高値、~略~、出来高などを選択
5.演算子は「表示」
6.終了ボタン押下して、適当に付けた名前のスキャンが存在するのを確認
7.そのスキャンを右クリックして、スキャンの設定、結果のダイアログで結果ファイルの生成にチェックを入れる
8.スケジュールとかはご希望で。
9.動作させたい場合は、作ったスキャンをクリックして実行、CSVファイルが得られる
以上

DreamVisor.csで上書きから追記に改変する

DreanVisor.csにある ImportFullDataを以下のリンク先のように書き換える。
注意としまして、空なのに銘柄ファイルがある(0バイトファイル)と、エラーにもならず、その銘柄だけ更新されません。

OmegaChart DreamVisor.cs 必ず上書きじゃなくて、未来データなら追加するように書き換える(修正版その1)
https://osdn.net/users/omegachartuser/pastebin/5753

株価がなぜか置いてあるサイトから株価取得

OmegaChart 株価がなぜか置いてあるサイトから株価取得
https://osdn.net/users/omegachartuser/pastebin/5733

株価がなぜか置いてあるサイトから株価をダウンロードしてオメガチャートのデータファイルを作るサンプルコードです。
https://egg.5ch.net/test/read.cgi/software/1488866170/ ※303 ※313-316 ※320 ※330 などが参考)
株価がなぜか置いてあるサイトの一番古いデータは2017/12/7、2017/12/14から出来なかった銘柄情報も追加という仕様変更あり。

ジグザグ・ライン描画

Omegachartで何点かを指定してジグザグラインを引かせたい
開始地点2カ所を指定してエリオット波を表示させたい

エリオット波動のサンプルコード。 
ライン情報の追加方法はOptions.conf直書き。FreeLineと同じフォーマット。
elliott-lines=101:D:20170101:23000:20180101:48000,9984:DL:~以下略~
FreeLine.csをコピーしてコンパイルを通るだけにしただけのようなもの。 色は変えられます。 ご懸念のジグザグラインは、Elliott.csのDrawで書いてます。 エリオット波動と名前が付いてますが、肝心のエリオット波動のロジックは入ってませんので名前倒れです。

OmegaChart Elliot波動 Elliott.cs 新規追加
https://osdn.net/users/omegachartuser/pastebin/5743
OmegaChart Elliot波動 Preference.cs 追加修正ポイントには//☆Elliott
https://osdn.net/users/omegachartuser/pastebin/5742
OmegaChart Elliot波動 Env.cs 追加修正ポイントには//☆Elliott
https://osdn.net/users/omegachartuser/pastebin/5741
OmegaChart Elliot波動 CustomizeDialog.cs 追加修正ポイントには//☆Elliott
https://osdn.net/users/omegachartuser/pastebin/5740
OmegaChart Elliot波動 ChartDrawing.cs 追加修正ポイントには//☆Elliott 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5808
OmegaChart Elliot波動 ChartCanvas.cs 追加修正ポイントには//☆Elliott
https://osdn.net/users/omegachartuser/pastebin/5738

インデックスファイル(index.txt)のダウンロード機能の改変

Protraさん配信のindex.txt(index.txtのダウンロード)に無い銘柄はダウンロードのたびに消える仕様でしたが、残す仕様に変更するサンプルコードです。 OBS銘柄とかも残ります。

OmegaChart ダウンロードindex.txtとローカルindex.txtをマージする機能 DownloadIndexFileDialog.cs
ttps://osdn.net/users/omegachartuser/pastebin/5730
↑こちらは差し替え

OmegaChart ダウンロードindex.txtとローカルindex.txtをマージする機能 brand.cs
https://osdn.net/users/omegachartuser/pastebin/5731
↑こちらは追加

楽天RSSから株価取得する

https://osdn.net/users/omegachartuser/pastebin/5672 このコードをオメガに任意の名前で新規追加して、NDdeを参照か、NuGetから呼び出し DownloadOrderから、これを呼び出すだけで一応は動くと思います。 うちの環境で処理時間30分くらいかかりました。 処理日を過去にしたときの対応は書いてません。ご注意を。

楽天RSSから株価取得 最新日付のみ更新させる

https://osdn.net/users/omegachartuser/pastebin/5673 Util.GuessLatestTradeDate()を召喚させただけですが。
private void GetIndexValues()の中の記述を訂正です。
誤: volume = _marketVolumedate
正: volume = code == "N225" ? _marketVolumedate : 0
(92行目を書き換え)

あと問題になりそうなのが、225先物とTOPIX先物。。 15:15~16:30の間しか、ちゃんとした4本値が取れない。 なので、オメガチャート実装、先物RSSデータ取得は止めた方がいいっぽいですね。

データ

オメガチャートの初期化ファイル(ZIP)

data.zip

https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
k-dbさんのサイトにあったCSV群の一部をZIPに固めたものにプラスして2018年9月末までの情報を付け足したもの
ドル円など為替、ダウなど海外指数などは2018年度分からは更新しません

k-dbの株価ファイル

kdb_csv.zip

https://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

https://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がマザーズなど。

最新リリース情報

リリースはありません

最近のチケット一覧

(empty)