OmegaChartスレ ver.10 [無断転載禁止]©2ch.net

1名無しさん@お腹いっぱい。2017/03/07(火) 14:56:10.51ID:F6zMzisw0
会則
@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.9
http://potato.2ch.net/test/read.cgi/software/1423093067.html

670名無しさん@お腹いっぱい。2018/03/31(土) 18:54:44.25ID:nrdZjnsx0
>>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」の文字記述を削除する。

671名無しさん@お腹いっぱい。2018/04/02(月) 11:57:53.60ID:A6WCx7JE0
>>670 ありがとうございます

672名無しさん@お腹いっぱい。2018/04/08(日) 10:21:03.50ID:rEn20DWx0
ほしゅ

673名無しさん@お腹いっぱい。2018/04/13(金) 08:00:19.30ID:sYNoA0J70

674名無しさん@お腹いっぱい。2018/04/14(土) 10:13:21.32ID:4LpsUvD+0
おめちゃ

675名無しさん@お腹いっぱい。2018/04/15(日) 08:08:26.19ID:fUKPr2Mw0
↑ ら

676名無しさん@お腹いっぱい。2018/04/20(金) 00:33:01.13ID:QQWZRMB80
チャート表示日固定機能っていうのはあったら便利そう

677名無しさん@お腹いっぱい。2018/04/21(土) 18:39:20.04ID:Z5qKORuQ0
何で

678名無しさん@お腹いっぱい。2018/04/21(土) 19:57:26.06ID:PdlH2Kc/0
デフォルトの価格区切り線を消して、任意の価格で引き直すことはできないんでしょうか?
100円、300円、1000円、2500円・・・とか。

679名無しさん@お腹いっぱい。2018/04/21(土) 19:58:38.25ID:qtWD8TE20
例えば、バブル崩壊前後の複数銘柄の値動きをみたいとするとき、1990年までチャートをいちいち戻すのがめんどくさい。
週足に切り替えたりしても、また最新日からやり直し。

680名無しさん@お腹いっぱい。2018/04/21(土) 20:15:04.20ID:qtWD8TE20
価格区切り線は、ChartDrawing.cs DrawScaleLinesの中で引かれてて、ここを書き直せば引けると思う。
その100円、300円・・・・を 配列に入れてグルグル回して、その区切り価格が_lowPriceよりも大きかったら描画とする。

681名無しさん@お腹いっぱい。2018/04/21(土) 20:36:51.63ID:qtWD8TE20
>>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());
}

682名無しさん@お腹いっぱい。2018/04/22(日) 00:00:09.07ID:vz26P6Jh0
>>681
ありがとうございます!思った通りにできました。完璧です。
区切り価格を見るに、要するに何をしたいかは多分わかっておられると思います。

683名無しさん@お腹いっぱい。2018/04/23(月) 18:37:54.11ID:UCYd6VmU0
無尽蔵さん、6573の市場が間違ってる…?マザーズだけど、東2にしないと更新されないな

684名無しさん@お腹いっぱい。2018/04/24(火) 06:23:11.38ID:CWutKltN0
>>679
それ便利ですね
例えば、、ある銘柄で日足チャートの5年前の日付を見てるときにインジケータ表示を消したり切り替えたりとか。
切替えるたびに観察してた5年前のポイントまで戻るのは手間です。
日付固定して、日足→週足→月足などと変更してもズレないとかも可能なら嬉しいです。

685名無しさん@お腹いっぱい。2018/04/24(火) 12:11:55.52ID:rZcEn7P20
日付固定のロジックは簡単なんですが、ユーザーが日付指定するためのスマートな仕組みや、日付指定モードであることを認識させる表現方法がよくわからないんですよね。

686名無しさん@お腹いっぱい。2018/04/24(火) 16:44:38.66ID:AEO/0uQE0
固定したい日付で右クリックして、日付固定の項目を選択。解除は終了若しくは再起動時とか?

687名無しさん@お腹いっぱい。2018/04/24(火) 19:05:34.83ID:rZcEn7P20
それ、良いですね。解除も右クリックの項目クリック、日付指定モードであるか否かもその項目を見れば分かるようにすれば良さげです。

688名無しさん@お腹いっぱい。2018/04/25(水) 18:32:57.94ID:tcxwb9mr0
日付を固定して表示する機能追加のサンプルコードです。
機能を使うときは>>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

689名無しさん@お腹いっぱい。2018/04/26(木) 15:15:20.82ID:tcGKBeFD0
>>688
おかげさまで便利になりました ありがとうございました

690名無しさん@お腹いっぱい。2018/04/26(木) 22:51:53.31ID:30+NYyL50
>>688
素早い。
試させて頂ます。

691名無しさん@お腹いっぱい。2018/04/28(土) 10:23:43.43ID:FXLmLeps0
サンプルコードやファイルへのリンクを取りまとめしたサイトを新設
https://osdn.net/projects/omegachartusers/wiki/FrontPage

692名無しさん@お腹いっぱい。2018/04/29(日) 08:47:52.91ID:1BKmL6g20
ありがとうございます。

過去には、多数の方々が多くの拡張キットを公開されてたはずですが。
現在はリンクをたどってもページが存在しません、こういうのも残念です。
Yahooのメーリングリストがサービス終了後、mixiとかでもOmegaChartのSNSがあったんですかね?
オメチャ関連ググると、そういう残骸もヒットすんですけどね。
どんなものだったのか一目見てみたかった、残念です。

693名無しさん@お腹いっぱい。2018/04/29(日) 11:44:21.32ID:nqeMcSU+0
このスレだったか、どなたかがアーカイブを残してくれてます。まだ拡張キットもダウンロード可能のようですよ。
http://web.archive.org/web/20130509215921/http://www.omegachart.org/dl_kit.html

694名無しさん@お腹いっぱい。2018/04/29(日) 22:07:06.29ID:SyaMFRsn0
>>691
こういうサイト大変ありがたいんですが
組み込み方がわからない・・・

ソースの簡単な一部改変くらいならなんとかできることもあるけど
DLサイトの追加なんてどうやればいいのか・・・

695名無しさん@お腹いっぱい。2018/04/29(日) 23:02:21.31ID:nqeMcSU+0
>>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を起動して機能を試用してみるという流れになります。

696名無しさん@お腹いっぱい。2018/04/29(日) 23:04:29.97ID:nqeMcSU+0
>>695
一番大事なのは、今お使いの環境以外で試すことです。別のフォルダに別のOmegaChart環境を作って試すということです。

697名無しさん@お腹いっぱい。2018/04/29(日) 23:24:55.08ID:nqeMcSU+0
ついでにダウンロードサイトの追加は少しコツがあり、解説してみます。
コードを修正するだけではなくて、新規追加する手順と、ご自身でコード書き換えするという手順が必要になります。
たとえば、株探から株価取得を試してみるとします。

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と同じことに気を付けてご試用ください。

698名無しさん@お腹いっぱい。2018/04/30(月) 14:46:35.93ID:6gqi89b/0
>>691
いつも有り難うございます 大変有用な試みですね 所でOmegachartでジグザグラインを引きたかったので
アップロードされた5738から5743を用いて試してみましたがビルドの際に以下の警告がでて困っています
何か手違いがあるのかどうか分かりません こういう場合にはどういう対処をすれば良いのでしょうか?

警告 1 フィールド 'Zanetti.UI.ChartCanvas._currentElliott' は割り当てられません。
常に既定値 null を使用します。\OmegaChart-9cd2e32\ChartCanvas.cs 487 26 zanetti

699名無しさん@お腹いっぱい。2018/04/30(月) 18:04:17.40ID:P3UHma1N0
>>698
こちらでも試しましたが、問題はなかったです。
'Zanetti.UI.ChartCanvas._currentElliott' は割り当てられません、ってことは、何かの記述が足りないってことだと思います。
ファイルの上書きで失敗するようなら、変更や追加したコードを一つずつ書き足していくと原因がわかるかもしれません。

700名無しさん@お腹いっぱい。2018/04/30(月) 19:14:23.15ID:P3UHma1N0
OmegaChartの初期化ファイル(ZIP)更新しました。2018年3月末まで。
https://drive.google.com/open?id=1LLV3L2dy_PH-KVZagIcvtOiCz6v0Edz2

>>691のページの下のほうにデータファイルへのリンクを貼っておきます。
忘れなかったら四半期ごとに更新しようかと思います。

701名無しさん@お腹いっぱい。2018/04/30(月) 19:30:01.94ID:6gqi89b/0
>>699
了解しました トライしてみます

702名無しさん@お腹いっぱい。2018/04/30(月) 22:55:20.41ID:P3UHma1N0
>>701
ChartDrawing.csにミスがありました。以下、修正版です。

OmegaChart Elliot波動 ChartDrawing.cs 追加修正ポイントには//☆Elliott 差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5808
(ミスったのは222行目、223行目)(>>691のサイトは修正済み)

あと、このコピペをそのままリネームして使うと、エンコードがVisualStudioと異なることによりエラーになることもあるようです。
ダメ絶対→ファイルのコピー
推奨→文字列のコピペ

703名無しさん@お腹いっぱい。2018/04/30(月) 23:15:13.30ID:XKUGLsII0
いろいろ精力的に能力向上されて素晴らしい。

自分のOmegaChartソースには、ここ以外にも優秀なサンプル作者さんのを拝借しており。
なかなか簡単にファイルを書換えることもできず、コードをいじる度に成功するようお祈りします。
コードの見かけ上は、視覚的に同じしか見えないのにエラーになって、OS環境が違うサブPCからOmegaChartソースを引っ張り出してきたものを同じ手順で編集すると成功したり。
なにがどう違うのか全く理解できないことがたまにあるんですよね。
もしかして、もしかすると文字エンコードなんかがアレかな〜?とかよく知らないんですけど。
全然レベルの違う話で彷徨ってます、、、とか書いてるうちに、、、

>>702
ありがとうございます。

704名無しさん@お腹いっぱい。2018/04/30(月) 23:52:07.89ID:Bj+7gkUA0
>>695
丁寧な解説ありがとうございます。嬉しいです。
一度挫折したのですが、時間を見つけてもう一度トライしてみます。

705名無しさん@お腹いっぱい。2018/05/01(火) 07:56:10.91ID:f4BcJGz30
>>700 どうもありがとうございます

706名無しさん@お腹いっぱい。2018/05/07(月) 20:20:42.93ID:NEDCrQOK0
株価がなぜか置いてあるサイトに関してなのですが、
日によって行が株価コードから始まっているデータ

行が日付から始まっているデータとあります。

通常時は行が株価コードから始まっておりデータがダウンロードできるのですが、日付から始まっている場合ダウンロードできません。(たまに日付表示になっていることがある。2018/4/27)
仕様の変更なのでしょうか?よろしくお願いいたします。

707名無しさん@お腹いっぱい。2018/05/07(月) 20:22:30.14ID:NEDCrQOK0
調べた限りだと2018/1/5 2018/5/2も

708名無しさん@お腹いっぱい。2018/05/08(火) 01:14:09.62ID:YER+pVHo0
>>706
ご指摘ありがとうございます。バグってた部分とデータの修正もできました。

709名無しさん@お腹いっぱい。2018/05/08(火) 13:28:58.71ID:/KdBWC6f0
>>708 ご対応のほど、どうもありがとうございました

710名無しさん@お腹いっぱい。2018/05/14(月) 21:37:44.17ID:4wFtxFCU0
日付ルーラの縦軸に日付が表示できるようにするには
どうすればいいですか?

711名無しさん@お腹いっぱい。2018/05/15(火) 06:51:49.26ID:Xc5Lnlt/0
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は、縦方向の調整で、プラスの数字が大きくなると下へ文字が移動します。数字は環境に応じて調整してください。

712名無しさん@お腹いっぱい。2018/05/15(火) 07:58:33.85ID:lRhBL83Z0
>>710 オメガチャートの右端に日付や価格表示されませんか?

>>711 いつもありがとうございます

713名無しさん@お腹いっぱい。2018/05/15(火) 11:28:33.61ID:abVjjdh20
>>711
非常に便利な機能だと思います 試してみましたところ上部のオプションボタン?
インジケーターの表示などの切り替えの部分の表示が全部消えてしまいました

714名無しさん@お腹いっぱい。2018/05/15(火) 17:09:20.55ID:Xc5Lnlt/0
>>713
このサンプル・コードはダメですね。_owner.Invalidate(); が画面更新するので、ボタンが表示されなくなるようです。
_owner.Invalidate();を取ると、日付がグダグダになります。どなたか、良いアイデアがあったら教えてください。

715名無しさん@お腹いっぱい。2018/05/15(火) 22:03:31.37ID:i+6SD5Vz0
>>712
指標と凡例の表示ですね
表示するとチャートの範囲が狭くなるのと
目が悪く老眼も相まって
全体を俯瞰したときに目線を右にずらすのがきつくなってきまして・・

>>711
早速コンパイルしてやってみました
イメージ的には、まんまこの感じです!
ありがとうございます!

>>713-714
やはり画面表示時におかしくなりますね
プログラムはさっぱりなのでお役にたてませんが
どなたか、私からもよろしくお願いします!

716名無しさん@お腹いっぱい。2018/05/16(水) 17:15:35.97ID:iWKAb5Z20
>>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();

717名無しさん@お腹いっぱい。2018/05/16(水) 22:22:08.75ID:ileekx460
>>716
ありがとうごさいました

しかし、お気に入りから銘柄を一つ一つ見に行くと自分の環境だけかもしれませんが
拡張キットを読み込み直すまでチャートの描画を停止します っと出てエラーになります
あとはカスタマイズから色変更しようとしてOKボタンを押すと固まりようです

718名無しさん@お腹いっぱい。2018/05/17(木) 00:31:36.55ID:8qa387k/0
>>717
あっちを立てればこっちが立たず、みたいになるようなので非常に難しいみたいです。
今回は断念したいと思います。お役に立てず、すみません。

719名無しさん@お腹いっぱい。2018/05/17(木) 07:46:03.18ID:A14YpKeQ0
>>718 いえいえ、いつもありがとうございます。

720名無しさん@お腹いっぱい。2018/05/17(木) 19:31:52.82ID:zwZxkYSt0
>>718
お手数をおかけしました
ありがとうごさいました

新着レスの表示
レスを投稿する