TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Waterfox part11
プレステ2エミュについて語ろう【PCSX2】vol121
SublimeTextエディタのスレ
Adobeソフトのシリアルキーと試用期限クラック法 +16+
VMware vSphere Hypervisor専用スレ
Jane Style Part157
Pale Moon Part14
おい!あふを語ろうぜ! Ver.40
madVR Part8
【マウスキーボート共有】Mouse Without Borders【MS純正】

OmegaChartスレ ver.11


1 :2018/10/12 〜 最終レス :2020/06/09
会則
@OmegaChartはサポートを終了しています。
 ご自身でコンパイルできない方は、他のソフトを利用して下さい。
A連投で初歩的な質問をする人やクレクレ君は、立ち入り禁止。

●公式サイト
OmegaChart公式HP(閉鎖)
ttp://www.omegachart.org/
OmegaChart公式HPのアーカイブ(消滅)
ttp://web.archive.org/web/20131010105520/http://www.omegachart.org/
メーリングリスト(2014年5月28日で終了)
ttp://groups.yahoo.co.jp/group/omegachart/
作者Blog(サポート終了)
ttp://okajima.air-nifty.com/

●有志による維持活動
panacoran氏のサイト
ttp://sourceforge.jp/users/panacoran/pf/OmegaChart/wiki/FrontPage

●前スレ
OmegaChartスレ ver.10
https://egg.2ch.sc/test/read.cgi/software/1488866170/

2 :
前スレ
OmegaChartスレ ver.10
https://egg.2ch.sc/test/read.cgi/software/1488866170/

会則
@OmegaChartはサポートを終了しています。
 ご自身でコンパイルできない方は、他のソフトを利用して下さい。
A連投で初歩的な質問をする人やクレクレ君は、立ち入り禁止。

●公式サイト
OmegaChart公式HPのアーカイブ
http://web.archive.org/web/20131010105520/http://www.omegachart.org/
作者Blog(サポート終了)
http://okajima.air-nifty.com/

●有志による維持活動
panacoran氏のサイト
https://ja.osdn.net/users/panacoran/pf/OmegaChart/wiki/FrontPage
●panacoran氏のご厚意により、あなたが考えた新機能をコミットできる可能性があります
あなたが書いたプログラムを提示することにより、可能となります。
上記マスターを基準に、あなたが考えた新機能を追加したものを*.csファイル毎に下記サイトにコピペ
https://ja.osdn.net/pastebin/
・2chのOmegaChartスレでそのコピペURLを添えて、新機能の概略と以下文句を宣言(必須)
「著作権を主張しないと宣言します」「Apache Licenseで公開すると宣言します」

関連サイト
■名無し屋本舗 CSV to Omega
http://www.geocities.co.jp/SiliconValley-SantaClara/1364/app.html
■株価データ編集ツール DataDump Ver.0.13
http://red.ribbon.to/~judah/omega-dd.html
■OmegaTool:お気に入りツールソフト
http://www.awa-kasikoubou.com/cake/omegatool/omegatool.html

3 :
※ソースは公開されているので自分でコンパイルするか、コンパイルできない人はTactico(タクティコ)を利用してください。
Q3〜Q7は自分でコンパイルが出来ればツールを使わなくても可能です。

Q1.最新のindexファイルはどのタイミングで更新されるのでしょうか?
→A1.更新しようと思った人が更新した時。ボランティア性なのでお前も参加しろ
Q2.株価・出来高がおかしい。またはデータに抜けがある
→A2.取得元(無尽蔵)のデータが間違ってる場合もあります。また、indexは最新のものを使用してください。
 各自でデータを取得し下記ツール「CSV to Omega」でバイナリ変換するか
 株価データ編集ツール「DataDump Ver.0.13」を利用する。
Q3.当日のデータのダウンロードは何時以降からできるでしょうか?
→A3.無尽蔵側は18時には用意できてることが多い。
 オメガ側は19時以降にダウンロード可能になっている。
Q4.信用残、名証・福証・札証銘柄、マザーズ指数も表示したい。
→A4.いずれも対応していません (※名証は場合によっては可)
 各自でデータを取得し下記ツール「CSV to Omega」でバイナリ変換してください
Q5.指数の小数点以下を表示させたい
→A5.取得元(無尽蔵)が対応していません
Q6.スクリーニングの対象市場を追加したい
→A6.市場別にお気に入りへ追加してください
Q7.株価をリアルタイムで取得したい
→A7.対応していません(※20分遅れなら場合によっては可)
Q8.お気に入りフォルダーを開こうとするとエラーが出る。
→A8.お気に入りにindex.txtにない銘柄が登録されている。
 該当銘柄をindex.txtに追加するかoptions.confから削除する。
Q9.Windows7 64bit版で使用したい
→A9.64bit OSでコンパイルする。>>3以降、「Windows7 64bit版で使用するには」を参照
Q10.過去データがほしい
→A10.有志による初期化ファイルがあります。「OmegaChartの初期化ファイル」で検索

4 :
■インストール方法
https://ja.osdn.net/users/panacoran/pf/OmegaChart/wiki/FrontPage
上記サイトの「ビルド方法」以降を参照して、環境を整え、ソースをコンパイルして実行ファイルを作ってください。

OmegaChart.exeが存在するフォルダ内に必要なものは、
・「data」フォルダ 〜 銘柄コード(数値4ケタ)のファイル、株価情報格納ファイルが銘柄数分必要
・「extention」フォルダ 〜 default.omegaというファイルがほぼ必須。スクリーニングやオシレータなどの編集を行うファイル
・index.txt 〜 銘柄情報ファイル、銘柄コードや銘柄名、株価分割情報などが記述される
・options.conf 〜 チャート表示情報ファイル、システムが読み書きする情報が格納される
・他にDLL(基本的にコンパイル時自動的にコピーされる)

OmegaChart(オメガチャート)のコンパイル方法は他サイトにもあります
http://systemtrade.nekonikoban.org/omegachart/introduce/index.html

■Windows7 64bit版で使用するには
VisualStudioのコンパイルメニュー、アクティブソリューションプラットフォーム
(DebugとかReleaseの右にあるコンボボックス)の選択で、AnyCPUではなくx86を設定してコンパイルする。
これで32bit固定アプリケーションとしてコンパイルされるのでx64のOSで実行するときでも32bitモードとして実行される。

Q.bin\x86\ReleaseにできたOmegaChart.exeは動くのに、こいつをProgramFiles\OmegaChartフォルダにコピーすると
アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリックすると〜
パス C:\Program Files (x86)\OmegaChart\data\0101'へのアクセスが拒否されました'
とか出て動かない。フォルダ丸ごと移動させても動かない。俺はどこをミスしてるの?
A.Windows7の標準ユーザーにはProgramFiles配下へのアクセス権限がないためだと思います。
管理者権限で起動するか、問題のないフォルダへフォルダごとコピーして使うか、のどちらかで。

■過去データ
OmegaChartの初期化ファイル(ZIP)更新しました。2018年9月末分まで。2018/09/29(土) 07:23:26.68
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ

5 :
いちおつ

6 :
ありがたや

7 :
>>1

イッチに爆益あれ

8 :
みんかぶの正規表現は、これじゃダメなの?

var valid = new Regex(
@"<td class=""tal"">(?<year>\d{4})/(?<month>\d?\d)/(?<day>\d?\d)</td>\r\n" +
@"<td class=""num"">(?<open>[0-9,.]+)</td>\r\n<td class=""num"">
(?<high>[0-9,.]+)</td>\r\n<td class=""num"">(?<low>[0-9,.]+)</td>\r\n<td class=""num"">(?<close>[0-9,.]+)</td>\r\n" +
@"<td class=""num"">.*</td>\r\n<td class=""num"">(?<volume>[0-9,]+)</td>");

9 :
>>1
>>8
<td class=  の文字の前にスペースがある。
\r は不要。

こういうのは、いっぺんにやると何が悪いのかまったくわからなくなるんで、1行ずつ正規表現を増やしていって、どの部分がダメなのかを探る方がいいです。

10 :

板復帰(NG!:Gather .dat file OK:NOT moving DAT 724 -> 724:Get subject.txt OK:Check subject.txt 724 -> 724:fukki NG!)2.65, 2.61, 2.66
age Maybe not broken

11 :
特定の市場コードのみDLするようにするには、どこをどういじればいいですか?
例えばT1、T2のみ更新するとか

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

12 :
いじくればいいのは、ここですかね。

var basic = brand as BasicBrand;
if (brand.Market == MarketType.B || brand.Market == MarketType.Custom ||
basic == null || basic.Obsolete)
continue;
_codes.Add(brand.Code);
}

13 :
何とか出来ました。

14 :
KabuPlusダウンローダーを反復実行させたところ、過去のデータをさかのぼって取得しようとすると月曜日のデータが取得されないようです。
(パソコン2台ともで同じ状況だったので、通信時のエラーに伴うものではなさそうです)

15 :
当日データがまだない状態でDLするとエラーが出ますが、前日までのデータを取得したい場合、どこを修正すればエラー回避できますか?

16 :
>>14
ご報告ありがとうございます。週末にでもチェックしてみます。
バグフィックス含めて刷新する予定です。
>>15
KABU+ダウンローダーですか?

17 :
>>16 自分の場合、当日データーがない状態でKABU+ダウンローダーを、タスクスケジューラから稼働してもエラーにはなりませんでしたよ

18 :
今見たら、完全に休日判定をミスってました。
当日データなしでエラーになる件は、ファイルがあるはずがない土日のシステム日付で処理しようとしてエラーで落ちてるというショボいやつだと思います。
いずれにしても、状況報告ありがとうございます。

19 :
株探の方も当日データなしでエラーになりますね。

20 :
OmegaChart KabuPlusダウンローダー その2
https://osdn.net/users/omegachartuser/pastebin/5903
いろいろガラッと変えました。機能、使い勝手的には変わりません。
前のバージョンと同じで、「SITE_ID」「SITE_PASSWORD」「HOZON_DIR」は変更してください。

月曜は取れるようになってます。2019年までの内閣府から出てる休日のテストでOK。
土日初回起動で、金曜日のデータが取れるのを確認。

21 :
>>19
かぶたんの方は、ちょっとよくわからないですね。
サンプルコード配信の指針としましては、これがなくなるとOmegaChartが立ち行かなくなると思った機能に関してはがんばりますが、あとはフワフワと対応したいと思います。

22 :
>>20 どうもありがとうございます。

>>21 かぶたん用のプログラムは、自分の場合、曜日の関係でエラーにはならなりませんでしたよ

23 :
株価がなぜか置いてあるサイトも10月19日分の更新が止まっていますので、管理人さんに何かあったのかと心配になります

24 :
edatalab URL変更、前レスで対応されたものでEdatalab.csを書き換えたらエラーが出ました。
「リモートサーバーがエラーを返しました(404)見つかりません」。
ド素人なもんで、どこが悪いのか分かりません。

25 :
>>24
11月1日からじゃまいか?

26 :
てす

27 :
>>24
OmegaChart 株価情報 edatalab URL変更対応 その2
ttps://osdn.net/users/omegachartuser/pastebin/5904
間違ってたのは消しておきます。

28 :
>>27 どうもありがとうございます

>>20
else if (Datetime2Int(dt) == Datetime2Int(DateTime.Now) && int.Parse(DateTime.Now.ToString("hhmm")) > 1610)//日時(ymd)が同じで夕方16時すぎならTrue

hhだと12時間表記になるので、HHでないと1610より大きな値にならなくないでしょうか? (KABU+側でヒストリカルデータのファイルが用意された時刻が20時くらいなので1610でよいのかどうかは自分では判断つきかねるのですが・・・)

updatetime = DateTime.Now.ToString("yyyyMMddhhmmss");

そうなるとここも合わせてHHになるのではないかな、と

29 :
>>28
ありがとうございます。
OmegaChart KabuPlusダウンローダー その2修正
https://osdn.net/users/omegachartuser/pastebin/5905
前のバージョンはは消しておきます。

186行目
誤:updatetime = DateTime.Now.ToString("yyyyMMddhhmmss");
正:updatetime = DateTime.Now.ToString("yyyyMMddHHmmss");

30 :
>>29
あ、間違えた。上のは無効ということで、お願いします。

31 :
>>27
24です。
ありがとうございます。

32 :
>>29
OmegaChart KabuPlusダウンローダー その3
https://osdn.net/users/omegachartuser/pastebin/5906
162行目、186行目をHHmmへ変更
指摘のところと、もう1点、hhmmになってたので、PCの時間を戻してテスト→OK

>>31
24さん、それ間違って消してしまったんでこちらを参照ください。

edatalab URL変更の件は、1行だけのようなんで、「株価情報 edatalab URL変更対応」の項に書いておきました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage
2chに修正箇所を直接書き込もうとすると、sak〇raがNGワードなのかな、書き込めませんでした。

33 :
>>32 どうもありがとうございます。


KABU+から株価取得、ローカルファイル利用版をビルドしてオメガチャートを作りました。
ローカルのフォルダに
japan-all-stock-prices-2
tosho-etf-stock-prices
tosho-reit-stock-prices
tosho-fund-and-others-stock-prices
を置いて、データの更新をしたところ、個別株のみデータが更新されます。
おそらくindex.txtで、ETFやREITなどがT1になっているときにcsvファイルでは東証一部ではなく東証と記載されているため、ETFやREITなどのデータが更新されないのではないかと思われます
(index.txtでT1以外に分類されているETFやREIT、ファンドがあるのかどうかは定かではないのですが・・・)

34 :
なので、ファイル名によって市場判定を変える必要があるようです。

35 :
>>33
わー、これはちょっと不味いやつですね。支給見直してみます。

36 :
>>32

24です。
ありがとうございます!!
edatalabからデータのロードができました。

37 :
>>35
OmegaChart KABU+から株価取得。ローカルファイル利用版。KabuPlus.cs その2
https://osdn.net/users/omegachartuser/pastebin/5908

118行目を
if (br != null && CheckMarket(br, t[2], t[3]))
203行目を
return mar == "東証一部" || gyo == "ETF" || gyo == "ETN" || gyo == "REIT" || gyo == "インフラファンド" || gyo == "カントリーファンド" || gyo == "銀行";

このように変更をお願いします。
市場が東証で、業種が空行というのはなかったので、取り逃しはないだろうし、ほぼ業種全種類の株価更新を確認しました。
(カントリーファンドはデータがなかったので未確認)
おかげさまで少しずつ使えるものになってきました。

38 :
>>37 どうもありがとうございます

39 :
『かぶたん』からの株価DATA取得は無料なのですか

40 :
>>37
case MarketType.T1:
return mar == "東証一部" || gyo == "ETF" || gyo == "ETN" || gyo == "REIT" || gyo == "インフラファンド" || gyo == "カントリーファンド" || gyo == "銀行";

調べたところ分からなかったのですが、ここの gyo == "銀行"を満たす、ETF、ETN、REIT、インフラファンド、カントリーファンドはございましたでしょうか?

41 :
>>40
ETFのファイルじゃなくて、個別銘柄のファイルに入ってる、日銀とか信金中金の2銘柄が入ってきますね。

42 :
>>41 ほんとですね、それは予想外でした
    どうもありがとうございます

43 :
信金中央金庫は東証一部上場なので問題ないのですが、日銀はJASDAQに上場しているので

case MarketType.J:
return mar == "JQG" || mar == "JQS"|| gyo == "銀行";

になりますよ

44 :
>>43
おっしゃる通りですね。以下のように変更しました。
209行目
return mar == "JQG" || mar == "JQS" || gyo == "銀行";

OmegaChart KABU+から株価取得。ローカルファイル利用版。KabuPlus.cs その3
https://osdn.net/users/omegachartuser/pastebin/5913

45 :
>>44 どうもありがとうございます

46 :
OmegaChart KABU+から株価取得。ローカルファイル利用版。KabuPlus.cs その3
で、

if (code == 101 || code == 102)
{
line = sr.ReadLine();
continue;//日経平均とTOPIXはここで取らない場合は抜ける
}

この部分をコメントアウトして
//continue;//日経平均とTOPIXはここで取らない場合は抜ける
とすると、日経平均のみデータが取得されるのですがTOPIXのデータが取得されないのはなぜなんでしょうか?

47 :
>>46
KABU+は必ず日経平均とTOPIXが入ってくるので明示的に処理させないようにしただけで、特に意味はないです。ロジックを書いてないだけ。

48 :
>>47 どうもありがとうございます

49 :
このスレの人たちはプログラムに明るくてすごいですね

50 :
英語を覚えないとパンも買えない、みたいな感じで覚えたようなものですね。
パンが買えればいいと思ってやってるので、プロの目から見たらメチャクチャかも。

51 :
保守

52 :
Tradestationのスキャナーからデータ取得をしてみたのですが
トレステのデータはあるのにOmega側で取りこぼしてる銘柄が結構ありました。
取り込みが早いので使いやすいのに困った

53 :
csvファイルからの読み込みですか?

54 :
>>52
取りこぼしてるデータの銘柄と日付を2、3ケース教えてもらえませんか。
出来たら、同じ銘柄で違う日付の取りこぼし例、違う銘柄で同じ日の取りこぼし例があれば。

55 :
ちなみにindex.txtにない銘柄は更新されないです。これは従来の無尽蔵やyahooからデータ取り込みする仕様と共通です。

56 :
>>55
index.txtに左右されないデータの取り込みをご希望ならば、CSVファイルにある銘柄は全部取り込むという方法も考えられる。
重複上場銘柄は、出来高が一番多いレコードを選択するとか、東証のレコードを優先するとか、取り決めをしておけばできなくもないです。

57 :
>>54
とりあえずのテストで前場引けで取り込んでみました
ざっとみたら、マザーズと東証二部 を取りこぼしてます
名証福証札証もたぶん取り込めてません。
地方三市場は普段見てないので自信ないです。

2907 あじかん 3825 リミックス
9279 ギフト 4420 イーソル 3182 オイシックス

あじかん イーソルは日付にかかわらず取りこぼします。

58 :
TradestationのCSVでは市場 -TSで東証一部二部マザーズひとくくりになってますね
これのせいかぁ

59 :
>>57
2907 あじかん 3825 リミックス
9279 ギフト 4420 イーソル 3182 オイシックス

自分の環境だと全部取り込んでますね。
マーケットの設定が原因でしたら、東証1部、東証2部、マザーズ市場の銘柄は全部取り込まれないはずです。
ちなみに地方市場はOmegaChartオリジナルの時代から、取り込まない仕様になってます。

確認するポイントとして、index.txtにそれらの情報は書き込まれているか?市場は正しい設定がなされているか?
Trade Stationが出力したCSVファイルに、これらの情報が出力されているか?

確認しても問題がないということでしたら、ちょっと自分には理由がわからないです。
もし、その問題が自分の環境で発生した場合、手動でVC#を起動させて、問題の銘柄、問題の日付のデータをプログラムで走行させてエラー原因を探ると思います。

60 :
そういえば、KABU+ダウンローダーの場合だと自分の環境ではビルドするときにvisual studio 2012だと不具合が出るのですが、2017だと正常に動作するということがありました。

61 :
visual studio 2012のビルド時にエラーはなくビルドは正常に終了するという状況でした。
作成されたexeファイルを実行するとなぜか不具合が出ました。

62 :
>>60
確かに2017で作ってます。ちょっと理由はわからなくて、自分の環境が2017しかないので対処ができません。
これに関してはVC#2017の運用限定にするか、それ以外のバージョンでエラーにならない方法がありましたら教えてください。

63 :
>>59
ありがとうございます。
自分でいろいろいじってるのでそのせいかもです。

index.txtでT2になってるのと合ってないと判定されて取り込めてないみたいなので
とりあえず格好悪いけど取り込めればいいやで
Tradestationのスキャナで東証二部のみ、マザーズのみそれぞれCSV出力するようにして
それぞれ専用にCheckMarketを東証二部
case "TS":
return market == MarketType.T2;
マザーズは
return market == MarketType.M;
にして取り込めるようになりました。
地方三市場も取り込めるようにいじりました

64 :
>>63
なるほどです。
ただですね、トレステのCSVは同一コード複数市場ですけど、同じ銘柄コードがあったら出来高が多い方を取り込む仕様にしたら、index.txt関係なしにデータファイルを作ってしまえばいいと思うんですよね。
まあ、おいおい、やっていきましょうか。

65 :
DownloadOrder.csの、


case StockDataSource.Edatalab:
stock_ds = new Specialized.EdatalabDataSource(_dateArray);
break;
case StockDataSource.KabuPlus:
stock_ds = new Specialized.KabuPlusDataSource(_dateArray);
break;
case StockDataSource.RakutenRss:
stock_ds = new Specialized.RakutenRssDataSource(_dateArray);


を書き加えてビルドすると、

1>------ ビルド開始: プロジェクト: zanetti, 構成: Release Any CPU ------
1>C:\Users\neko\Downloads\新しいフォルダー\RakutenRss\OmegaChart-2f2419d\DownloadOrder.cs(183,47,183,67): error CS0234: 型
または名前空間の名前 'RakutenRssDataSource' が名前空間 'Zanetti.DataSource.Specialized' に存在しません (アセンブリ参照があることを確認してください)。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

となってエラーが出て、


RakutenRssDataSource(_dateArray);を EdatalabDataSource(_dateArray); に書き換えてビルドすると、正常にビルド完了できるんですが、これは何の参照が足りないんでしょうか?

因みに、KABU+のみ加えたときは、KabuPlusDataSource(_dateArray);のままで、ビルドできます。

66 :
>>65
DownloadOrder.csのpublic enum StockDataSource
ここに「RakutenRss」とか「KabuPlus」を追加すれば行けると思います。
Kabu+が上手くいくのは、すでにStockDataSourceに「KabuPlus」の設定がなされているからじゃないでしょうか。

デバッグするコツ、というか第一歩は、どこでエラーになっているかを見ることだと思います。
VisualStudioC#でエラーとなるコードがあると、そのエラーになっているコードに波線が引かれますね。
今回のケースだと、
case StockDataSource.RakutenRss: の「RakutenRss」の部分に波線が引かれてエラーであることを知らせてくれています。

Specializedには波線がありません。Specializedの部分にカーソルを合わせると、「enum」なんちゃらであることを知らせてくれます。
enumというのは、例えばこんなイメージのものです。

enum 市場
{
東一,
東二,
マザーズ,
ジャスダック
}

呼び出し方はこうです→市場.マザーズ

よって、今回のエラーは、enum市場に名証を含めていなかったのに、名証を設定していたかのように呼び出してしまい「市場.名証」エラーとなった
という感じです。

67 :
>>66
ありがとうございます。
その部分はこのようにちゃんと入れてます。何が悪いのかさっぱり分かりません。

KABU+は、選択するとダウンロード始まるんですが、お金払わなくてもいいんでしょうか?

//何をダウンロードするかの設定
internal class DownloadOrder
{
public enum StockDownload {
None, //ダウンロードしない
All, //全部
Bookmark, //ブックマーク内の銘柄のみ
Recent, //最近の日付のみ
SingleBrand //1銘柄
}

public enum StockDataSource
{
Mujinzou,
KdbCom,
Yahoo,
Edatalab,
KabuPlus,
RakutenRss
}

static public string[] StockDataSourceNames
{
get { return new[] {"無尽蔵", "k-db.com", "Yahoo時系列", "edatalab.net", "KabuPlus", "RakutenRss"}; }
}

68 :
あと、使ったのはVisual Studio2017です。

69 :
因みに株価10倍のバージョンではなく、オリジナルのソースでコンパイルしてますが、何か違いがあるでしょうか?

70 :
>>67
思い出しました。ユーザーさんに間違いを指摘されてたんですが、被害者が出てしまいました。
これが楽天RSSから情報取得するサンプルコードですが、一番上をみてください。
https://osdn.net/users/omegachartuser/pastebin/5673
「RakuteRssDataSource」 Rakuten じゃなくて、 Rakute になっています。

コンパイルが通らないときは、こういうしょうもない間違いもあることをお見知りおきください。

71 :
どうもありがとうございます

72 :
>>70
330名無しさん@お腹いっぱい。2017/11/23(木) 15:15:48.76ID:W0e0qPes0>>331
>>329
お疲れ様です。
貴殿がどのようなコードを書いたのかわからないのでちょっと判断がつかないですね。
コードを書き足す都度、エラーがないかを確認しながらやってみてください。
追加は、この3カ所でいけると思います。
全部、DownloadOrder.cs で
1.public CombinedDataSource ConvertToDataSource()
の中のswitch文のMujinzouとかKdbとかYahooとか馴染みある文字が並んでる分岐の一つにに以下を書き加え

case StockDataSource.RakutenRss:
stock_ds = new Specialized.RakuteRssDataSource(_dateArray);
break;

2.internal class DownloadOrder内のstatic public string[] StockDataSourceNames
の中身の1行を以下のように書き換え
get { return new[] {"無尽蔵", "k-db.com", "Yahoo時系列", "edatalab.net", "楽天RSS"}; }
3.同じく、internal class DownloadOrder内の
public enum StockDataSourceを以下のように書き換え
public enum StockDataSource
{
Mujinzou,
KdbCom,
Yahoo,
Edatalab,
RakutenRss
}

データソースのところを
RakuteRssにすれば参照通るってことでしょうか?

73 :
>>72
あなたのコードは、こうでした。
>>65
stock_ds = new Specialized.RakutenRssDataSource(_dateArray);

それを>>72でも書いてあるように、こう変えてください。
stock_ds = new Specialized.RakuteRssDataSource(_dateArray);
なぜこのように変えるかというと、
https://osdn.net/users/omegachartuser/pastebin/5673 このページ記述の一番上にこう書いてあるからです。
internal class RakuteRssDataSource : DailyDataSource

ここがRakuteになっているので参照できないという話だと思います。

ちなみに、case文の方をRakuteに変えると別のエラーになりますよ。
case StockDataSource.RakutenRss:

あなたはStockDataSourceをこのように変えました。
public enum StockDataSource
{
Mujinzou,
KdbCom,
Yahoo,
Edatalab,
RakutenRss
}

RakutenRssと書いてあるので、RakuteRssとしたらエラーになります。

74 :
>>73
分かりました。素直にサンプルコードのほうをRakutenRssに換えてみます。

75 :
どうもありがとうございます

76 :
MY検索ワード、銘柄名と違うワードで「名前から検索」したい場合に使う機能のサンプルコードです。
OmegaChart親フォルダ配下に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
(Brand.csが6か所、 SearchBrandDialog.csが1か所のコード追加)

77 :
9275 ナルミヤ・インターナショナル
無尽蔵は13 東証マザーズになってるね

78 :
無尽蔵
誤)
6045 12 6045 レントラックス 東証2部
6573 11 6573 アジャイルメディア 東証1部
6618 11 6618 大泉製作所 東証1部
9272 12 9272 ナルミヤイン 東証2部
9275 13 9275 ナルミヤイン 東証マ

正)
6045 13 6045 レントラックス 東証マ
6573 13 6573 アジャイルメディア 東証マ
6618 13 6618 大泉製作所 東証マ
9272 13 9272 ブティックス 東証マ
9275 12 9275 ナルミヤイン 東証2部
6697 13 6697 テックポイン 東証マ ※データなし

79 :
アジャイルが東一かぁw

80 :
>>76 どうもありがとうございます

81 :
保守

82 :
>>78  むむ、、そんなこととは、無尽蔵さん。
ありがとうございます。

83 :
ほしゅ

84 :
ヤフーは死んだが、なんとかまだ、使えてる、ほんとすごい
BNFもまだ使ってるんだろうか

85 :
ExcelVBAでヤホーも問題なく長期DATA作れますのにね

86 :
BNFさんが、OmegaChart使ってたってこと?

87 :
無尽蔵には9399ビート無いですね

88 :
保守

89 :
○探のページ少し変わったな

90 :
気付くのが遅れて対応が今終わったところ、眠い

91 :
ご苦労さんです

92 :
新しい株探だと日付の部分の書き方が変更されているので、その部分の正規表現を書き直す必要があるということ?

93 :
おいおい無尽蔵もかいな

94 :
<time datetime="2018-12-07">の正規表現は、<time datetime=".*">でもよいと思うのですが、
たとえば(?<year>\d{2})/(?<month>\d?\d)/(?<day>\d?\d)のような形で日付を用いた場合の正規表現はどのように書くことができるのでしょうか?

95 :
それが正規表現だ!

96 :
<time datetime=\"(?<year>\d{4})-(?<month>1?\d)-(?<day>\d?\d)\">

97 :
どうもありがとう

98 :
無尽蔵に無いJDR銘柄データ
1557 SPDR S&P500 ETF
1584 サムスンKODEXサムスングループ株証券上場指数投資信託[株式]
1773 YTL
4875 メディシノバ・インク
6697 テックポイント・インク
8686 アフラック
9399 ビート・ホールディングス・リミテッド

他にもありますか?

99 :
ほしゅ

100 :
panacoranです

YahooでアップデートできないのはHTTPSで
SSL3.0とTLS1.0が蹴られるようになったからです
.NET Framework 2.0ではどうにもならないので、
バージョンを上げて対処する形になります
しばしお待ちを

101 :
どうもありがとうございます

102 :
>>100
やった!ほんと助かります

103 :
>>100
よろしくお願いします! そういうのが素人だとわからないので助かります。

104 :
>>100
よろしくお願いします。

105 :
panacoranさんたからクリスマスプレゼント?

106 :
panacoranです

.NET Frameworkのバージョンを4.7.2に上げる変更と、
Yahooからのダウンロードをシングルスレッドにする変更を
リポジトリにプッシュしておきました
https://ja.osdn.net/users/panacoran/pf/OmegaChart/scm/
.NET Framework 4.7.2のインストールを忘れずに
https://dotnet.microsoft.com/download/dotnet-framework-runtime
ちなみにTLSの問題は4.7.2にするだけで解決します

こちらに整理されている変更も取り込もうかと思ったのですが、
https://osdn.net/projects/omegachartusers/wiki/FrontPage
どれが無難に取り込めるのかわからなかったので、今回は保留しました
取り込むべきものを指示してもらえれば取り込みます

では、よいお年を

107 :
>>106
ありがとうございます!
なるほど、ターゲットフレームワークを.NET Framework 4.7.2にするとよかったわけですね。
ちなみに、.NET Framework 4.6.1でも動きました。4.7.2をインストールして、本番環境で使いたいと思います。

108 :
ありがとうございました

109 :
今回ついにVS2010ではプロジェクトを開けなくなったか
まずはこれを新しくしなくては

110 :
Yahoo.csで日経とTOPIXを更新しない場合は76〜80行目をコメントアウトすればいいの?

111 :
>>110
_codeQueue = new Queue<int>(_codes);
この行だけは残す

112 :
了解!

113 :
panacoranです

ビルド方法の説明が必要なことを忘れていました
https://osdn.net/users/panacoran/pf/OmegaChart/wiki/FrontPage#h1-.E3.83.93.E3.83.AB.E3.83.89.E6.96.B9.E6.B3.95

データソースからk-db.comを削除するのと、
edatalab.netのドメイン変更に対応するのをやっておきました
Protraで行った変更の反映は以上です

>>110
79を取ったら動きません
76,77,78,80のコメントアウトでいけると思います

今度こそよいお年を

114 :
>>113
詳細説明、ありがとうございます。

115 :
>>111 >>113
ありがとうございます。良いお年を!

116 :
>>113
ありがとうございます。

117 :
>>113
ビルドできました!もう感謝しかないです、ありがとうございました。

118 :
.NET Framework 4.7.2はビルドする環境で必要で、ビルドしてできたプログラムを動かす場合には必要ありませんよね?

119 :
>>118
4.7.2にバージョンアップしてない環境へOmegaChart.exeを送って実行したら、チャート表示、ヤフーからのダウンロードができました。

Wikiで.NET Frameworkについて調べてみると、「.NET Framework 4.7 Windows 10 ver.1803と同時に4.7.2がリリースされた」とあります。
昔はランタイムを別途インストールしてた覚えがありますが、今はOSに同梱されているということでしょうかね。

120 :
>>119 どうもありがとうございます。

121 :
windows10 64bitでビルドしたものでは、新しくヤフーに対応したオメガチャートがエラーなく動くのですが、windows7 32bitでビルドしたものでは、以前のように、接続が切断されました。〜のエラーが表示され不具合が起こります。
ひょっとしたら私だけかもしれないのですがwindows7 32bitでビルドして正常に動作している方おられますでしょうか?

122 :
>>121
>>118-119

123 :
>>122
.NET Framework 4.7.2はwindows7 32bitにもインストールしています

124 :
ヤフーファイナンスから情報が取れなくなったのは、

YahooでアップデートできないのはHTTPSでSSL3.0とTLS1.0が蹴られるようになったからです
.NET Framework 2.0ではどうにもならないので、バージョンを上げて対処する形になります

とのことでした。

ヤフーファイナンスから情報取得するためには、2つの条件が必要
・.NET Frameworkのバージョンを4.7.2に上げてビルドして実行ファイルを作る
・.4.7.2のソフトウェアが動くOSのバージョンである、 Windows 10 ver.1803以上で使う

>>121さんの件は、OSが古くて動かないってことなのかと予想します。

125 :
>>123
Windows10でビルドしたOmegaChart.exeを、Windows7に送って実行しても無理なら諦めろ

126 :
Windows 7 SP1 と Windows Server 2008 R2 に .NET Framework をインストールする
https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-7

127 :
Windows 7 では同じく駄目でした

128 :
まだWindows10にアップグレード出来るのかな?
https://www.microsoft.com/ja-jp/software-download/windows10

129 :
なかなか年を越せないpanacoranです

Windows 7では明示しないとTLS 1.1以上が使われないのを見落としてました
https://osdn.net/users/panacoran/pf/OmegaChart/scm/commits/4fee7d9fb204634e724e8369977d596daf7ca215

こういうフィードバックを得るためにこちらに顔を出しているので
私的には助かります

130 :
panacoran さん Windows 7 でも無事出来ました 本当に有り難うございました

131 :
>>129
>>130
ありがとうございます。

132 :
>>129 
どうもありがとうございます。
129のコードを用いると、個別銘柄のデータは問題がないのですが、日経平均などの指数データの取得がなぜかできない状態です。
ほかの方は、問題なく指数データも取得できていますでしょうか?

133 :
132は、windows7における状況です。

134 :
>>132
デバッグモード走行でブレークポイントなどを利用して確かめると、実際に何が起きてるか分かりますよ。
そのWindows7環境で試してみたらどうでしょうか。

日経平均が更新されたか否かは、Yahoo.csの120行目
farm.UpdateDataFarm(pair.Key, pair.Value);
この行を正常に処理するかどうかで分かります。

以下は、その手順です。
VisualStudio起動して、OmegaChartのソースを開く。
Yahoo.csの120行目にブレークポイントを設定して、デバッグモードで起動。
起動の仕方は、F5ボタン押下か、「デバッグ」−「デバッグの開始」、もしくは「開始」ボタン押下
起動したOmegaChartから「データのダウンロード」画面で、
 株価ソース → Yahoo時系列
 株価指数 → チェック外す
を設定してから、「開始」。
120行目で止まったら、F5ボタン押下か、「デバッグ」−「続行」、もしくは「続行」ボタン押下
日経平均株価が更新されたかどうかを確認する。
120行目で止まらなかったら、59行目〜61行目で失敗している?

135 :
OmegaChartの初期化ファイル(ZIP)更新しました。2018年12月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
(前回と同じURLです)

136 :
>>134
どうもありがとうございます

>VisualStudio起動して、OmegaChartのソースを開く。
>Yahoo.csの120行目にブレークポイントを設定して、デバッグモードで起動。
>起動の仕方は、F5ボタン押下か、「デバッグ」−「デバッグの開始」、もしくは「開始」ボタン押下
>起動したOmegaChartから「データのダウンロード」画面で、
> 株価ソース → Yahoo時系列
> 株価指数 → チェック外す
>を設定してから、「開始」。
>120行目で止まったら、F5ボタン押下か、「デバッグ」−「続行」、もしくは「続行」ボタン押下
>日経平均株価が更新されたかどうかを確認する。
>120行目で止まらなかったら、59行目〜61行目で失敗している?

何度か120行目で止まるので、その都度続行をボタン押下したところ最終的には日経平均株価は更新されませんでした。

137 :
>>136
となりますと、122行目の
farm.Save(Util.GetDailyDataFileName(code));
ここで、実際にファイル書き込みに行ってるんですが、ここで失敗してるのかもしれないですね。
ここも正常に通過してるかを確認したほうが良さそうです。

138 :
ちなみにですが。
ブレークポイントで止まったときに、その行にカーソルを合わせると、変数に何が入ってるのか表示されます。
>>137のコードの場合ですと、codeにカーソルを合わせると(クリックしなくていい)、日経平均のときは101という文字が浮かび上がります。
120行目の場合ですと、pair.Keyに日付、pair.Valueの中身を見るには、浮かび上がった文字の先頭三角記号にカーソルを合わせると4本値が表示されるはずです。

中身を確認しながら、デバッグするとエラー原因が突き止めやすくなります。
F5ではなく、F11ボタンを押下すると1行ずつコードを進めてくれるのでより細かく調査することができます。

139 :
Windows7 sp1(ビルド7601)で、ヤフーからDLできました。
どうもありがとうございました。

140 :
>>132
そういえば日経平均だけ取れてませんずっとこんなものかと思っていました
今みるとTOPIXや業種別指数などは正常にダウンロード出来ていましたね
外国為替や指数類は別途拾っていたのであまり気にも掛けずにいましたが

141 :
>>137
日経平均の株価が更新されないの件。

120行目の farm.UpdateDataFarm(pair.Key, pair.Value); でメモリ上に日経平均株価情報をセット
122行目の farm.Save(Util.GetDailyDataFileName(code)); でOmegaChartのdataフォルダ内の0101物理ファイルを上記メモリ内容で上書き
この2行を”正常に”通過したら、絶対に株価更新されます。

F11ボタンでエラーを探るのが面倒なら、try〜catch文を挿入してエラーをキャッチします。
try
{
foreach (var pair in prices)
{
if (empty && skip && pair.Value.volume == 0)
continue;
skip = false;
farm.UpdateDataFarm(pair.Key, pair.Value);//ブレークポイント設定
}
farm.Save(Util.GetDailyDataFileName(code));//ブレークポイント設定
}catch(Exception ex)
{
Console.WriteLine(ex.Message);//ブレークポイント設定
}

Console.WriteLine(ex.Message);の行にブレークポイントを設定すれば、エラーになったときだけ止まります。
止まったときに、マウスカーソルをex.Messageに合わせたら、エラー内容が浮き上がります。
ちなみにテストするときは、対象を1日分だけにするとforeachが1周だけで済みます。

142 :
>>138 どうもありがとうございます。
120行目、122行目にブレークポイントを設置して、デバックをしたところコード101、102と止まらずに作業が終わります。(結果として日経平均とTOPIXはデータ取得ができない状態になる)
ちょっと気になるのが、122行目で、visual studio左下の自動という名前のウィンドウのところでcode 102が赤字となるところくらいでしょうか

143 :
>>141 try〜catch文に書き換えて、デバッグしたのですがエラーが表示されませんでした。(日経平均とTOPIXはデータ取得ができていません)

144 :
まずYahoo.csが私の書いたものと完全に一致するか確認してください

145 :
誠に申し訳ないんですけれどもzipで最新のomegachartのコードをダウンロードして、visual studio2017を用いてビルドした場合に
windows10では株価指数がダウンロードできるのですが、windows7ではやはり株価指数がダウンロードできないのですね
正月明けに会社の別のパソコンでも試してみます

146 :
こうなると、ブレークポイントを59行目から78行目くらいまで全部設定して、F5ボタンで送りながら1行1行日経平均0101の株価取得状況を確かめるしかなさそうです。
こんな感じで↓
https://static-cdn.osdn.net/thumb/g/5/651/800x600_0.png

ポイントは、
・61行目のnikkei225に株価情報が入ったか?(画像の要領でやると株価が浮かび上がります)
・73行目を正常に通過したか

77行目から113行目に飛ぶので、113行目から123行目も全部ブレークポイントを設定しておきます。

ここでのポイントは
・113行目に入ったときに、113行目にあるcodeにカーソルを合わせて101であることを確認
・119行目のcontinueに入っていないか

121行目からData.csのUpdateDataFarmに飛びます。301行目です。

ここでのポイントは339行目から346行目を正常に通過するかなので、
346行目の「*(int*)(a + 20) = td.volume;」 この行だけブレークポイントを設定すると良いと思います。

これが終わると
Yahoo.csのUpdateDataFarm、122行目に戻ります。
ダウンロード日数分foreachでループした後、123行目からData.csのSave、281行目に飛びます。
ここはData.cs284行目のs.Write が正常に処理されればOKなので、285行目にブレークポイントを設定しておきます。
filenameにどのような情報が入っているか、0101ファイルが指定されているかもカーソルを合わせて確認すると良いかもしれません。

ここまで確認して日経平均株価0101が更新されなかったら、謎としか言いようがないですね。

147 :
手元のWindows 7で日経平均とTOPIXが取れない現象が再現しました
Yahoo.cs以外に原因がある気がしますが、まだわかりません
おいおい調べます

148 :
元日からありがとうございまし

149 :
>>146
ご丁寧にどうもありがとうございます。逐次調べるしかなさそうですね。

>>147
どうもありがとうございます。よろしくお願いいたします。

150 :
独り言です。なぜか株価が置いてあるサイト、「2019」というフォルダを作り忘れて株価更新できず。

151 :
>>146

順次調べていったところ、windows7ではどうも日経平均やTOPIXの場合は、Yahoo.csの118行目あたりでcontinueに進むためにデータ取得されないようですね
ひょっとしたら出来高が0になっているほかの銘柄でも同じような影響があるのかも

152 :
これはひょっとしたらWindows7のアンチウイルスソフトのせいかもしれないね というのはこいつが多分悪さして
スクリプト実行を監視していたおかげであり得ないはずの同じ名前のCSVファイルが出来ていたのでそう思ったよ
そこでアンチウイルスをオフにして過去データを数年分8時間も掛けて取得してみたら時々取得出来なかった様な
事も起きずにいずれもDL可能だった 念のため日経とトピのデータ欠落が無いかを調べたがどちらも1092本無事に
取れていたWindows 7の人はコードを調べるよりもウイルスより質の悪いソフトを疑ってみた方が良いのでは!?

153 :
件のcontinueをコメントアウトすると日経平均やトピックスのデータ取得に関しては正常となります

154 :
>>153
windows7に関しての話ですが

155 :
Microsoft Security Essentials 除外されたプロセス

156 :
>>153
となると、113行目のfarmに日経平均株価の値がセットされないので、continueされてしまうという話になりますね。
そうなるには、Brand.csのBuiltInIndexに日経平均の項目がないか(ありえませんけど)
同じく、Brand.cs、BrandCollectionのLoad処理時に、_日経平均の読み込みで失敗したということになるかなと思います。

157 :
>>156
なので、0101ファイルや0102ファイルなしでYahooのダウンロードをすると、日経平均株価とTOPIXなどは更新されないということになります。
テスト環境で動かす時も0101ファイルを用意するべきだったということが顛末なんじゃないかと予想します。

158 :
>>157
どうもありがとうございます。
0101ファイルや0102ファイルを事前に置いてデータ取得した場合は日経平均株価とTOPIXが更新されたので、windows7で用いる際には出来高がない場合にはファイルを事前に置いておかないといけないようです
(個別株だと事前にファイルなしでも問題ないです)
windows10ではそういうことはなかったのでOSの違いなんですかね

159 :
>>158
うちはWindows10の環境しかないので違いを確かめることはしていませんが、こちらの環境だと0101ファイルなしだと日経平均株価が更新されなかったですね。
本番環境だと0101ファイルがないのは考えられないので、テストするときに気を付けようって話であって、コードは特に変更する必要がないと思いました。

160 :
ありがとうございます。

161 :
書き込みする前にもっと良く調べないと迷惑だよな

162 :
過疎スレがすこしでも賑わっていいじゃないか
ひとそれぞれ

163 :
話を要約すると、今回の新しいオメガチャートで日々のデータを更新するときに0101と0102のファイルが事前に必要となるということですか?

164 :
>162
unko

165 :
>>163
日経平均とTOPIXのレートを更新したい場合は、その通りです。
話しは違いますけど、DreamVisorってまだ生きてるんですね。

166 :
>>159 どうもありがとうございます。

167 :
>>165
ありがとうございます

168 :
>>135
感謝。

どなたかヤフーなみに1980年代なんて可能な限り最長期のDATAも。

169 :
ヤフーにあるレートなら、ヤフーから取ればいいという考え方も。
古い株の本とか読んでると、昭和30年のチャートとか出てきて、この辺のチャートも見てみたいと思うこともありますけどね。

170 :
0101

171 :
0101や0102のファイルの有り無しで挙動が違うというのに気がつくのがすごいわ

172 :
Window7環境です。

.NET Frameworkのバージョンを4.7.2に上げてビルドして実行できました、ありがとうございます。
無尽蔵、ヤホー、Eデータ、問題無く動いてるようです。

この.NET Frameworkのバージョンを上げる前のOptionファイルを引き継いで利用したいのですが、チャート終了時にセーブができず旧Optionファイル利用がうまくいきません。
Optionファイルの互換性は完全に無くなったんでしょうか。

173 :
拡張キットの問題では

174 :
互換性はあると思うけど、ちょっと状況が分からないのでアドバイスも難しいですね。

ところで、Options.confといえば、書き込みに失敗すると0バイトファイルになってしまう、あの仕様はちょっと改めた方がいいと前々から思っていました。
起動時にコピーを作って、OmegaChart起動時に、Options.confが0バイトだったら、コピーを読む仕様にすればいいか。

175 :
当方のwindows7では、Option.confで問題は特に生じていないですよ

176 :
>>173
>>174
>>175
失礼しました、大ボケです。
原因は、Fibonacciライン実装前のテストモデルのOmegaChartフォルダへ、この自炊最新ビルドの
Fibonacciライン実装モデルOmegaChart本体ファイルを置換してOptionファイルを引き継がせようとしたミスです。
たぶん旧Optionファイル内の記録にFibonacciラインの項目、fibonacci-lines=、、fibonacci-color=、が無いことが
自炊最新ビルドOmegaChart終了時でエラーとなったようです。
常用しているFibonacciライン実装モデルの旧Optionファイルは引き継いで利用できました。

テスト作業時は全てバックアップしますが、常用OmegaChartの利用時には思いがけないOptionファイルの喪失が稀に発生します。
銘柄Bookmarkが消失すると短期的な蓄積作業成果を失うので泣けます。
>>174 さんの対策が実現すればOptionファイルの保全にかなり効きそうですね。

それと自分の環境ではヤホーCSのDL完了タイムは約15分です。
Windows7、回線速度約3.4M環境。

ありがとうございます。

177 :
C:\Program Files\ じゃなくてC:\ 直下にインストールするとかしたら回避できるのかな

178 :
>>176
fibonacci実装してない環境に持っていっても問題ないとは思いますけどねぇ。

options.conf喪失被害を最小限にするためのコードは以下のようになると思いますね。
Env.cs のInitEnv()、これの
この行
string option_file = GetAppDir() + "options.conf";
から
}else{
System.IO.File.Copy(option_file, option_backup, true);
}
までの間を以下のように変更

string option_backup = GetAppDir() + "options.conf.backup";
System.IO.FileInfo fi0 = new System.IO.FileInfo(option_file);
System.IO.FileInfo fi1 = new System.IO.FileInfo(option_backup);
if (!fi0.Exists) {
_options.Init();
_bookmark.Clear();
}

179 :
>>176
失礼しました。

Fibonacciライン未実装モデルの.NET Frameworkが旧バージョンOmegaChartと、
Fibonacciライン実装モデル自炊最新ビルドOmegaChartの、
双方のOptionメニューからリセットして拡張キットなど全ての描画を非表示にして保存したOptionファイルであれば、
この旧バージョンのOptionファイルを自炊最新ビルドモデルで再利用できましたが、その原因などの事情は不明です。
もしかしたら指摘して頂いた拡張キットか何かの要因かも知れません。

確証のない単なる自分の印象でした。詳細は不明です。

180 :
>>179
あ、すみません。盛大に間違えました。
このコメは無しにして下さい。

181 :
最近気がついたが価格表示で小数点以下が表示されたり整数表示だけになる不思議な現象
個別銘柄の株価は内部で10倍記録だから小数点以下一桁の表示が正常だと思うがそうでもない
例えば 1309とか1300番台のETF銘柄は結構多くて その他にも1414や4004ではいつも起きている模様
特に4004では昨年の11月付近で4本値の表示がおかしくなる(高値や安値等で桁数表示が違う)
1414は整数表示が多いが遡ると同じ事が起きている その他の銘柄でも起きているのかも知れない(4114も変)
データが変なのかと思って調べてもバイナリも正常でテキストに戻してみてもおかしな所は見られない
念のために 4fee7d9 を使ってビルドした上で初期化データには以下を使って調べてみた
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
 ↑ (いつもお世話になってます)

インジケータは未表示で拡張キットもデフォルトで改造も一切無し Windows 7でも10でも現象は再現した
そもそも他の方々でも同じ事が起きているのでしょうかね? 自分だけだとしたら全く理解できない

182 :
>>181
それは仕様なんですよね。
株価5000円以上は小数点付き株価になる可能性がない→整数表示
株価5000円未満は小数点付き株価になる可能性がある→小数点付き表示
なので、4004昭和電工の20181109などではご指摘の通りになります。

小数点以下が、「.0」なら整数表示にすればいいじゃないっていう意見もあるかと思いますが、これをやると5000円未満の銘柄株価表示で小数整数混在表示になります。
4本値全部が「.0」なら整数表示でいいじゃないっていう意見もあるかと思いますが、これが出来れば今よりマシな感じになるかもしれませんね。

183 :
>>182
変更はChartDrawing.csのみ。

ChartDrawing.cs のRetFormatStringを以下のように変更

private string RetFormatString(AbstractBrand br, Indicator ind, double val, TradeData td)//TradeDataを足す
{
switch ((PrimitiveIndicator)ind.LaneID)
{
case PrimitiveIndicator.Open:
case PrimitiveIndicator.High:
case PrimitiveIndicator.Low:
case PrimitiveIndicator.Close:
if(td!=null)//変更
if (!br.IsBuiltIn)//変更
if (td.Open % 1 == 0 && td.High % 1 == 0 && td.Low % 1 == 0 && td.Close % 1 == 0)//変更
return "F0";//変更
break;
}
return ind.GetFormatString(br);
}

同じくChartDrawing.csのDrawValueWindowから、RetFormatStringを呼び出すところを変更

ChartUtil.DrawText(hdc, vx, y, Util.FormatFixedLenValue(val, 9, RetFormatString(_brand, ind, val, td), ind.FormatModifier));//tdを足す

184 :
>>182, 183
なるほど そうでしたか 聞いてみるものですね 早速にありがとうございました

185 :
>>183
動作確認しました これだとストレス無くチャート表示できます ありがとうございました

186 :
ツール > カスタマイズ > スクリーニング のタブで、自作のスクリーニングキットのパラメータを0から17まで入力窓を設定したところ、
本来は次のページに17窓を表示する所を、同一ページの16窓に続けて17窓を上部僅かに表示され設定の変更が出来ません。

自己環境だけなのかを確かめる為、新規にソースコードを二つ前の「9cd2e32」をビルドし、
新規の環境を用意して確かめましたが症状は変わりませんでした。
尚、VisualStudio2017環境に移行していないので最新の「4fee7d9」では確かめていません。

「CustomizeDialog.cs」の「private const int MAX_ITEMS = 16;」辺りまで探しましたが私には原因は判りませんでした。
どうか御助力お願いします。

187 :
ウィンドウのサイズは適当な大きさに変更してあるの

188 :
>>186
default.omegaファイルなどで、インディケーターを定義しますが、今回はその話だと思います。

<indicator
target="praice"
count="17"
(後略)

このcountで指定した数が16よりもオーバーしたのでこのような状況になりました。
CustomizeDialog.cs の一番上あたり

private const int MAX_ITEMS = 16;//これを17へ変更

ついでにOmegaChartのカスタマイズ画面でナンバリングされた数字が2桁になると縦表示になってしまうのを訂正するには、
同じく、CustomaizeDialog.cs のInitIndicatorPage

この行を
AddLabel(page, (i+1).ToString(), tabIndex++, 152, top, 16)
このように変更
AddLabel(page, string.Format("{0,2}", i+1), tabIndex++, 152, top, 17);//17はMAX_ITEMSとは関係ない。ナンバリング数字の文字幅のこと

ちなみに、その幅17は適当に増やしたらうまく行ったというだけです。

189 :
助言ありがとうございます。取り急ぎ書き込みます。

>>187
何かしらの不具合が出るのが怖いのでデザイン関係には手をつけていません。

>>188
今、確認できないのですが「スクリーニング」関係なので「InitIndicatorPage」の項を変更して良いか判りませんが適用次第報告します。

190 :
>>186
ちゃんとスクリーニングって書いてありますね。失礼しました。となると>>188はまったく関係なしです。

191 :
スクリーニングのタブが二つになるところが一つになってしかも入力に支障が出てるてことか それならおかしいね

192 :
現状では一つの拡張キットではパラメータが16個以上の表示はできずタブは増えない模様 但し入力はTABキーを使って何とか出来る18個目は表示されないので無理
正常に次のタブにパラメータを表示させたいなら拡張キットのパラメータを16以下にしてを分割すれば良い事は確認済み コードを修正する必要は無いと思いますがね

193 :
>>176
自分の環境で発生したOptionファイルの不具合について原因を特定したわけでもなくいい加減な思いつきの印象の話でした。
失礼しました。

>>178 さんの指摘の、fibonacciライン機能の実装の有無に係わらず、相互のOptionファイルをメニューからリセットして全ての描画を非表示にして保存してみたところ。
自分の環境でも互いにOptionファイルは利用できました。

頂いたアドバイスの指摘のように、もしかしたら何か拡張キット関連の不具合だったかも知れません。
詳細は分かりませんでしたが、ひとまず自分の不都合は解消しました。
ありがとうございます。


>>178 さんの、掲載頂いたサンプルコードにつきまして。

Env.cs のInitEnv() 、、の指示にある修正箇所を探しましたが、

> }else{
> System.IO.File.Copy(option_file, option_backup, true);
> }

自分のコードにはこの該当箇所が見当たらず、これに似たような箇所としては、

}
else {
StreamReader reader = null;
try {

このような箇所があり、、この自分のコードと同様の参照ファイルとしては、
>>129 panacoran さん版のEnv.csのコードにも該当箇所は見当たらず。

掲載頂いたサンプルコードを試す方法が分かりません。
お手数ですが自分のコードにもサンプルコードを利用可能でしょうか。

194 :
186 & 189です。
返信が遅くなって済みません。
17個以上のパラメータ設定するには別キットを用意するしかないですか…。
私としては、ある程度の数に絞った銘柄を用意し、一回の手間で抽出したかったです。
助言ありがとうございました。

195 :
>>194
ちょっとよくわからないので教えてほしいのですが、スクリーニングにおいて「17個以上のパラメータ設定」というのは、
extensionフォルダ内の.omegaファイル内の記述で設定できます、
<param index="0" type="positiveInteger">
<param index="1" type="positiveInteger">
(中略)
<param index="16" type="positiveInteger">
このparamを17個作るという意味でしょうか?お困りの状況が想像できなくてですね。
お時間がありましたら、画像などでお困りの状況を示していただけたらありがたいです。
お忙しいようでしたら、スルーしていただいても構いません。

196 :
>>195さんへ 画像URLです。

ttps://folio.ink/xLx361
17個目の数値が上部僅かに表示されるのが判ると思います。
今回の目的は、17番目も他の1-16番目と同じように気軽に変更したいだけです。

197 :
>>196
そういう画面が出るんですね。初めて見ました。インディケーターが修正効くなら、このケースも修正できそうですね。

198 :
>>196
見てみました。

>>188の修正でOKです。
private const int MAX_ITEMS = 16;//これを17へ変更

199 :
>>198さんへ 実行してみました。
「MAX_ITEMS」は縦の行数を表す値なんですね。気付きませんでした。
行数を超えた場合、次のタブに表示すると思い込んでいました。
取り敢えず解決する事が出来ました。御助力ありがとうございました。

200 :
久しぶりにこちらを覗いたところ活況で驚きました。

さて、Options.confの書込み失敗の話題が出ていますね。
>>174
詳細は忘れましたが、以前自動バックアップとエラー時リストアを試みましたがうまく行きませんでした。
今回、改めてコードとエラーログを見直して一つの案を思いつきました。

error.logをみると、Env.csのメソッド「SaveEnv()」内でSaveTo(root)のエラーが記録されていました。
そこで、.SaveTo(root)が正常終了してからStreamWriterを初期化すればoptions.confファイルの消失を回避できるのではと思いました。

具体的には、以下の方法です。
//―――――――――――――――――
「Env.cs」「SaveEnv()」の
writer = new StreamWriter(option_file, false, Encoding.Default);
の位置を
new TextNodeWriter(writer).Write(root);
の直前に変更。
//―――――――――――――――――

終了時にエラーメッセージが出たとしても、ファイル初期化の前のエラーであればoptions.confは直前の状態のままで、0バイトファイルを作らないと思います。
残念ながら、初期化後のエラーでは0バイトファイルになるはずです。

201 :
>>200
これ、一番スマートな解決方法かもしれませんね。

202 :
>>200 ご提案を試してみました。
>>172 のエラー状況を再現してみたところ、Optionファイルの消失を回避できました。
エラーメッセージを掲載してなかったですが、
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
自分は利用していてたまに見かけるこのメッセージが出るエラーです。
これが出る場合というのは、だいたい拡張キットに関するエラーでしょうか。

ともかく一つ煩わしさを軽減できて助かります。
ありがとうございます。

203 :
オブジェクト参照が...のメッセージはインデックスファイル更新時に良く出ます

204 :
>>202
オブジェクト参照のエラーは、何らかのオブジェクト変数がnull参照の時に出現します。
拡張キットだけが原因とは限らず、プログラマーの想定外でオブジェクトが未初期化あるいは破棄された状態でおこると思われます。
原因を特定するためには、エラーログの解析とエラーの再現が必要です(解決が難しいことも多いです)。


老婆心ながらエラーログの見方を説明して起きます。

//<<― error.log 注意:コードを大幅に変更しているので行番号はオリジナルと異なります
2015/06/01 9:18:48 : オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 Zanetti.Config.KeyConfig.SaveTo(StorageNode parent) 場所 c:....\KeyConfig.cs:行 121
場所 Zanetti.Config.Options.SaveTo(StorageNode parent) 場所 c:....\Options.cs:行 191
場所 Zanetti.Env.SaveEnv() 場所 c:....\Env.cs:行 326
2015/06/01 9:19:57 : オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 Zanetti.Config.BookmarkFolder.Save() 場所 c:....\Bookmark.cs:行 201
場所 Zanetti.Config.BookmarkFolder.Save() 場所 c:....\Bookmark.cs:行 197
場所 Zanetti.Config.Bookmark.SaveTo(StorageNode parent) 場所 c:....\Bookmark.cs:行 284
場所 Zanetti.Env.SaveEnv() 場所 c:....\Env.cs:行 327
//―>>
日時とエラーの次の行が直接エラーを起こした原因のコードで、次の行からはそのコードの呼び出し履歴です(行番号が表示されない場合もあるようです)。
VisualStudioの「呼び出し履歴」ウィンドウと同じと思います。

したがって、VisualStudioのデバッグ環境で最初の行のコードと場所付近でブレークポイントを作ってエラーが再現できれば、ローカルないしウォッチウィンドウで変数をチェックして原因を特定できる可能性があります。

205 :
1銘柄だけ株価更新するサンプルコード。更新したい銘柄を選択してから、右クリックして「この銘柄の株価更新」を押下。

OmegaChart 1銘柄だけ更新 Command.cs 追加する部分には//☆UpdateOneBrand
https://osdn.net/users/omegachartuser/pastebin/6034
OmegaChart 1銘柄だけ更新 MainFrame.cs 追加する部分には//☆UpdateOneBrand
https://osdn.net/users/omegachartuser/pastebin/6035
OmegaChart 1銘柄だけ更新 UpdateOneBrand.cs 新規追加ファイル
https://osdn.net/users/omegachartuser/pastebin/6036

データ補完の仕様は以下の通り
・ヤフー時系列の20日分の株価のみが補完される候補
→つまり、20日分以上更新してない環境でこれを処理した場合はデータの歯抜けとなる
・既に存在する日付のデータは上書きしない
・日経平均、TOPIX、個別銘柄のみが対象
→それ以外の銘柄は処理しても何も起こらないが、ネットには情報取得に行ってしまう仕様

206 :
追加して下さった多くの便利な機能を利用させて頂いてます。
お手数ですが、いくつか質問があります。

フィボナッチ・リトレースメント描画機能について。
新規追加版の「//☆Fibonacci 20180816」こちらです。
「Fibonacci.cs」の、

//var fibo = new double[] { -2.618, -1.618, 0, .236, .382, .5, .618, .764, 1, 1.618, 2.618 };

この行です。拡張レベルなどにも対応して下さり、ありがとうございます。
その「マイナス」方向レベルの、-2.618, -1.618,、二つ。
チャート表示の表記として正しいですが、計算値としては大きな値となり。
修正しますと、-1.618, -.618,、ですが、チャート表示の表記としてズレるのが惜しいです。
本当に扱いやすく、よくできてて凄いです。
panacoranさんソースに、是非ともデフォで実装希望です。また、それは別で要望書きますが。

それと、また厚かましいですがご提案というか願望です。
これが難しい修正かどうか全く想像もつかずに好き勝手書きますが。
新規追加機能によってFibonacciラインを自由に引き直した場合、その自由なFibonacciラインの色が変化する仕様とし、色分けで視認性を向上可能でしょうか。
例えば、自動モードが赤色なら、自由モードは黄色に変化するなど。よろしくお願いします。

続きまして、、「KABU+から株価取得。ローカルファイル利用版。」
こちらを拝見して思うのは、OmegaChartが出力できるCSV形式の株価データです。これをOmegaChartへ取り込める機能へと応用が可能でしょうか。
出力したCSV形式ファイルを修正編集して、そのまま直に再度OmegaChartへ取り込めれば大変有り難いです。これは日付差分補充ではなく完全に上書き可能な機能を希望します。
株価10倍仕様、ノーマル仕様の両対応もお願いします。

今回は以上です、厚かましいお願いですが、よろしくお願いします。

>>204 参考になります。ありがとうございます。

207 :
ちょっと迷惑じゃないかな

208 :
>>206
>>1の会則A

209 :
エラーが出るといろいろ大変なので、コード統合するとしても正直、最小限にしてほしい(フィボナッチなど使う予定もなさそうなので)

210 :
>>206
-2.618, -1.618の件。押し戻り測定はこの仕様で良かったと思いますが、ご指摘のケースは起点からどのくらい離れたかを計った方が良いということですかね。確かにエリオット波動のサイトなどを覗きますと、そういう表現になっていました。
フィボナッチ移動モードの色分けの件ですが、これは現仕様だと難しいですね。移動中は区別があるんですが、確定させた瞬間から区別がなくなってしまうため。
CSVの件ですが、これは比較的容易に実現可能だと思います。仰るような使い方は結構面白そうなので時間があったら仕様を考えてみたいと思います。

基本的に自分の書き殴ってるコードは、サンプルコードなのでご参考になれば幸いということでございます。

211 :
データ更新の部分以外に多くのことを求めてもプログラムを書く人の負担になるしねえ

212 :


213 :
なぜか株価が置いてあるサイトの1月28日分が空白ページになっているようですがほかの人は閲覧できますでしょうか?

214 :
>>210  まず、ご迷惑をお掛けしまして、お詫びします。
長々と書きまして申し訳ございません。目を通して下さり、ありがとうございます。
またお世話になります。

まず、自分の説明力不足を痛感しますが。
あくまで一つ前のFibonacciライン機能の仕様を基準として自分の頭に置いてます。
以前の仕様では、この例と同じレベル数値を設定した場合、フィボナッチ拡張レベルはチャート描画において視覚的状態として「上下対照」の構造となっております。

こちらの新型フィボナッチ拡張レベルは。プラス方向へは、フォーカスレンジ値幅の2.618倍と1.618倍の距離を、上値を基準として離れた線を描画して。
マイナス方向へは、フォーカスレンジ値幅の3.618倍と2.618倍の距離を、下値を基準として離れた線を描画します。(コードの記述ではなく視覚的状態として)
このような視覚的に「上下非対照」の構造となる描画スタイルを意図しておられるなら、自分の考え違いです。

自分の質問は、以前の仕様の表示スタイルであれば、新規版のケースの-2.618が-3.618に該当し、-1.618が-2.618に該当しますというようなことです。
自分の知識では「3.618倍」という計算結果は誤りで、マイナス側のみそれぞれ1の減算が必要です。


Fibonacciラインの色分けの件と、CSVファイルの件ですが。何も分からず難題を申しました。
あくまで自分の意見を読んで下さったご感想などを伺いたいという、まずはその一心でして。
丁寧なご説明と一部のご賛同など、期待以上のご返答に感謝します。
残念ながら、自分が気に入ったサンプルコードを他者様へゴリ押しするかの記述が、作者様と他の皆さんへご迷惑をお掛けしました。以前にも似たようなことをやらかしたように思いますが、冒頭の通り、お詫びします。
自分の認識ではフィボナッチレベルは目安価格想定の一致頻度と精度の高い定番ツールの一つですが。
自分はコード編集に関して無知であり、コード肥大化の弊害懸念など皆さんの意見に従うが最善です。ご指摘に感謝します。
panacoranさんのソースに取り込んで頂く要望内容は、他者様から提案が出てこないようなら追々書きたいと思いますので、よろしくお願いします。

失礼しました。ありがとうございます。

215 :
>>214
ということは、やはり(安値から高値方向に引いた場合)安値の起点から計るということと理解しました。違ったらごめんなさいね。

>>213
タクススケジューラで、FTPするモジュールがエラーになってました。今は、見えるはずです。
お知らせ、ありがとうございます。

216 :
>>215
なぜか株価が置いてあるサイトの件、ありがとうございます。

217 :
>>215
フィボナッチ・リトレースメント機能のサンプルコード、戻りの反対、返しの測定値仕様修正。
値幅に対して、起点からいくらになったかを表示。例: 100円から200円までの値幅の場合、1,618%返し測定値が261円になるように変更。

OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その6 修正ポイントには //☆Fibonacci 20190129
https://osdn.net/users/omegachartuser/pastebin/6039
変更点は569行目からの1つの関数内です。

218 :
OSDNのコピペ(Pastebin)はいつの間にかログインが必要になったのね。
1週間で削除される、匿名の投稿もできないのかな?
ヘルプでは以前と同じく、ログインと匿名とどちらもできるように書かれているけど。

アカウント作ってまでアップするかどうか悩む。

219 :
>>217 Fibonacci.cs、ありがとうございます。バッチリ上下対照に戻りました。
以下は、利用上問題ありませんが些細なご報告です。
コード内のコメントアウトの位置ですが、もとは作者様デフォルト仕様で「.618、.5、.382」のシンプルモデルしたが、修正頂いた後は拡張レベルモデルのデフォルト仕様になってしまっております。
安値を起点として高値方向へ測定した場合には、起点となる安値が100で、終点となる高値が0の向きの表示序列となっております、修正以前や従来モデルとは起点と終点の表示序列が逆になってしまっております。
今のところは二点です、理解して使えば問題ありません。
>>214 の自分の説明文中の表記を間違えました、お詫びします。

220 :
>>217 途切れました、続きです。

手動モードも良好です。ほぼフルカスタマイズ可能で、自動モードと手動モードで隙きがなく。平方根レベルを好む者にも応用自在。
例えば、値幅の進行方向へフィボナッチ拡張レベルを配置して、逆行方向へは逆進1.382倍レベルや均衡表計算値系統である半値整数倍拡張レベルなどを配置すると、表裏を使い分ける要領で目安想定種類の対応範囲が広がります。
フィボナッチは一般的測定方法だけでは足りません。
テクニックとしてこれを僅かにアレンジしたフィボナッチ「目安の下限」を描き足して、レベルの範囲想定的視点を持つことで測定精度の本領を発揮しますが。
その実態を知らなければ自分はフィボナッチと無縁でして、これが自動モードだけでは描けませんでした。
自動化は可能な単純な理屈です。測定する値幅の高値を一般的な上髭頂点から時間枠終値の最高値へ落すこと。
言い方によってはその程度の精度しかあてにならないというのが私見です。結果としてレベル目安は二重の線の間の範囲となります。
そして更に、このレベル想定範囲としての精度誤差を織り込むわけです。
仮に、ランダムに過去のある時点での過去5年間程度の株価レンジの変動ランキングを検索すると、だいたいOmegaChartに収録したどの時代でも上位1000銘柄ほどは250%以上のパフォーマンス、
3倍以上になったか3分の一以下になったりするようで、そんな相場のポテンシャルを踏まえ。
これをフィボナッチへ落し込み「0.236:1:4.236」の比率をカバー範囲とすると。
設定は、進行方向へ「4.236、2.618、1.618」、中心値幅の「1,0.764、0.618、0.5、0.382、0.236、0」賑やかになりますが、逆行方向には「-1.382、-1.5、-2、-2.5、-4」というのも一案かと。
検証は必要ですが面白いかも知れません。目安なんて大雑把ですが幅広く対応可能でしょう(テクニック必須)。

こんなこと自在に検索できるのもOmegaChartと皆さんのおかげです。こんなの知る限りの証券社ツールにありません、あればいいですけど。
自分はこの理屈の拡張キットで目安レベルのインジケータ表示してますが局面的なフィットが面倒でして。あくまで私見として、これをデフォ実装しないという考えは本当に無かったです。
お手数おかけしました、ありがとうございます。

221 :
>>219
起点と終点の表示が逆になっているとの件ですが、どうも再現しなくて困りました。
https://static-cdn.osdn.net/thumb/g/5/695/800x600_0.png

自分が再現に使ったソースはこちらです。
panacoranさんの4fee7d9ソースをベースに、fibonacci.csを除く
https://egg.2ch.sc/test/read.cgi/software/1488866170/860
これらのソースを取り込み、最後に、>>217のfibonacci.csの内容を取り込みました。

ちょっと困りましたね。

222 :
CSVファイルをドラッグドロップしてOmegaChartのデータ更新する機能のサンプルコード。
取り込むCSVの形式はOmegaChartに備わっているデータのエクスポート機能で出力されるものと同じ。
そのエクスポートされた全日数分書かれたCSVファイルを編集したものをドロップしてもいいし、
変更すべき1レコード、あるいは数レコードだけ書いてドロップするだけでも可能
OmegaChart側にない日付のレコードを書き入れた場合、新規追加される

注意点は以下
・エクスポートする際、「分割考慮」ボタンをオフにしないと修正株価のCSVファイルが出力されてしまう
 ⇒修正株価で上書きしてしまうと、正常なOmegaChart表示ができなくなります
 ⇒「分割考慮」ボタンは押されたときが分割を考慮してるときの状態。これを押されていない状態にしてCSV出力する
・CSVのファイル名が例えば「9984」だとしてもOmegaChart画面で開いている銘柄に書き込みに行く
・データの整合性、高安などが間違っていてもチェックなし
・OmegaChartのデータと変更が認められなければ何もしない。メッセージなし

万が一間違ってドロップしてしまった際のセーフティーネット
・ドロップ後、確認ダイアログ出力。銘柄名、変更箇所数が出力されるので確認する。キャンセルすれば何もしない
・.bakの1世代バックアップファイルを出力

OmegaChart ファイルをドロップしてデータ更新 Import.cs 新規追加ファイル
https://osdn.net/users/omegachartuser/pastebin/6047
OmegaChart ファイルをドロップしてデータ更新 MainFrame.cs 追加する部分には//☆DataImporter 20190202
https://osdn.net/users/omegachartuser/pastebin/6048

223 :
>>222
この機能があればデータ補填に非常に役に立つ有用な機能ですね 早速試して見ました
個人的には信用売買残のデータがある場合とcsvの銘柄コードを識別しての更新にも対応して頂ければありがたいです
ともかくいつも有り難うございます

224 :
そういえば、OmegaChartに信用残を更新する標準機能ってありましたっけ? 

225 :
昔は、信用残のデータを取得していたのだけれども、現在に至るまでの過程で信用残のデータを取得できるサイトがなくなったとか、そういう話ではなかったかな

226 :
なるほど。

今、稼働している株価ダウンロード先で、信用データが手に入るのは、ヤフーファイナンスと有料だけどkabu.plusの2つかな。
OmegaChartのソースで、データ取り込みのときに使うclassは、NewDailyDataなんだけど、信用売、信用買の枠がそもそもないという、
当初からあまり重要視されていなかった項目要素に見えますね。

227 :
信用残は週次データだからじゃないの。

228 :
確かにそうなんですけど、dataフォルダ配下のファイルは日次ファイルなんですよね。
当時のMLを覗いたら、ケンミレで信用残が取れたみたいですが、2005年ぐらいに取れなくなって現在のような形骸化した項目になったみたいですね。

229 :
オメガのデータ形式は date,open,high,low,close,sold,buy の8個を'L8'形式でパックしてありますよね
今も信用残データをあそこから取ってますけど 多分223は信用残データを取れる様にして欲しいではなく
信用残データがあってもcsvファイルを読み込んで欲しいというのでは?

230 :
まー、あんまりプログラムの書いてくれる人に負担を強いるのはよくないよ

231 :
プログラムの→プログラムを

232 :
信用残の話題ですが、興味半分に一つのヒントを投稿させてもらいます。

データ取得先として、Yahoo、トレステのスキャナーなどが考えられますが、元データであるJPXが公表する週次信用取引残高等
https://www.jpx.co.jp/markets/statistics-equities/margin/05.html
からデータを取得する方法も考えられます。

これは、pdfで公開されている為、C#で数値としてデータを取得するためにはpdfライブラリの利用が必要になります。
ライブラリの一つとしてiTextSharp(AGPLライセンス)があり、VSのNuGetからダウンロードとインストールが可能です。

これを利用した開発に興味がある方の為に、JPXからダウンロードしたpdfからテキスト出力するコンソールアプリを作ってみました。
コピペが使えないので次の投稿に書きますが、インデント等かなりみずらくてゴミかもしれません。
思いついて趣味の延長で書いてみたので大きな間違いがある可能性がありますので、あくまでも参考と考えてください。

使い方
1 VSでNetFramworkコンソールアプリを新規作成。
2 NugetからiTextSharpをインストール
 ツール - NuGetパッケージマネージャー - ソリューションのNuGetパッケージの管理
 左上の参照を選択して、検索ボックスにiTextSharpを入力して検索
 「iTextSharp」をクリックして右側のプロジェクトのチェックボックスをチェックしてインストール。
 ライセンス同意などの説明に従うとインストールされる。
3 JPXからsyumatsu2019012500.pdfファイルをダウンロードしてドキュメントフォルダにコピー
4 次の投稿のコードをコピペしてビルド(まだデバッグしない)
5 デバックで実行するとcsvファイルがマイドキュメントに出力される
注 コードは尾末に0が加えられた5桁コードです。

pdfのテキスト変換はセルの構造によっては数値の間に文字が入って意味不明になることもよくあります。
したがって、十分に確認していないので抜けまたは間違いあるかもしれませんし、信用性が劣る可能性も否定はできません。
自分は信用残を利用する予定はありませんが、興味ある方は自分で修正してOmegaChartに組み込むなりして利用してみてください。
iTextSharpの使い方はググると解決できると思います。

233 :
>>232

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
namespace ReadCredit
{
class Program
{
static void Main(string[] args)
{
string filename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\syumatsu2019012500.pdf";
StringBuilder sb = new StringBuilder();
sb.AppendLine("記号,銘柄 種別,コード,新コード,売残計,前週比,貸残計,前週比,一般信用売,前週比,制度信用売,前週比,一般信用買,前週比,制度信用買,前週比");
using (PdfReader reader = new PdfReader(filename))
{
for (int i = 0; i < reader.NumberOfPages; i++)
{
string s = PdfTextExtractor.GetTextFromPage(reader, i + 1, new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy());
string[] lines = s.Split('\n');
foreach (string line in lines)
{
string pattern = "(?<kigou>\\w{1})\\s{0,1}(?<name>.*?)(?<code5>\\d{5})\\s{0,1}(?<code_jp>JP\\d{10})\\s{0,1}(?<data>.*?)$";
Match m = Regex.Match(line.Replace(",", ""), pattern);

234 :
>>233

if (m.Success)
{
sb.AppendFormat("{0},{1},{2},{3},{4}"
, m.Groups["kigou"], m.Groups["name"].Value, m.Groups["code5"].Value, m.Groups["code_jp"].Value
, m.Groups["data"].Value.Replace("▲ ", "-").Replace(" ", ","));
sb.AppendLine();
Console.WriteLine("{0}\t{1}\t{2}\t{3}"
, m.Groups["name"].Value, m.Groups["code5"].Value, m.Groups["code_jp"].Value, m.Groups["data"].Value);
}
}
}
}
//新証券コードの記載があるものだけ 市場計は正規表現パターン変更必要
File.WriteAllText(filename.Replace(".pdf", ".csv"), sb.ToString(), Encoding.Default);
Console.WriteLine("hit any key then quit");
Console.ReadKey();
}
}
}

235 :
>>232
使い方4の 「まだデバッグしない」は誤記です。
コピペした後に一番最後の行の「}」を一度消して再入力リターンでインデントが復活するはずですから、
そのままデバッグしてOKです。

236 :
PDF読み込みは以前非常に難儀した覚えが。iTextSharp、参考にさせていただきます。

237 :
>>221
お手数でした、失礼しました。
指摘を頂いた通り、自分も指定ファイルを用いて再現してみて悩んでおりましたが。UPして頂いた見本画像と自分の報告状態が、そもそも同じだったことに気がつくまでに数日を要しました。

見本画像に示された通り、安値を起点に高値へ描いた場合ですと。以前の自動モード仕様では起点安値メモリ==0、終点高値メモリ==100。
付随して、その他のメモリも入れ替わっており。画像の例ですと、高値の延長線方向が「+」メモリで、起点安値の下方が「-」メモリとして表示されるのが以前の従来仕様の表示スタイルです。
上記は全てチャート描画の見た目の状態「左側目盛り」のことです。これを好みに応じてスタイルを変更するには、以前の仕様のコード変更項目の修正では変化しなくなりましたね。
やはり自分の説明力不足でご迷惑をお掛けしました。
画像の例ですと「安値→高値へ測定した場合」なので以下のような左側メモリが考えられます。
> ↑(トレンド)値動き進行方向の場合
> 2.618
> 1.618
> 100 (終点)、ここは、例えばHiと書き換えても常に固定で好都合でした。
> 0.236   又は、0.764どちらでも
> 0.382   又は、0.618どちらでも
> 0.5
> 0.618   又は、0.382どちらでも
> 0.764   又は、0.236どちらでも
> 0 (始点)、ここは、例えばLoと書き換えても常に固定で好都合でした。
> -1.618
> -2.618
> ↓(トレンド)値動き逆行方向の場合
本当に何度もすみません。

238 :
>>237
その問題ですが、マケスピのフィボナッチリトレースメントは、起点が0で終点が100です。Tradingviewは真逆で、起点が1で終点が0です。
自分的には、リトレースメントという名前からどのくらい戻ったかという意味合いになると思っています。起点までの戻り=全戻し=100%戻しというのがしっくりします。
しっくりくるか来ないかなので、ご自分でご自由に変えてくださいという話になります。時間が取れれば変更方法などをお伝えしたいとは思うのですが。

239 :
コードはちゃんと見ている様だし それくらいは自分でやるべきでは

240 :
さすがにクレクレが過ぎるような

241 :
>>238
フィボナッチ・リトレースメントの並びの件で、修正できたのでお知らせします。

フィボナッチ・リトレースメントの画面描画上の並びを変えたい場合は、新しく書いたfibonacci.csの539行目あたりのFibonacciDrawLines、
これにあるSORTINGの内容をtrueにすると、起点ラインが100%終点ラインが0%となり、falseにすると起点ラインが0%終点ラインが100%となります。
自分の理解が正しければ、>>237さんの期待した並びはfalseにするとなるはずです。ついでに気になっていたところも直しておきました。

OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その7 修正ポイントには //☆Fibonacci 20190207
https://osdn.net/users/omegachartuser/pastebin/6056

242 :
>>241
ミスがあったので、取り消します。

243 :
>>241
差し替えました。説明は同様です。
https://osdn.net/users/omegachartuser/pastebin/6057

画面のフィボナッチ級数に%を付けたいという話もあったかと記憶していますが、564行目に変えたい人が選択できるようにしておきました。

244 :
無尽蔵データ読み込み時におけるデータ欠落について。

ファイル:Mujinzou.cs
クラス:internal class MujinzouDataSource : DailyDataSource
メソッド:private Hashtable FillData(int date)
行:93行(if(br!=null &&)の直前に以下の行を追加して無尽蔵のデータを更新してみてください。

//<<-- add for debug
if (br != null && !CheckMarket(br, Util.ParseInt(t[2], 0)) && !br.Obsolete) {
File.AppendAllText(Path.Combine(Env.GetAppDir(), "DownloadError.csv"),
string.Format("無尽蔵,市場不一致,{0},{1},{2},{3},{4}\r\n",
date, br.Code, br.Name, br.Market, line.Replace(",", "\t")), Encoding.Default);
}//-->>

index.txtと市場不一致のために取りこぼされた銘柄がcsvに出力されます。

また、取得先urlを"http://souba-data.com/k_data/" + d2.ToString(@"yyyy/yy_MM/TyyMMdd")に変更(無尽蔵ページ過去データの取得先)すると複数市場への重複上場のデータがダウンロードされます。
このメソッドに前行のコードを新たな変数にセットして、前行で市場不一致であっても次の行で合致すれば成功と出力するようにコードを変更すれば、大幅に取りこぼしが減るようです。

しかし、これでもマザーズないしジャスダックと東証で市場の入力ミスがあるようで取りこぼしが発生します。
一つの案としては、url変更に加えて3番目の列ではなく最終列の市場名でチェックするようにロジック変更することでかなり防げるような気がしています。
あるいは、エラーの銘柄だけ他のデータソースをチェックしに行くという方法も考えられます。


無尽蔵の場合はデータ更新時間が短いのが利点ですが、このほかにも時々日経平均が更新されないことが原因かもしれませんが、たまにスクリーニング結果でペインが表示されない不具合が出現するような気がしています。

245 :
Edatalabもチェックしてみました。

ファイル:Edatalab.cs
クラス:internal class EdatalabDataSource : DailyDataSource
メソッド:private Dictionary<int, NewDailyData> FillData(int date)
行番号:74
continue;
を以下に変更
{
File.AppendAllText(Path.Combine(Env.GetAppDir(), "DownloadError.csv"),
string.Format("Edatalab,市場不一致,{0},{1},{2},{3},{4}\r\n",
date, br.Code, br.Name, br.Market, line.Replace(",", "_")), Encoding.Default);
continue;}

また、メソッド最後の「return;」の前に以下を追加するとindex.textとビルトインコードで更新されなかったコード一覧がエラーログに追加されます。

foreach (AbstractBrand brand in Env.BrandCollection.Values) {
if (brand.IsBuiltIn | brand.IsCommodity | brand.IsDomesticIndex | brand.IsForeignIndex |
brand.IsIndexFuture | brand.IsSectorIndex || !(brand as BasicBrand).Obsolete) {
if (!result.ContainsKey(brand.Code) && brand.Market != MarketType.Custom) {
File.AppendAllText(Path.Combine(Env.GetAppDir(), "DownloadError.csv"),
string.Format("Edatalab,追加不能,{0},{1},{2},{3}\r\n",
date, brand.Code, brand.Name, brand.Market), Encoding.Default); } } }


Edatalabにもコードの不一致が数件あり取りこぼしているようです。
Edatalabは東証、マザーズ、ジャスダックのみを対象にしているようですからマーケットチェックは必要ないような気がしました。

246 :
データの取りこぼしはどこでも少なからず起きている様です 銘柄の特定が出来ればその対処に役立ちます
今は別スクリプトを利用したりブックマークに取り込み 1銘柄だけの更新機能を利用させて頂いていまが
CSVファイルを使った更新等々色々改善が期待できるところがありそうです

247 :
>>222
CSVファイルをドラッグドロップしてOmegaChartのデータ更新する機能のサンプルコード。
2つの仕様変更を盛り込んでみました。

・信用残データが残る仕様に変更。信用残の項目は、書き込み対象にも比較対象にもならないのは従来通り。
・ドロップするCSVファイル名が数字4桁だったら、その数字の銘柄データとして扱う。存在しないコードだったら表示画面の銘柄として扱う。

248 :
>>247
2019.2.11の修正で変更が必要になるのはData.csとImport.cs。MainFrame.csは変更なし。

OmegaChart ファイルをドロップしてデータ更新 Data.cs 追加する部分には//☆DataImporter 20190211
https://osdn.net/users/omegachartuser/pastebin/6061
OmegaChart ファイルをドロップしてデータ更新 Import.cs 差し替えその1 新規追加ファイル
https://osdn.net/users/omegachartuser/pastebin/6062

249 :
>>244 無尽蔵はそもそも銘柄の市場が間違っているところがちょこちょこありませんか?

>>248 どうもありがとうございます。

250 :
>> 247, 248
223 << です 当方の勝手な要望を聞いて頂き有り難うございます
ただ相当な御迷惑をお掛けした様子が窺えます 安易な書き込みには気をつけます

251 :
>>244
無尽蔵データの当日株価と過去株価についてもう少し詳しく調べるコンソールアプリを作成してみました。

d_dataの方が当日、k_dataの方が過去株価のようです。
OmegaChartで取得する当日株価の方が市場、0データ、銘柄の重複を含め間違いが多いような気がします。
また、過去株価でも市場と無尽蔵独自の市場コードや銘柄名などで間違いがあるようですが、市場名のフィールドに関しては1部と2部あるいは2部とマザーズの間違いがほとんどのようでした。

データインポートには過去株価の方が良さそうに思えますが、コード変更が多くなってしまうでしょう。
index.txtを更新せずに市場変更があった場合には、データダウンロードで市場チェックをしていると取りこぼしの原因になると考えられます。
信頼性に欠ける面はありますから、素直に他のデータソースを使えということになりますかね。
Edatalabを市場チェックせずに利用するのが一番早くて簡単かもしれません。

ちなみに、ヤフーがデータソースの場合は優先市場の取得で市場チェックしていないのでindex.txtにあるコードは更新されるようです。
ところで、昔のヤフー時系列は前日分までだったと記憶していたのですが今見てみたら今日のデータも追加されているのですね。


検証したコンソールアプリを次に参考として投稿しておきます。
適当に日付を変更して、Omegaのディレクトリを変更する必要があります。
新規作成したコンソールアプリのメインメソッドに貼り付けてください。
zipファイルをHttpClientでStream取得して直接読み込むため、System.IO.Commpressionの参照が必要です。

252 :
//>>251 Mujinzou.cs 1
//新規にコンソールアプリを作成、要参照追加 System.IO.Compressionの参照追加して以下をメインにコピペ
//dateを適当に変更して実行 *ウンロードできなければエラーとなる
DateTime date = DateTime.Parse("2019/2/12");
string[] urls = new string[] {
"http://souba-data.com/d_data/" + date.ToString(@"yyyy\d/yy_MM\d/TyyMMdd") + ".zip",
"http://souba-data.com/k_data/" + date.ToString(@"yyyy/yy_MM/TyyMMdd") + ".zip" };
string[] sources = new string[2] { null, null };
using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) {
for (int i=0;i<2;i++) {
using (var zipStream = client.GetStreamAsync(urls[i]).Result) {
using (System.IO.Compression.ZipArchive archive = new System.IO.Compression.ZipArchive(zipStream)) {
using (System.IO.StreamReader reader = new System.IO.StreamReader(archive.Entries[0].Open(),
System.Text.Encoding.Default)) {
sources[i] = reader.ReadToEnd();
System.IO.File.WriteAllText((i == 0 ? "t" : "k") + archive.Entries[0].Name, sources[i], Encoding.Default);
} } } } }
Dictionary<int, string[]> dicIndexMarket = new Dictionary<int, string[]>();
string indexfile = @"Z:\data\trade\OmegaChart\index.txt";
string[] lines = System.IO.File.ReadAllLines(indexfile, Encoding.Default);
foreach (string line in lines) {
string[] cols = line.Split(',');
if (cols.Contains("OBS"))
continue;
if (int.TryParse(cols[0], out int code)) {
dicIndexMarket.Add(code, new string[]{cols[1], cols[2],
cols[2].Replace("T1","東証1部").Replace("T2","東証2部").Replace("J","JAQ").Replace("M","東証マ") });
} }

253 :
//>>251 Mujinzou.cs 2
SortedDictionary<int, string> dic = new SortedDictionary<int, string>();
lines = sources[0].Replace("\r", "").Split('\n');
foreach (string line in lines) {
if (line.Trim() == "") continue;
string[] cols = line.Split(',');
int code = int.Parse(cols[1]);
if (dic.ContainsKey(code)) {
Console.WriteLine("当日株価データに重複して存在しています {0}", code);
Console.WriteLine(" 新 :{0}", line);
Console.WriteLine(" 既存:{0}", dic[code]);
continue; }
dic.Add(code, line); }
Console.WriteLine("\r\nindex.txtのOBS以外で銘柄当日株価に銘柄コードが見当たらないもの");
foreach (int code in dicIndexMarket.Keys) {
if (!dic.ContainsKey(code))
Console.WriteLine(" {0} {1} {2}", code, dicIndexMarket[code][1], dicIndexMarket[code][0]); }
Console.WriteLine("\r\nindex.txtに存在しない当日株価の銘柄");
foreach (var pair in dic) {
if (pair.Key > 1300 && !dicIndexMarket.ContainsKey(pair.Key))
Console.WriteLine(" {0}", pair.Value); }
lines = sources[1].Replace("\r", "").Split('\n');
Dictionary<int, List<string[]>> dicPast = new Dictionary<int, List<string[]>>();
for (int i = 0; i < lines.Length; i++) {
if (lines[i].Trim() == "") continue;
string[] cols = lines[i].Split(',');
int code = int.Parse(cols[01]);
if (dicPast.ContainsKey(code)) {
List<string[]> list = dicPast[code];
list.Add(cols);
dicPast[code] = list; }
else dicPast.Add(code, new List<string[]> { cols }); }

254 :
//>>251 Mujinzou.cs 3
Console.WriteLine("\r\nindex.txtと市場が異なる当日株価の銘柄");
foreach (var pair in dic) {
string[] cols = pair.Value.Split(',');
if (dicIndexMarket.ContainsKey(pair.Key) && cols[9] != dicIndexMarket[pair.Key][2]) {
StringBuilder sb2 = new StringBuilder();
if (!dicPast.ContainsKey(pair.Key))
sb2.Append("該当銘柄なし");
else {
foreach (string[] cols2 in dicPast[pair.Key]) {
if (cols2[9] == dicIndexMarket[pair.Key][2]) {
sb2.Clear();
sb2.Append("[一致]");
sb2.Append(string.Join(",", cols2));
break; }
else
sb2.Append(cols2[9] + ","); } }
if (!sb2.ToString().Contains("[一致]")) {
sb2.Remove(sb2.Length - 1, 1);
sb2.Append("(一致せず)"); }
Console.WriteLine(" {0} omega[{1,-2}] 当日株価:({3}){2} \t過去:{4}\t{5}",
pair.Key, dicIndexMarket[pair.Key][1], cols[9], cols[2], sb2.ToString(), dicIndexMarket[pair.Key][0]); } }
Console.WriteLine("\r\n過去株価に存在するが当日株価には存在しない銘柄コード");
for (int i = 0; i < lines.Length; i++) {
if (lines[i].Trim() == "") continue;
int code = int.Parse(lines[i].Split(',')[1]);
if (!dic.ContainsKey(code))
Console.WriteLine(" {0}", lines[i]); }

255 :
//>>251 Mujinzou.cs 4
Console.WriteLine("\r\n過去株価と当日株価の内容が異なるもの");
int prevcode = 0;
StringBuilder sb = new StringBuilder();
for (int i=0;i<lines.Length;i++) {
if (lines[i].Trim() == "")
continue;
int code = int.Parse(lines[i].Split(',')[1]);
if (!dic.ContainsKey(code))
continue;
if (code != prevcode) {
if (sb.Length > 0 && !sb.ToString().Contains("当日株価に一致"))
Console.WriteLine(sb.ToString());
sb.Clear(); }
//過去株価では名証が名古となっている
if (lines[i].Replace(",名古",",名証") != dic[code]) {
if (code != prevcode) {
sb.AppendFormat(" 当日株価:{0}\r\n", dic[code]);
sb.AppendFormat(" 過去株価:{0}\r\n", lines[i]); }
else
sb.AppendFormat(" 過去株価:{0}\r\n", lines[i]); }
else if(code == prevcode) {
sb.AppendFormat(" 過去株価:{0} 当日株価に一致", lines[i]); }
prevcode = code; }
Console.WriteLine("hit any key then quit");
Console.ReadKey();

256 :
>>251 2/12の無尽蔵当日(OmegaChartがダウンロードする)ファイルで4本値が間違っているもの一覧
いずれも過去ファイルには出来高ありますが、当日には出来高なしで要注意。

 当日:2019/2/12,9793,11,9793 ダイセキ,0,0,0,0,0,東証1部
 過去:2019/2/12,9793,31,9793 ダイセキ,0,0,0,0,0,名古1部
 過去:2019/2/12,9793,11,9793 ダイセキ,2578,2636,2576,2624,96700,東証1部

 当日:2019/2/12,9900,11,9900 サガミ,0,0,0,0,0,東証1部
 過去:2019/2/12,9900,31,9900 サガミ,0,0,0,0,0,名古1部
 過去:2019/2/12,9900,11,9900 サガミ,1325,1334,1318,1324,36000,東証1部

 当日:2019/2/12,9956,11,9956 バロー,0,0,0,0,0,東証1部
 過去:2019/2/12,9956,31,9956 バロー,0,0,0,0,0,名古1部
 過去:2019/2/12,9956,11,9956 バロー,2656,2749,2635,2748,244300,東証1部

 当日:2019/2/12,9966,11,9966 藤久,0,0,0,0,0,東証1部
 過去:2019/2/12,9966,31,9966 藤久,0,0,0,0,0,名古1部
 過去:2019/2/12,9966,11,9966 藤久,743,747,742,743,2200,東証1部

 当日:2019/2/12,9969,12,9969 ショクブン,0,0,0,0,0,東証2部
 過去:2019/2/12,9969,32,9969 ショクブン,0,0,0,0,0,名証セ
 過去:2019/2/12,9969,12,9969 ショクブン,227,235,220,233,119300,東証2部

 当日:2019/2/12,9982,11,9982 タキヒヨー,0,0,0,0,0,東証1部
 過去:2019/2/12,9982,31,9982 タキヒヨー,0,0,0,0,0,名古2部
 過去:2019/2/12,9982,11,9982 タキヒヨー,1771,1793,1764,1787,8900,東証1部

 当日:2019/2/12,9987,11,9987 スズケン,0,0,0,0,0,東証1部
 過去:2019/2/12,9987,31,9987 スズケン,0,0,0,0,0,名古2部
 過去:2019/2/12,9987,11,9987 スズケン,5650,5860,5620,5830,367700,東証1部

257 :
どうもありがとうございます。

258 :
>>245
1月以降を見た限りではEdataLabには市場番号の間違い以外にも、一部データに抜けがありました。
しかし、この抜けはよく見てみると取引のなかった銘柄がファイルに含まない仕様が原因と思われました。
これ以外はBrandCollectionに存在する上場廃止以外の個別銘柄の全てが含まれている様です。

自分はこれまで取引のない場合は0埋めで利用していたので、この場合は出来高0のTradeDataを追加して利用してみようかと考えています。

4本値自体が正確かどうかまでは面倒なので調べていません。

259 :
データダウンロード元ごとにセレクトできる機能もあったら便利かもしれないですね。

260 :
>>258 いろいろと精査、ありがとうございます。

261 :
無尽蔵、2/12の当日データ。 2503キリンHが2つあるね。

262 :
それはコードの25030と25035との2つが切り詰められたせい

263 :
無尽蔵当日の方は銘柄コードに対してユニークでなければならないはずと思ってたんだけど、
Mujinzou.csの中で、株価を格納するのがHashtableで、これって重複したキーのデータを取り込む時は上書きするようで、ちょっと感動した。

264 :
OmegaChartも随分良くなったがある意味クレクレのおかげでもあるな

265 :
ああちょうせんぼうえいだいじん

266 :
資産300億オーバー
国内44歳以下専業トレーダー首位のBNF氏も
Omegachartで800から1000のチャートを記憶していました

267 :
BNFがomega使うかよ無知

268 :
2005年あたりのチャート環境は、Fchartか、OmegaChartかって感じだった。あんまり選択肢なかったな。
Alfaチャートという、いまいちなチャートから乗り換えて、その使用感と拡張性に感動したのがOmegaChartだった。

269 :
ブィーエヌエフでーす Omegachartの使い方教えましょか

270 :
アホ〜 何か くれてやろか

271 :
おぉう そんなに利口ならアレくれアレを

272 :
アレて何ですか

273 :
無尽蔵さんで2月20日データ抜けが少しあるようですが
6573,6618、9272、、、まだありそうですかね

274 :
今確認したら、その3つとも取れてますね・・・

275 :
>>273
JPXの日報PDFと無尽蔵を比較しました。
4本値の異常 9793,9900,9956,9966,9969,9982,9987
無尽蔵に存在しない日報銘柄(PROMarket除く) 25935,1475,1476,1477,1478,1654,1773,8686,9399,6697,4875
外国銘柄も含まれています

なぜかとは25935以外は一致している様です

276 :
確認ありがとうございます。
なぜかうちの子は抜け分をDLできないらしいですね。

277 :
>>276
2/20に限って調べると、無尽蔵3列目の市場番号と10列目の市場名が一致しない銘柄がいくつかあります
(11:T1 12:T2 13:M 91:J 31-33:名古屋)
code 市場番号 市場名 銘柄名 index.txt
1439 13 JAQ 安江工務店 J
1464 12 東証1部 大和J400ダブル T1
3349 12 東証1部 コスモス薬品 T1
3419 13 名証セ アートグリーン なし
5704 13 東証M JMC M
6178 13 東証1部 日本郵政 T1
6190 13 JAQ フェニックス M
9279 11 東証マ ギフト M

Mujinzou.csのCheckMarketのロジックを見る限りでは、5704のJMC以外は取りこぼしていると思います。

対策1 129行からの「CheckMarket」の一部を変更
case MarketType.T1:
return muj == 11 || muj == 12 || muj == 13;
case MarketType.M:
return muj == 21 || muj == 13 || muj == 11;
case MarketType.J:
return muj == 91 || muj == 13;
ただし、これ以外の日に市場番号に別の間違いがあれば取りこぼすと思います。

対策2 93行を以下に変更(市場チェックしない)
if(br!=null) {

4本値の間違いに関しては、他のデータソースを利用するしかないと思われます。

278 :
>>277 追記
列10の市場名とJPXの日報の市場が一致しない銘柄(ETF、出資証券など除く)もリストアップしてみました

code JPX市場名 無尽蔵市場名 銘柄名 index.txt
3131 JASDAQスタンダード銘柄 東証マ シンデンハイ  J
3143 市場第二部 東証マ オーウイル   T2
3350 JASDAQスタンダード銘柄 東証1部 レッドプラネット J
3560 JASDAQスタンダード銘柄 東証マ ほぼ日   J
3571 市場第一部 東証2部 ソトー   T1
3671 マザーズ銘柄 東証1部 ソフトマックス M
3810 市場第二部 東証マ サイバステ T2
4033 市場第一部 東証2部 日東エフシー T1
6045 マザーズ銘柄 東証2部 レントラックス M
6190 マザーズ銘柄 JAQ フェニックス M
6698 市場第二部 東証マ ヴィスコテク T2
7805 JASDAQスタンダード銘柄 東証マ MTG J
7806 マザーズ銘柄 JAQ プリントネット M
9275 市場第二部 東証マ ナルミヤイン T2
9658 市場第一部 東証2部 ビジ太田昭 T1


これらも一部は取り込められていないと思われます。

なお、7805と7806の銘柄名は逆のようです
ダウンロードせずにプログラムでチェックしているので、目視で確認まではしていません。
もしかするとこちらのプログラムミスかもしれません。

279 :
どうもありがとうございます

280 :
まだ DreamVisor から業種別指数取れますね サンプルコードを使わせてもらって○探から個別株と業種別指数は取れる様になった
しかしC#が駄目な上に手抜きの小細工なので_codeQueue.EnqueueにSI_FISHINGなどをを書き足すだけ ちょっと恥ずかしい
33個もあればせめてループさせたいがC#の素人ではソースがよく分からずに困っています Mujinzouからのダウンロードにも対応させるには
多分DowloadOrderの書き換えがいるんだろうが全くの力不足で時間がかかりそう せめて最初のループの所だけでもなんとかしたい
どなたかヒントだけでも結構ですので御教示お願い出来ませんか

281 :
>>280
現在取得できていて分かりやすければそれでいいと思いますが。

今後のプログラミングの勉強としてforループの例をアドバイスすると、.Enqueueの場所で
for(int code=(int)BuiltInIndex.SI_FISHING;code<=(int)BuiltInIndex.SI_SERVICE;code++)
_codeQueue.Enqueue(code);
と書くことで33業種をまとめて追加できると思います。

また、ウェブページをダウンロードするメソッド内にも、
if(code >= (int)BuiltInIndex.SI_FISHING & code<=(int)BuiltInIndex.SI_SERVICE)
code = [ウェブページの水産コード番号] + code - (int)BuiltInIndex.SI_FISHING;
とするとコードが短くなると思います。
*当然ウェブページのコード番号が連番でなければなりません。

考えたままに書き込んでいるので間違いがあるかもしれません。

282 :
これで行けないですかね?

for(int i = 501;i<=533;i++)
{
_codeQueue.Enqueue(i);
}

283 :
>>280

個別銘柄をEdatalabまたは無尽蔵で、指標関連をYahooまたは○探からダウンロードしようと考えているのであれば、ある程度大幅にコードの変更が必要です。
データソースとして選択可能な無尽蔵、Edatalab、Yahooに関してはMarketType.B等以外の個別銘柄を全てダウンロードする仕様のはずです。
DreamVisorは指標のダウンロードでクラスの構造が異なるからです。

一つ思いついたのは、Yahooを例にとると銘柄をパラメーターとして渡せるコンストラクターを追加します
public YahooDataSource(int[] dates, int[] codes) : base(dates) {
foreach (AbstractBrand brand in Env.BrandCollection.Values) {
if (Array.IndexOf(codes, brand.Code) < 0)
continue;
...
こちらのコンストラクターを使った場合、指定したコードだけダウンロードするはずです。

ダウンロードダイアログが押されると呼ばれる、DownloadOrder.csの128行からのConvertToDataSourceを変更します。
まずDreamVisor関連をコメントアウト
System.Collections.Generic.List<int> list = new System.Collections.Generic.List<int>();を宣言して
通常版のifを利用して_sectorsその他のindex関連が選択されている場合に、listにコードを追加します。


StockDownload stock_index = new new Specialized.YahooDataSource(_dateArray, list.ToArray());
これをswitchの前かブロック終了後に追加することで、追加したコードのページがあればYahooでダウンロードすると思います。

試していないので確信はありませんが、参考まで。

284 :
ダウンロード違法化拡大となると、無尽蔵やなぜかなどのデータソースの利用はためらってしまう。
Yahooもスクレイピングを禁止しているし。

KABU+やトレステが無難かな。

285 :
>>281,282,283
御回答頂きありがとうございました もしやと思い501から533まで試しに回してみたら行けましたね
大ぴっらにするには問題も結構ありそうなのでご意見を参考にして個人的にトライしてみます

286 :
違法ダウンロード対策として

101と日経ジャスダック平均などは日経プロファイルでcsv(1年分)から取得(日経PERのヒストリカルもある)
TOPIX、業種、マザーズなどはJPXの指標で(jsonファイル 最新+過去5日分)
個別銘柄はJPX日報pdfからインポート(翌営業日)
当日引け後にチャートを見る場合は、JPXの株価検索で時系列ダウンロードも可能ではある

著作権元の許可なくアップロードされているものではなく、著作権を主張している発信元が公開しているデータを利用して、データを公開せずに個人利用にとどめれば違法ダウンロードの問題はクリアできそうな気がする。

データの蓄積、改造に該当すると指摘されて問題になるかもしれないが

287 :
株価に著作権があるかどうかは、ちょっと疑問に思ってる者ですが、ヤフーなどサイトのレイアウトにはそういうものがあるのでしょうから、それを複製したらアウトになるというのは理解できます。
東証は手数料欲しさに、株価に著作権があるかのように振舞ってるだけじゃないかと思ってます。ちなみに、なぜかの元ネタはRSSです。

288 :
任意のローソク足のところでルーラーを止めておくことが出来るようにファイル改造できないですか?

289 :
>>288
日付固定機能というサンプルコードがあります。
https://egg.2ch.sc/test/read.cgi/software/1488866170/688

290 :
>>288
ダブルクリックで水平線を描く機能がなくてもいいのならば

ChartCanvas.csを右クリックからコードの表示

OnDoubleClick内
510行 var ev = ...
511行 _currentFreeLine = ...
の2行をコメントアウト
513行 DoubleClickイベントの前に
private bool fixDate;
を追加
コメントアウトした511行の次に
fixDat = !fixDate;
を追加

OnMouseMove イベント内の
317行 int id = ...
349行 }
までのブロックを、
if(!fixDate){
317行
349行
}
で囲む

これで、ダブルクリックするごとに日付の固定と解除が切りかわるはずです。

291 :
>>290
入力ミスありました
fixDate = !fixDate;
が正解です。

292 :
>>241
>>242
Fibonacciラインのファイル更新、何度も何度もありがとうございます。
試用させて頂きましたて、どうしても分からなかったので質問させて下さい。

最新のファイルでは、1.618や、--1.618を描画する場合。
安値から高値方向にFibonacciを引いた場合も、逆に、高値から安値の方向に引いた場合も、0.618などFibonacci目盛りや符号を上下反転させる仕様を廃止されたのでしょうか。

それと、Fibonacciラインの特徴は。
仮に、目盛りや目盛りの符号を上下反転させる仕様で使うにしても。(一つ前のファイルバージョンまでの仕様のように)
Fibonacciラインを引き直したとき、高値位置を動かすと安値から高値方向に引いた場合の目盛りの表示に戻ってしまい。
逆に、安値の位置を動かすと高値から安値の方向に引いた場合の目盛りの表示に戻ってしまうのは。
これは以前のご説明にあった、引き直したFibonacciラインにはコピー元のFibonacciラインとの区別が無くなってしまうので仕方がない、という理解でよろしいですか。


お手数ですがどのように工夫して利用できるのか考えてみるための参考としたいので。

293 :
>>287
自分も著作物?と言われると違和感が非常に強いです。
判例もないようですし、法律に詳しくないので良くわかりません。
だからと言って、個人的にJPXと戦ってまでOmegaChartを利用する覚悟もないのです。

よっぽどのことがなければ、ダウンロードがバレて違法性を問われることはないだろうと思ってはいますが、小心者なもので。

一つ質問ですが、なぜかの日経平均の出来高は1桁落としているようですが、オーバーフロー対策ですかね。
日経プロファイルには残念ながら出来高がないので欲しいところです。


ウェブにOmegaのバイナリデーターを置いてクラウドのようにOmegaChartで直接アクセスした場合の動作はどうなんだろうと妄想しています。
チャート表示はさほど遅くならなくてもスクリーニングなどは遅くて使い物にならないかもしれませんね。

294 :
著作権法(定義)第二条十の三に該当する様ですね
データベース、論文、数値、図形その他の情報の集合物であつて、それらの情報を電子計算機を用いて検索することができるように体系的に構成したものをいう

295 :
>>293
>日経平均の出来高
仰る通りで、オーバーフロー対策で桁を落としました。RSSの素データだと、万株単位です。
これを10000倍すると、intの最大値を超えることもありそうなので1000倍にとどめました。

>Omegaのバイナリデータ
GoogleのFirebaseとか使って何かできないかと思っています。

296 :
>>295
わかりました。
ありがとうございます。

297 :
>>290
これはすごい。

298 :
>>292
確かにおかしな表示になってましたね。下のファイルの修正だと並びは問題ないはずです。
変更箇所は561行目からのretText()だけ。

OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その9 修正ポイントには //☆Fibonacci 20190207
https://osdn.net/users/omegachartuser/pastebin/6077

気づいてしまったんですが、フリーラインが何も引かれていない状態で、フィボナッチラインを引いても保存されないというバグがありました。
明日の作戦会議をしないといけないので、プログラムに関してはまた今度にしたいと思います。

299 :
>>290
これ、チャート右クリックしてダイアログ表示、「ルーラーの固定」をクリックでこの機能を実行。
解除は、画面のどこかをクリックしたら解除って流れにしたら、すごい良さそう。
チャート画面スクショを保存するときに使える。

300 :
>>299

Env.cs
1 [STAThread] 137行 の前に行を追加
public static bool FixDate { get; set; }

Command.cs
2 //その他 111行の前に以下を追加
FixDate,
3 //その他 288行の前に以下3行を追加
case CID.FixDate:
Env.FixDate = true;
return CommandResult.Succeeded;
4 //その他 408行の前に以下を追加
AddCommand(CID.FixDate, "日付ルーラー固定", keys, Keys.None);

MainFrame.cs
5 private ZMainMenuItem _menuMove; 78行の前に以下の変数追加
private ZMenuItem _menuFixDate;
6 this._menuMove = ... 236行の前に以下の行を追加
this._menuFixDate = new ZMenuItem();
7 397行のthis._menuLinkToInfoの後に以下を挿入
, this._menuFixDate
8 // _menuMove 512行の1行前に以下の4行を追加
this._menuFixDate.Index = 12;
this._menuFixDate.Text = "日付ルーラーの固定";
this._menuFixDate.Click += new System.EventHandler(this.OnMenu);
this._menuFixDate.CID = CID.FixDate;

301 :
>>300

ChartCanvas.cs
9 OnMouseMove イベント 317行から349行までを以下で囲む
if(!Env.FixDate){ 317行から349行まで}

10 OnMouseDown イベント 487行から
490行 if(e.Button==... の前に 以下の2行を追加
if (Env.FixDate)
Env.FixDate = false;

*ダブルクリックで固定の編集済みの場合は
追加した変数 private bool fixDate; をコメントアウト
OnDoubleClick内のコメントアウトを戻して
fixDate = !fixDate;をコメントアウトしてください

302 :
>>300
仕事早いですね b
このコード、ここでまとめてしまっても構わないでしょうか?
https://osdn.net/projects/omegachartusers/wiki/FrontPage

303 :
>>302

OKです。
著作権も主張しません。

304 :
>>303
ありがとうございます

305 :
>>283
DreamVisor の終了対応で ...DataVariousSource を導入されましたが このコンストラクターを使えば重複気味のコードがすっきりしませんか
いつもお手数をお掛けして申し訳ありませんが 一寸ためしにやってみたいのですが コードの続きをあげて頂けると助かります

306 :
どうもありがとうございます

307 :
>>289
>>290
ありがとうございます!
やってみます!

308 :
>>307
>>303さん考案の「任意のローソク足でルーラーを止める」機能をまとめました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage

通常カーソルを動かすとルーラーも追従するが、これを任意のローソク足の上で固定する機能。
固定したいローソク足の上で右クリック。表示されるダイアログから、「日付ルーラーの固定」クリックでルーラーが止まる。
解除するときは、画面のどこかをクリックする。


OmegaChart 任意のローソク足でルーラーを止める ChartCanvas.cs 追加・修正ポイントには//☆FixDate
https://osdn.net/users/omegachartuser/pastebin/6080
OmegaChart 任意のローソク足でルーラーを止める Command.cs 追加・修正ポイントには//☆FixDate
https://osdn.net/users/omegachartuser/pastebin/6081
OmegaChart 任意のローソク足でルーラーを止める Env.cs 追加・修正ポイントには//☆FixDate
https://osdn.net/users/omegachartuser/pastebin/6082
OmegaChart 任意のローソク足でルーラーを止める MainFrame.cs 追加・修正ポイントには//☆FixDate
https://osdn.net/users/omegachartuser/pastebin/6083

309 :
>>305
あくまで思いつきを提案しただけで、実際に試しているわけではなくうまくいかない可能性もある事を了承して下さい。

また、ウェブページをループで巡回する場合プログラムミスから存在しないURLリクエストや無限ループ等でサーバーに短時間でリクエストを繰り返して、重大な損害を与えてしまうことも考えられます。
場合によっては損害賠償などを請求される場合もありうる事を覚悟のうえで(定かではありませんが、何処かで見たような記憶があります)、
デバッグモードで各所にブレークポイントを置いて進行状況を確認しながらやるなどして、プログラミングに自信がなければ安易に手を出さない方が無難です。
また、ウェブページの構造が変更された場合(外観は一見同じであっても)自力で修正が必要になりますから、正規表現などについての知識が絶対に必要です。
はっきり言うと、panacoranさんから正規の対応版が出るのを待つのが無難です。

今回は、○探で業種別指数がとれるとの事がきっかけですがその業種別指数のURLが分からないので、ヤフーのドル円を例に参考コードを書いて見ます。
もしかするとYahoo.cs個別銘柄の正規表現ではデータを取れないくてエラーになることがあるかもしれません。

* ヤフーはスクレイピング禁止を明示しています。自分は実際にデータが取れるか試したわけではなく、机上の空論です。
Yahooでのダウンロードを勧めているわけではなく、コードを変更して他のサイトで利用するための参考例として投稿するものです。


ダウンロードダイアログで為替にチェックを入れて、個別銘柄とともに201(ドル円)をダウンロードする事を想定しています。

310 :
>>309

Yahoo.cs
1 38行目のコンストラクターを以下のように変更(オリジナルをコメントアウトして)
public YahooDataSource(int[] dates, List<int> list = null) : base(dates)
2 42行目 Foreach ... { の次の行に 以下の2行を追加
if (!list.Contains(brand.Code))
continue;
3 GetPageに追加したコードで呼ばれた場合にヤフーのurlに変換するための変更が必要
tryの前の行(141行付近)に以下2行を追加
if (code == 201)
url = "https://stocks.finance.yahoo.co.jp/stocks/history/?code=USDJPY=X";
* 今回は例としてドル円のみ。Yahooの中に他の指標があるかは不明

DownloadOrder.csの変更
1 139行から143行をコメントアウトして以下に変更
System.Collections.Generic.List<int> list = new System.Collections.Generic.List<int>();
if (_currencies) {
list.AddRange(new int[] { 201 }); }
if (list.Count > 0) {
var ds = new Specialized.YahooDataSource(_dateArray, list);
col.Add(ds); }

311 :
>>310

注意
数日間のデータ取得を想定しています。
長期間のデータ取得はこれではできません。
20本以上のデータを取得しようとした場合の挙動はわかりません。
オリジナルコードをよく見ていませんが、もしかすると無限ループになるかもしれません。

312 :
>>310

ミス発見

Yahoo.cs YahooDataSource 45行

if (brand.Market == MarketType.B || brand.Market == MarketType.Custom ||

if (brand.Market == MarketType.Custom ||
に変更


他にもあるかも

313 :
>>310

Yahoo.csのParsePageメソッドを見ると、200行でIndex判定をしていますが、
230行のIsIndex(int code)を見ると、日経とTOPIXだけをIndexと判定しています。
これであれば、データ保存する倍率が変わりデータ連続性がなくなるはずです。
指数判定コードの修正が必要です。


また、Yahoo.csのRun() を見ると、先にn225をデーターを取得しているようです。
これで有効な日付があればデーターを更新して、さらに追加したコード一覧_codesとTOPIXを読みに行くようです。

したがって、n225とtopixは他のデータソースも含め2度ダウンロードしてしまうことになりそうです。
確か、無尽蔵では上書きですが、
例えば、データソースをYahooに指定して為替のチェックを入れると問題を起こすかもしれません。

個別銘柄をダウンロードする際に、再び日経をダウンロードしますがこの時追加の日付がなくて個別に進まない可能性があるかもしれません。

パラメーターで渡したコードだけダウンロードするように変更するには、渡されたlistがnullかどうかをprivate のbool変数で保持して、
Run()の中で、listが渡された時には日経をスキップするようなコード変更が必要になります。

314 :
>>313

データ倍率に関しては、IsIndexを呼び出す行200を、

AbstractBrand brand = Env.BrandCollection.FindBrand(code);
var shift = 1 / brand.PriceScale;

に変更すれば良いと思います。

315 :
>>309-314

ご丁寧に教示して頂き有り難うございます ちょっとした思いつきで回答を求めた形になりすみません
コードを見ると細かいところは色々違っているようで早とちりでした
海外や業種別指数(○..は251以降)等々は別途自前のプログラムで取得していますがチャート表示には
オメガが良いのでつい手抜きで本体からもダウンロード出来ればと思ってしまいます
この時代にスクレイピング規制はどうかなとは思いますが迷惑のかからない程度に抑えておきます

316 :
>>315

自前の外部プログラムを利用しているのですね、スクレイピング知識がないものと余計な注意を書いて申し訳ありませんでした。

自分も、Zanetti.DataSource.Specializedのクラスとスレッドの使い方に関しては難しくてよく理解できない部分も多々ありコンソールアプリ等で定期的にダウンロードとOmegaへのコンバートの方が簡単と思っています。

○..は251以降ですか。
omegachartuserさんのKabutan.csも先ほど見せてもらいましたが、Yahoo.csを忠実に移植されているように思えます。
正規表現が有効であれば、Kabutan.csも同じようにコンストラクターとGetPage他諸々を変更します。
ちなみにGetPageは行233以降はこんな感じですか。
else if(code>=(int)BuiltInIndex.SI_FISHING & code <= (int)BuiltInIndex.SI_SERVICE){
code -= (int)BuiltInIndex.SI_FISHING + 251;
}

DownloadOrder.csにはif(_currencies)の前あたりに以下を追加すればいいように思えます。
if (_sectors) {
for (int i = (int)BuiltInIndex.SI_FISHING; i <= (int)BuiltInIndex.SI_SERVICE; i++)
list.Add(i);
var ds = new Specialized.KabutanSource(_dateArray, list);
list.Clear();
}


多分、数カ所のデータソースを利用することも可能だろうと想像しています。

317 :
>>316
○..は勿論頭に0がいりますが エキスパートの方に対して恐縮ですがGetPageのは最後に
以下を追加しています
else if (code >= (int)BuiltInIndexGroup.SectorIndexStart && code <= (int)BuiltInIndexGroup.SectorIndexEnd)
code = code - (int)BuiltInIndexGroup.SectorIndexStart + 251;

IsIndexにも同様に記述して指数倍率判定をクリヤーさせています
code >= (int)BuiltInIndexGroup.SectorIndexStart && code <= (int)BuiltInIndexGroup.SectorIndexEnd;

318 :
>>316

list.Clear();の前に以下が抜けていました。
col.Add(ds);

319 :
>>317
BuiltInIndexGroup.SectorIndexStartこちらの方がスッキリしてわかりやすいですね。
ありがとうございます。

320 :
>>316
code -= (int)BuiltInIndex.SI_FISHING + 251;
はマイナスになってダメですね
>>317
を参考にしてください

321 :
>>310
Kabutan.csの修正と日経除外版

34行から
private bool _listOnly; //追加
public KabutanSource(int[] dates, List<int> list = null) : base(dates) { //変更
if (list != null)
_listOnly = true;
foreach (AbstractBrand brand in Env.BrandCollection.Values) {
if (list != null && !list.Contains(brand.Code)) //追加
continue; //追加
var basic = brand as BasicBrand;
if ( brand.Market == MarketType.Custom || //変更
basic == null || basic.Obsolete)
continue;
_codes.Add(brand.Code); } }

GetPageメソッド 233行に追加
else if(code>=(int)BuiltInIndexGroup.SectorIndexStart & code <= (int)BuiltInIndexGroup.SectorIndexEnd){
code += - (int)BuiltInIndexGroup.SectorIndexStart + 251; }

ParsePageメソッド 291行を変更
AbstractBrand brand = Env.BrandCollection.FindBrand(code);
var shift = 1 / brand.PriceScale;

322 :
>>321

Run()メソッド
66行(do {の次)から92行(var retry = 0;の前)までを以下でくくって変更
if (!_listOnly) { 66行 - 92行 }
else {
var n = Math.Min(DaysAtOnce, dates.Count);
var original = dates.GetRange(0, n);
dates.RemoveRange(0, n);
_series.Clear();
foreach (var date in original) {
_series.Add(date); }
if (_series.Count == 0)
return;
_codeQueue = new Queue<int>(_codes); }


ParsePageメソッド内で matches.Count == 0 となり、正規表現による日経平均の解析でエラーが出ました。
正規表現を変更してみたところデータを取得できました。


Run()の内部のコード変更はどうかなと思いますが、十分にロジックを理解していませんので興味ある方改良してください。

323 :
さすがに速いですねこちらはゆっくり楽しんでコーディングにトライしてみます 有り難うございました
89 << 言わずもがなと思い書きませんでしたが昨年の12月にほんのページの体裁が少し変わり正規表現の変更が必要になっていました

324 :
>>308
リビルド失敗しちゃうんですけど...

325 :
>>324
あら、失礼しました。ちょっと用事があるので、夜にでも直します。

326 :
>>325
よろしくお願いいたします<m(__)m>

327 :
>>324
こちらで再現しようとすると、エラーにならないんで、たぶん修正漏れかなと思います。
一番可能性が高いのはMainFrame.csのコメントアウトするところじゃないかと思いました。

MainFrame.cs
398行目だけに「//☆FixDate」と書いてますが、その前の行の行末をコメントアウトしているのも忘れずにお願いします。
this._menuLinkToInfo//});

ChartCanvas.cs
316行目からの if(!Env.FixDate) のIF文で囲むのはオリジナルのソース(4fee7d9)でいうと316行目から349行目です。

Command.cs
288行目のcase文は、この3行を挿入してください。
case CID.FixDate://☆FixDate
Env.FixDate = true;
return CommandResult.Succeeded;

328 :
>>324
すでに何かソースを修正済みだったのではないですか?
上書きで差し替えられたファイルへの参照などが残っているためでないかと想像しますが。


順番にデバッグしてみることを勧めます。
なお、OmegaChartの場合ビルドしたファイルをコピーするのが煩わしいと思いますので、以下の方法をすすめます。


1 VisualStudioのプロジェクトファイルの履歴で区別がつきやすくなるように、エクスプローラーで例えばzanetti.slnをomega_fixdate.slnに変更します(これはしなくても良いですがVSの履歴でzanettiだらけになるとわからなくなるので便利だと思います)。
 心配であれば、ディレクトリを丸ごと複製してバックアップしておいてください。
2 変更したソリューションファイルをダブルクリックするとVisualStudioが起動します。
3 メニューの「プロジェクト」「zanettiのプロパティ」を開いて編集。
3−1 アプリケーションタブ一番上のアッセンブリ名を変更します(現在利用しているOmegaChart.exeが上書きされないようにするため) 例:OmegaFixDate
3−2 ビルドタブを開いて、一番下の出力パスを現在のOmegaChartファイルのパスに変更(dataフォルダが必要なため)。
 この時一番上の構成がDebugまたはアクティブな(Debug)であることを確認。
 *デバッグで問題ないと分かれば、最終的にReleaseに変更してパスも変えるとリリース版が出力されます。
3−3 ここで、一度デバッグを開始します。緑右三角ボタンまたは「デバッグ」「デバッグの開始」
 OmegaChartが起動するはずです。エクスプローラーでOmegaChartのフォルダを見るとOmegaFixDate.exeが新たに作成されているはずです。options.confなどもオリジナルを利用するはずです。
4 これで準備完了です。ソースを変更して随時デバッグで動くか確認しながら作業して行きます。


今回であれば、 >>290 の修正をしてデバッグで動くかを確認。
動くようであれば、>>300 の修正をチャレンジという流れです。

おそらく一手間省けると思います。

329 :
>>327
早速のご対応ありがとうございました(^^ゞ

オリジナル(4fee7d9)版で行うと正常にビルドできてomrgachartも正常に機能しました。
多分おっしゃるとおりすでに修正済みのソースでやってみたのが間違いだと思います。
お手数かけて申し訳ございませんでした。

330 :
いつもお世話になっています
OmegaChartは今は必ず個別銘柄をダウンロードする仕様になっていますが為替や指数類だけで良い場合も結構あります
ダウンロード画面のボタンチェックで個別銘柄の取得を選択できればソースの切り替えにもつながり便利だと思います
DownloadOrderを見ると180行のif(stock_ds!=null) col.Add(stock_ds);
こいつの前にスキップ変数(?)をかませばよさそうな気がしますが上手い書き方ありませんか?

331 :
Download.csのコンボボックスcomboBoxSourceに、DownloadOrder.csのプロパティStockDataSourceNames [line]37 以外のitemを追加してこれを選択するだけでできるような気がします。
試していませんのでブレークポイントを置いてデバッグしながらチャレンジしてみてください。

[file]Download.cs [class]Zanetti.Forms.DownloadDialog [method]ShowOrderGroup() [line]435
if(_currentOrder==null)の前に以下を追加
comboBoxSource.Items.Add("個別銘柄をスキップ");

追加したitemをコンボボックスで選択して開始ボタンをクリックすると OnOKが呼ばれます。
さらにStartDownload() が呼ばれてこの最初のコード
_dataSource = _currentOrder.ConvertToDataSource();
でDownloadOrder.csの ConvertToDataSource() に移るようです。

おそらく、既存のデータソースを追加していなければstock_ds=nullのまま進むように思えます。
もし、業種別指数等のデータソースを一つでも変数colに追加していれば呼び出し元に戻ってそのまま進みそういですし、データソースが追加されていなければConvertToDataSource()の[line]540で中断されるように思います。

_dataSource.AsyncProcess(this.Handle); 以降でエラーが出る可能性があるかもしれませんが。


確信はないので、参考まで。

332 :
goto文で抜ければいけるんですがスマートな書き方ですね 難しそうですがトライして見ます

333 :
>>331
うまく行くようです ただ”個別銘柄をスキップ"というメニューが2つ出てきますね

334 :
>>333

おかしいですね。
メニューというのはコンボボックスの「無尽蔵、Yahoo時系列、edatalab.bet」などのアイテムのことですよね。

コードには1行を追加しただけですから、コンボボックスの最後に「個別銘柄をスキップ」が一つだけ追加されるはずですが。
行435以外にも追加していませんか?

335 :
>>334
すみません 修正したコードを使ってました すばらしいアイデアを有り難うございました

336 :
どうもありがとうございます

337 :
株価がなぜか置いてあるサイトの2019年3月13日分がNot Foundになるのですが、ほかの方は閲覧できますでしょうか?

338 :
>>337
ご連絡、ありがとうございます。修正しました。
RSSで株価取得するところからガッツリ失敗してました。

339 :
>>338 ご対応どうもありがとうございます

340 :
>>298

最新版の更新ありがとうございました。
とても便利なツールです。

341 :
ブックマーク銘柄の株価ダウンロードをしたい ダウンロードメニューは混み合ってるから お気に入りの右クリックが良さそう
自分にできるのは右クリックメニューを表示させることくらいなので恥をしのんで またまた頼んでみる 何とかなりませんか?

342 :
善意に甘んじてあまり負担をかけるのはよくないよ

343 :
そだね〜

344 :
大まかには、

・BookmarkPane.csのInitContextMenuで項目を追加して、ダウンロードメニューを表示可能にさせる
・OmegaChartのお気に入りに作ったフォルダ配下銘柄がダウンロード対象ならば、これらの銘柄コードを取得する必要がある
 →下記のようにすれば銘柄コードを取得できる
ArrayList al = new ArrayList();
BookmarkFolder f = _treeView.SelectedNode.Tag as BookmarkFolder;
foreach(var e in f.Children)
{
al.Add(((BrandBookmark)e).Code);
}
・以下URLの情報を参考にすると銘柄指定して株価ダウンロードする仕組みができる
https://osdn.net/users/omegachartuser/pastebin/6050

UpdateOneBrand uob = new UpdateOneBrand();
uob.Update(al);//このUpdateを改造して、ArrayListを引数して、銘柄コードを取得、順次ダウンロードする仕組みに書き換える

という流れで可能だと思います。

345 :
>>344
アドバイスありがとうございました 大きな変更でなければ自分でもできるので真面目にソースを追ってみます

346 :
ということは BookmarkPane.cs にコンテキストメニュー表示、そこに例えば OnBookmarkDownloadで引数付きのUpdateを呼び出せば良くて
UpdateOneBrand.cs の改造は Updateのオーバーロード処理を書いてやれば 従来の単一銘柄だけの更新も生かせるということでしょうか

347 :
OmegaChart TradeStationスキャナから出力したCSVで株価取得に関してなのですが、
TradeStation 9.5ではCSVファイルでの出力ができなくなり、TXTファイルでの出力となっております。
また、出力されたTXTファイルを開きますと中部電力の場合
9502-NG

9502-TS
のように2つコードとともに4本値が出力されます。
この場合、TradeStationスキャナから出力したCSVで株価取得を用いて作成したOmegaChartを用いた場合、どちらの市場の値が取得されるのでしょうか?

348 :
index.txtの市場がT1,T2であれば、TSのほうの4本値が取得されるということでよろしいでしょうか?

349 :
>>346
仰る通りです。

元のUpdateOneBrand、Updateでは、画面表示している銘柄の株価をダウンロードするということで、
AbstractBrand br = Env.Frame.ChartCanvas.GetBrand();
この1行で済んでいました。

オーバーロードで、銘柄コードを格納した変数を受け取って、格納した銘柄コード分をループさせて株価取得しに行く必要があります。
foreach文などでループさせながら、次のようなコードでOmegaChartが認識できる銘柄コードかを判別します。
foreach (var cd in codes)
{
//略
AbstractBrand br = Env.BrandCollection.FindBrand((int)cd);
//略
}

受け取るのはArrayListよりもListの方がいいかもしれないですね。銘柄コードはint型と決まってるわけですから。

350 :
>>347
仰る通り、東証のレコードの方が選択されます。

これはスキャナから読み取るC#コードですが、
https://osdn.net/users/omegachartuser/pastebin/5755
CheckMarketで、福証などは排除されます。大証やジャスダックとの重複はなくなったので、ここでは問題がおきないという認識です。
もし万が一、重複したコードが通ってしまった場合は、FillDataでエラーになるのでわかります。resultのキーはユニークである必要があるからです。

351 :
>>350 どうもありがとうございます。
ざっと調べた限りなのですが、TradeStationスキャナから出力したCSVで株価取得のコードを用いて作成したOmegaChartでも、TXTファイルで出力された株価データからデータ取得ができるようです。

352 :
>>349
List型を引数にしてUpdateを書き足してみました うまく行きました どうも有り難うございました

353 :
data.cs では
public const int CREDITSHORT_OFFSET = 24;
public const int CREDITLONG_OFFSET = 28;

他の所ではすべてcreditlongがcreditshortより先に来ている このためデータエキスポートとインポートで信用残の値が逆になりトラブルのもと

DataImporter.cs の中でも以下の様になっていますね
ndd.creditlong = BitConverter.ToInt32(farm.RawDataImage, i * 32 + 24);
ndd.creditshort = BitConverter.ToInt32(farm.RawDataImage, i * 32 + 28);

いっそのこと定義をかえてCREDITSHORT_OFFSETとCREDITLONG_OFFSETを逆にしたらどうでしょう?

354 :
>>353
オリジナルのOmegaChartのデータ構造は、作者ページでDate-Open-High-Low-VolumeShort-Longの順で4バイト整数を格納したバイナリファイルと説明されていたと記憶しています。
すでに作者のページが存在しないので確認はできませんが、機能追加等で誤変更されたのではないでしょうか。

ちなみに、DataImporter.csというファイルはオリジナル、panacoran氏の最新ソースのいずれにも見当たらないですね。

355 :
そうすると逆なんですかね

356 :
>>353
まったく仰る通りですね。
公式がないので、残った資料から判断するしかないのですが、公式のFAQにあるデータ形式は、買残→売残の順でした。
メーリングリストでそれらしき情報を探っても、売残→買残 の並びである情報はありませんでした。
以前、ユーザーが多数使っていたCSV to Omegaのreadmeを見ても、「信用買残,信用売残」となっています。
ですので、Data.csだけが逆転してるように思えます。

357 :
>>356
そう言われると自分の思い込みだったかと急に自信がなくなりました。

しかし、Data.csで順番を書き換えると、過去データとの整合性がなくなります。
現在のデータソースで信用残は取れないですが、独自に信用残を追加している場合過去データを全て変更しなければならなくなります。

オリジナルには信用残のエクスポートはなく、Data.csの順番による不具合はないと思います。
他にも不具合があるというのであれば賛成しますが、
追加機能である信用残のエクスポートとデータインポートのコードを書き換えるべきと考えますが、どうでしょうか?

358 :
私は勝手に信用売り、信用買いの順で全て統一してしまいました 後はおまかせします

359 :
済みませんかきわすれました 353です 今も信用データ取っています過去データの入れ替えはできなくは無いですが結構つらいです

360 :
よほどのことがない限り、panacoranさんの方のソース変更までは至らないと思うんでご心配には及ばないと思いますよ。

DataImporter.csというのは、私が書いたコードだ思うんですが、時間とやる気が戻り次第、サンプルコードを直すという話にさせてください。
>>248https://osdn.net/projects/omegachartusers/wiki/FrontPage
について注釈を入れて置くということでご容赦ください。

・OmegaChartのデータファイル・レコードの並び順が、信用売残→信用買残という指摘があり、このサンプルコードは、信用買残→信用売残という並びを想定しているのでこのコードをご使用の際は適宜お気をつけください。

361 :
yahoo信用残時系列が売残/買残だからですかね?今となっては分かりませんね。

362 :
労力が必要となる割に、プログラムのミスでエラーになる可能性があるならかえって直さないほうがいい気がします

363 :
確かに今となってはどうでも良いとは言わないがそのままでもいいでしょうね

364 :
信用データに関してはほとんどの人が利用していないと思われ、さらに週次データであることから無駄があリます。
また、日々のデータ更新も発表日以外は前日データを参照して埋めなければならずプログラムも多少面倒です。

データをdate-open-high-low-volumeだけにして、信用残に関しては日付の週次データとしてバイナリまたはcsvでサブフォルダに保存。
DailyDataFarmを読み込む時に信用がなければDataFarmを0埋め、信用データがある場合にはメインデータと一緒に読み込んで次の日付までの間をデータを代入。
このような形にすると多少コンパクトになって無駄が省けるようにも思っています。

しかし、信用データがないとしてもデータ読み込みが劇的に早くなるかは疑問符です。
しかもデータ構造を変えるとなると、データ更新系にも影響出る可能性も無いとも言えず、かなり大掛かりになるかもしれません。

ちょっと思いついた机上の空論で、労多く功少なしといったところですから単なる話題提供としてスルーしてください。

365 :
Omegachartの自由直線はカーソルを離すと大部分が点線表示になりますよね あれは仕様ですか

366 :
クリックしながらマウスを移動して、左クリックを解除した、その部分だけが実線。残りが破線という仕様。

367 :
そうでしたか ありがとうございました

368 :
>>135
OmegaChartの初期化ファイル(ZIP)更新しました。2019年3月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
(前回と同じURLです)

369 :
ありがとうございます

370 :
株価のダウンロードを自動化したいがメニューのマウスクリックが面倒くさい 解決済みのかたいますか?

371 :
タスクスケジューラ起動で、ダウンロードする仕組みを作ったらどうですかね。

372 :
Omegaで設定してタスクに投げる それありかな

373 :
定形のGUI操作にはautoit使ってる

374 :
最初はAutoHotkey で行けるのかなと思ったけど autoitで実際に自働DLできますか
Omegachartからダウンロード設定を読み込んでそれをパラメータで渡して起動できれば良さそう

375 :
とりあえずやってみたら簡単に出来ました どうもありがとうございました

376 :

AutoIt

377 :
平日19時に自動ダウンロードするサンプル(ダイアログが出るが何もクリックせずにダウンロード開始して終了後に閉じると思う)
前提として、ダウンロードオーダーを保存して、保存した設定でダウンロードの1が表示されることが必要。
19時以降は起動するごとにダウンロードしますので、修正の余地ありです。
充分検証していないので不具合あるかもしれません。

MainFrame.cs
@ line:120 public MainFrame() { の前々行あたりに以下を追加
//-----------
private Timer _timer;
private void Timer_Tick(object sender, EventArgs e) {
Console.WriteLine("timer" + DateTime.Now.ToString());
if (DateTime.Now.DayOfWeek > DayOfWeek.Sunday & DateTime.Now.DayOfWeek < DayOfWeek.Saturday & DateTime.Now.Hour >= 19) {
_timer.Enabled = false;
//保存した設定でダウンロードメニューの最初の項目が必須
DownloadOrder o = Env.Options.DownloadOrders[0];
DownloadDialog dlg = new DownloadDialog(o);
dlg.Show();
dlg.Refresh();
dlg.OnOK(null, null); } }
//-----------

A public MainFrame(){を以下に変更
//-----------
public MainFrame() {
_timer = new Timer();
_timer.Interval = 60000;
_timer.Tick += Timer_Tick;
_timer.Enabled = true; }
//-----------

B Download.cs 526行のOnOKをpublic に変更
public void OnOK(object sender, EventArgs args) {

378 :
>>377
DLの設定を読み込むにはこういうふうにするんですね参考になります
後は起動するたびにダウンロードするのは具合が悪いので時間帯制限をするとすれば条件の手直しですぐ出来るので
意図せぬDLを防ぐために 例えば "Omegachart.exe /AutoDL”の様に引数を与えた場合だけに限れば可能ですよね
そうするとタスクスケジュラーに渡すのもすんなり行きますが他のやりかたも含めてアドバイス頂ければ助かります

379 :
>>378
起動するたびの再ダウンロードを抑制するには、最後のダウンロードした日付をファイルなどにセーブするなどいくつかの方法が考えられます。

せっかくですから、101の最終データをチェックして再ダウンロードを抑制する例を書いて見ます。

>>377 @のTimer_Tickイベント内の最初に挿入してみてください。

//-------日経最終日のチェック
AbstractBrand nikkei = Env.BrandCollection.FindBrand(101);
DataFarm farm = nikkei.ReserveFarm();
int lastdate = farm.LastDate;
if(int.Parse(DateTime.Now.ToString("yyyyMMdd")) <= lastdate) {
_timer.Enabled = false;
return; }
//--------

多分これで再ダウンロードしないと思われます。

380 :
なるほど色んなやり方を良く思いつかれますね 確かに自動ダウンロード可能でした
データが準備できていない時間帯だと取得を繰り返す様ですが取得時間帯を決めてやれば問題なさそうです
どうも有り難うございました

381 :
ttp://datadownload.php.xdomain.jp/data/daily/2019/20190403.txt
は 7277以降取れていない様ですね 本日分は大丈夫みたいですが

382 :
>>381
ご指摘ありがとうございます。直しました。

383 :
サーバーに障害が起きているのか、index.txtがダウンロード出来なくなっています。

384 :
どうもありがとうございます

385 :
なぜか株価が置いてあるサイトは、閉鎖になりそうです。BANされたっぽい。
index.txtダウンロードの件は、今確認してみると、問題なさそうですね。

386 :
もう閉まってるっぽい

387 :
2017年12月14日は普通に見れますね、一部だけ見れる理由もよくわからないのですが・・・

388 :
AngleSharp で書き換えればダウンロード速くなるかな

389 :
AngleSharpなるものを知りませんでしたが、
https://qiita.com/matarillo/items/a92e7efbfd2fdec62595
かなり良い感じですね。メンテが楽そう。

390 :
vs_community_2019 にしても大丈夫ですか

391 :
omegachartusers さんの5797<private FetchResult.Status GetPage>を使って複数ページを処理したいのですが今は最初しか取れません
開始日付と終了日付を指定する例のあそこのページとは少し違うが頁数をセットして繰り返せば済むと思ったのですがまるで駄目でした
C#は初心者なので上手く書けません。申し訳ありませんがどなたか御教示をお願い出来ませんか
...
var url = string.Format("https://...?code={0:D4}", code);
//これに"&...&page=page_count"の部分を付加して1頁以降を取得?
//var dates = new List<int>(_dates);
//var page_count = dates/DaysAtOnce; //ここは駄目っぽいので取り敢えず2で試す
page = null;
for (int i = 0; i < page_count; i++)
{
try
{
string web = url + (i > 0 ? "&ashi=day&page=" + (i + 1).ToString() : "");
using (var reader = new StreamReader(Util.HttpDownload(web)))
page += reader.ReadToEnd();
}
...
}
... 恥ずかしながら上記でこけて理由も良く分からず(forはtryの中で回しても同じでした)

392 :
エラーになってしまう場合は、そのエラー内容を書いた方が良いですよ。

ご自身でエラー原因と解決方法を探る場合は、

var url = の行にブレークポイントを設置
→ Debugモードで実行 
→ その行で一時停止したらF11ボタン押下して1行デバッグを進める
→ エラーになるまで進める

一時停止しているときは、カーソルを変数に合わせると中身が表示されますので意図通りにプログラムが動いているかを確かめられます。
また、Debugしているときだけエラーにならないとか新しい発見もあったりします。

393 :
ビルドはできるのですが実行すると最初のページしか取れないんですよ

394 :
その理由は、これです。
page += reader.ReadToEnd();
後ほど、理由は書きますね。

395 :
皆さんすごいですね
トレードステーションから排出されたデーターを複数日取得して当日以外にデーター取得できるように取り組んでいるのですが自分も難航しています。

396 :
>>394
これ、結構書き直さないとダメそうです。
質問者の方がやったのは、HTMLソースの文字列を物理的に足していっただけです。
正規表現置換で必要な情報を取るときに、最初にヒットした文字列しか取らない仕組みなので、最初の銘柄、最初の日付しか取得できないということになります。

ParsePageというところで、必要なHTMLソース文字列をbufという変数にいれて渡しています。
必要な情報はdictというSortedDictionaryというモノに入れています。
var dict = new SortedDictionary<int, NewDailyData>();

現状のコードは、1銘柄1日分しか処理しないという前提で書かれていますので、そこを修正する必要があります。
日付でループさせるのは、FetchPrices内で行い、都度ParsePageで処理すればいいのですが、ここで問題が一つ。
現状のParsePageは、1日分限定の書き方なのでParsePageは書き換えないといけないです。
銘柄loopは、RunFetchPricesで行われているので実際に書くのは日付loopから下という感じでしょうか。

銘柄loop
{
日付loop
{
GetPage
Regexで情報抽出
dictへ情報格納
}
}
return new FetchResult { Code = code, Prices = dict, ReturnStatus = FetchResult.Status.Success };

397 :
>>396
修正

銘柄loop
{
var dict = new SortedDictionary<int, NewDailyData>();
日付loop
{
GetPage
Regexで情報抽出
dictへ情報格納
}
return new FetchResult { Code = code, Prices = dict, ReturnStatus = FetchResult.Status.Success };
}

398 :
恐れていた事が起きましたね お手軽に行かないかと思っていたのが甘かったです
ソースの他の所を見ながらトライするしかなさそうですね

399 :
>>397
少しショックを受けてGetPageとParsePageを指定頁数だけまとめて処理できないか等と妄想してしまいました
ご丁寧に教えて頂き有り難うございました

400 :
400

401 :
>>396
横からすみません
現在はそのままのコードで1銘柄30本、同様のコードのUpdateOneBrandなどでも20本取れていますよね

402 :
となると最初の質問者さんは、ブレークポイントなどを使って自分の意図通りにプログラムが動いているかを確認すれば解決しそうですね。

403 :
util.cs [IsMarketOpenDate(DateTime d)]の開場日誤判定について
祝日は内閣府ウェブページのcsvより

日付 IsMarketOpenDate 内閣府発表祝日
2019/4/30 非休場 休日
2019/5/1 非休場 休日(祝日扱い)
2019/5/2 非休場 休日
2019/10/22 非休場 休日(祝日扱い)
2020/2/24 非休場 休日
2020/7/23 非休場 海の日
2020/7/24 非休場 スポーツの日
2020/8/10 非休場 山の日

市場が開いている日をOmegaが祝日と判定しているかは調べていない。

404 :
誰か教えてください。
移動平均線を増やしたいのですが?
以前どことどこを書き換えれよいのか
見たような気がするのですが見っかり
ません。連休に追加したいのですが。

405 :
移動平均の本数増やすのは拡張キットのほうで対応することになるのではないかな

406 :
内閣府から出てる休日CSVは
http://www8.cao.go.jp/chosei/shukujitsu/syukujitsu_kyujitsu.csv
これを自動的に見に行く仕様にすれば、休日チェック漏れはなくなりそう。

でもOmega起動時毎回見に行くのもなんなので、休日CSVをOmegaフォルダに保存して、更新1か月経ってるCSVだったら内閣府サイトを見に行くという感じだと良さげ?

407 :
OmegaChartのデータダウンロードはIsMarketOpenDateで市場openを判定して、これ以外はダウンロードしない仕様のようだ。
問題は、市場openを休場日として判定して、ウェブでデータを公開していても取りこぼしになるかもしれないということ。

408 :
休日と判定された日以外は立会日

409 :
12月23日月曜日は祝日ではないし、来年の祝日移動でもOmegaは誤判定すると思うが。

410 :
これを見て修正するのが確実では
https://www.jpx.co.jp/corporate/about-jpx/calendar/

411 :
>>405
ありがとうございました。

移動平均線を増や件
拡張キットのdefaultomegaから簡単に変更
出来ました。

412 :
自分はコンソールアプリでデータを取得しているので関係ないけど。
ここでは時系列データを取得している人が多いような印象を受けています。
無尽蔵など日付ごとにアドレスが異なるサイトからの取得に対して、銘柄ごとにアドレスを分けている時系列タイプのデータソースにも取得するdate配列を渡しているのがどうかなと思ってしまう。

祝日を拾ってくるのもいいけどアドレス変更やページの仕様変更でデータ取得同様ソース変更が必要になるかもしれない。

無尽蔵等JPXと契約していないと想像するサイトは将来閉鎖される可能性もあるかもしれない。
保存されている最終日付を渡して、それ以降の土日年末年始以外のデータを読み込みに行って、NoFoundであればスキップするような仕様変更を考えてもよさそうな気がしている。

>>410 このページいいね。ありがとう。

413 :
>>412
Yahoo.csをみて自分が間違っていることに気が付きました。

ソースを見るとページ内の時系列はすべて読み込んでいるようです。
データもれはないと思いました。

しかし、祝日判定の間違いで渡されたdate配列に祝日があれば出来高0の空のDailyDataを作るようです。
チャートでは祝日も表示されてしまいますね。

取引ない場合もあることを失念していました。
やはり祝日判定は必要ですかね。

おさがわせして申し訳ありませんでした。

414 :
GetPageの
using (var reader = new StreamReader(Util.HttpDownload(url)))
page = reader.ReadToEnd();

のことですよね

415 :
ParsePageの中でforeach (Match m in matches)でテーブル一覧のデータをSortedDictionaryに追加しています。
正規表現が正しければページのすべての行を読み込むと思います。

最後のreturnの直前で、渡されたdate配列のうちSortedDictionaryのキーに存在しない日付を空のNewDailyDataで追加して埋め込んでいます。

そのあとにUpdateDataFarmが呼ばれてデータを更新するようですが、ここで最初にSortedDictionaryのデーター分のDailyDataFarmを作成しています。
foreachで出来高がある場合は4本値で更新して、ない場合は空のままSaveしてデータ更新を終了しているようです。

416 :
たとえGetPageが単銘柄1日分限定の書き方でもParsePageで全銘柄時系列ループすれば良いみたいですね
ありがとうございました

417 :

一寸しつこくなるかも知れないが情報提供しますね
GetPage はデータ開始日から終了日までを単に読みに行くだけなので
データが次のページにあるときはアドレスを変えて繰り返し読ませれば良い 従って ParsePage の書き換えは不要
取り敢えず以下でOK 最初の質問者さんが失敗したのは多分 DaysAtOnceの指定値が 1ページ分以下だったせいかな

try
{
for (int i = 0; i < page_count; i++) {
string web = url + (i > 0 ? "&ashi=day&page=" + (i + 1).ToString() : "");
using (var reader = new StreamReader(Util.HttpDownload(web)))
page += reader.ReadToEnd();
}
}
...
こいつはHTML文字列を単純に読み加えるだけなので思わぬデータ重複?や不具合な文字列を拾う可能性もある
詳しくは調べていないが 3回目の読み込みでリモート サーバー エラーが出たのはそのせいかもしれない
ParsePage の正規表現変更で対応できる問題かもしれない
ただこれ以上やると指数の取得だけならまだいいが個別銘柄までとなると
サーバーに大きな負荷をかけて迷惑を起こす恐れもあるので ParsePageで必要になる新しい正規表現は公開しません
(Omegachartにとって必須ではないし自分は別プログラム使ってあちこちから好きに取っていますので悪しからず)

418 :
OmegaChartのダイアログでのダウンロードは最大2か月間の様です。
Yahoo.csも同様ですが、コードを眺めたかぎりではダイアログの次の日付以降で渡す配列が30本以上あれば銘柄ごとに複数ページを読むと思われます。
(全銘柄を読み終わったのちに残りの日付ページに変更する仕様のようです)

*株探に関しては昨年末にページ変更されて、正規表現の修正をしていないようなことを1か月前に作者が言っていたような記憶があります。
間違いかもしれませんが、300あたりから過去ログを読み返してみてください。


正規表現が正しいと仮定して、2か月間以上の過去データをダウンロードしたければ、下のようにコードを変更してダイアログで目的の日付を選択すればできると思われます。
膨大な時間がかかりそうですが。


Download.cs の ListDates() 
DateTime start = ld.AddMonths(-2); //632行 -2を-6などに変更

419 :
>>418 5797のコードであればYahooと違って、株探は複数ページは読まないですね。
失礼しました。

正規表現もオリジナルのままではだめですね。
これでどうでしょう。
var valid = new Regex(@">(?<year>\d{2})/(?<month>\d?\d)/(?<day>\d?\d)</time></th>\r\n" +
"<td>(?<open>[0-9,.]+)</td>\r\n<td>(?<high>[0-9,.]+)</td>\r\n<td>(?<low>[0-9,.]+)</td>\r\n<td>(?<close>[0-9,.]+)</td>\r\n" +
"<td>.*</td>\r\n<td>.*</td>\r\n<td>(?<volume>[0-9,]+)</td>");

420 :
>>419 C#でNetFrameWorkコンソールアプリを作成して
以下のコードで正規表現試してみてください(urlに時系列ページアドレスを代入のこと)。

using System;
using System.Text.RegularExpressions;
using System.Net.Http;
namespace ConsoleApp1 {
class Program {
static void Main(string[] args) {
var valid = new Regex(@">(?<year>\d{2})/(?<month>\d?\d)/(?<day>\d?\d)</time></th>\r\n" +
"<td>(?<open>[0-9,.]+)</td>\r\n<td>(?<high>[0-9,.]+)</td>\r\n<td>(?<low>[0-9,.]+)</td>\r\n<td>(?<close>[0-9,.]+)</td>\r\n" +
"<td>.*</td>\r\n<td>.*</td>\r\n<td>(?<volume>[0-9,]+)</td>");
string buf = null;
string url = "";
if (url != "") {
using (HttpClient client = new HttpClient()) {
buf = client.GetStringAsync(url).Result; }
var matches = valid.Matches(buf);
foreach (Match m in matches) {
for (int i = 1; i < m.Groups.Count; i++)
Console.Write("{0} ", m.Groups[i].Value);
Console.WriteLine();}} else
Console.WriteLine("コードのurl入力が必要");
Console.WriteLine("何かキーを押すと終了");
Console.ReadKey(); } }
}

421 :
あはは 盛り上がって来ましたね

422 :
連投すまぬ
@"> の所を @"<th scope=""row""><.*>と長ったらしくやってしまったが後は全部同じだった

423 :
>>391
正規表現を変えて、391のコードを

page="";//nullから変更

するだけで2ページの60本とれるような気がする(試していない)。

424 :
>>423

ただし、既存の日付データと重複するものはOmegaデータに書き込むときにエラーになるかも。

ブレークポイント作って、データ取得を確認しながらデバッグして試行錯誤するのも面白いと思うよ。

425 :
>>424

21行目を変更しないと1度ページ毎に20行以上はデータ読めないので変更必要かも。

private const int DaysAtOnce = 60; // 一度に取得する時系列の営業日数

426 :
あそこは構造上 本日分を繰り返し読み込む事になる
試しに1銘柄だけ最大の300本取ってみたら本日分だけが重複して309本取れていた
これは避けられないのでどこかでフィルターする必要がある 正規表現でも良いけど上手い書き方ないかな

427 :
>>426
本日分300本?
1銘柄で300ページ読んだのですか?
&ashi=day&page=2 から &ashi=day&page=10 と9ページを追加して読んでも、当日分しか読めなかったのですか?

毎ページごとに最終日付分が最初にあるため、これを省かなければなりません。
そもそもSortedDictionaryは同一キーをを追加できないので、そのまま実行すると、追加の段階でエラーで止まるはずで30本以上は追加できないのでは?

ParsePageの298行で追加する場所に
if (dict.ContainsKey(Util.DateToInt(date)))
を追加することで、すでに追加されているキーはスキップしてエラー回避できると思います。


根本的に改造するとなると、GetPage、FetchPricesにページ番号の引数を追加して、Run()の中でnikkei225の日付データと渡された日付配列を比較しながらページ番号をインクリメントしていく方法もあると思います。

428 :
>>426

余計なお世話かもしれないけど、膨大な複数ページを同一サーバーに連続してリクエストするとアクセス拒否やさらに続けていると不正アクセスや攻撃の疑いなどで調査されることもあるかもしれませんよ。

ページ取得ごとにある程度のウェイトをかけた方が安全と思います。
普通はThread.Sleepだけれと、このクラスの書き方はマルチスレッドを想定しているので、もしかするとTaskのように実行スレッドにウェイトをかける方法は別かもしれません。

現在であれば、Taskの非同期処理で書き換えた方がいいのかもしれない。
このスレッドの書き方はよくわからんし、調べる気にもならん。

429 :
オメガからではないが10ページ分300本サーバーの迷惑にはならない様にしている

430 :
>>429
余計でしたね。失礼しました。

別のプログラムであれば、SortedListの方が使い勝手がいいかもしれません。
indexによるキーまたはValueのアクセスもできるはずです。
同一キーの存在調査は同じく、ContainsKeyです。

Omegaのデータ更新クラスは難しくて、いろんなところに飛ぶため読んでいて腹が立ちますね。
また、データセブのときにunsafeでポインタも利用しているし。

SortedListでデーターを読み込んでバイナリに保存する方が簡単ですね。

431 :
C#は殆ど使わない方言なので読めるが上手く書けずに苦労しますわ

432 :
>>428
かなりしっかりしたサーバーでないとエラーにならずに適切に全データーを取得できないような気がするのだけど、そこのところどうなのだろう?

433 :
>>432
ウェブページの読み込みごとに適切にウェイト(1秒とか)をかけるとエラーにはならないと思います。
以前のk-dbではアクセス制限がキツくウェイトかけても数ページ読み込むとすぐにアクセス拒否されましたが。

しかし、Yahooはスクレイピングの禁止を明示していますし、カブタンでも
「複製、編集、加工等を行う行為」
「コンテンツ等を蓄積する行為」
「サーバーに不当な負担をかける行為」
などを禁止していますので、アクセス数などからスクレイピングとデータ蓄積を疑われて調査され訴えられる危険性は常にあると思います。
調査しようと思えば、プロバイダーに協力を求めれば身元はわかると思っています。

自分はこれらのページのスクレイピングをすすめているのではありません。
あくまでC#プログラミングのアドバイスをしているだけのつもりです。

434 :
株式投資メモというサイトだといろいろデータがそろっているようなのですが、こちらのサイトについて検討された方ございますでしょうか?

435 :
ここすんなり取れそうですね

436 :
k-db.comみたく東証から警告されて、突然閉鎖になるリスクはないのかな

437 :
その可能性はあるね 個別銘柄の緊急取得には良さそう 地方市場のも揃っていて簡単にCSVで300本取れる

438 :
k tanから指定日または保存最終日以降の複数ページをTaskの非同期で取得してアップデートするクラスほぼ完成。

非同期なので、ダウンロード中も他の銘柄を表示が可能(スクリーンングはダメだが)。
ダウンロード経過はステータスバーに出力。
全部を試す気にはならないが、数銘柄で試してみた。
当日分はザラ場中なので確定した終値でないが。

以下は取得ログ
2019-04-19 14:36:33 200[OK] 201 円/ドル ?code=0950
2019-04-19 14:36:34 200[OK] 201 円/ドル ?code=0950&ashi=day&page=2
201 円/ドル 60件 2019-01-24-2019-04-19
2019-04-19 14:36:36 200[OK] 525 情報 ?code=0275
2019-04-19 14:36:37 200[OK] 525 情報 ?code=0275&ashi=day&page=2
525 情報 60件 2019-01-24-2019-04-19
2019-04-19 14:36:38 200[OK] 6758 ソニー ?code=6758
2019-04-19 14:36:40 200[OK] 6758 ソニー ?code=6758&ashi=day&page=2
6758 ソニー 60件 2019-01-24-2019-04-19

439 :
最近上場した銘柄のみスクリーニングってできますか?

440 :
ブックマークフォルダーに新規上場銘柄を入れてやる

441 :
スクリーニングにするときに毎回お気に入りフォルダを選択するのがめんどいので
固定にしたいんですけどreturn _selectedFolderを
どうやって指定すればいいでしょうか

442 :
スクリーニングの条件設定画面、フィルタを「お気に入りのフォルダ」に強制的に変えるには、
ScreeningDialog.cs の一番上の方
_filterBox.SelectedIndex = 5;//0から5に変更

たぶん、フォルダ指定もしたいという話だと思いますが、それは自分もわからなかったです。
SelectBookmarkFolder.csの_treeViewを見ればできるような気もする。

443 :
>>442
やっとわかった。Bookmarkの中にBookmarkFolderという要素がある。
foreach でRoot.Children(ルートのBookmarkFolderの子供)を回して、フォルダ名で検索すれば見つけられる。
ただし、ネストが深いところにフォルダを作るとハンドリングが難しくなるのでなるべく浅いところに作る。

444 :
panacoranです

Yahoo.csで日経平均とTOPIX取得できないバグを直して、
休日の変更に対応させておきました

445 :
>>444
お疲れ様です! ありがとうございます。

446 :
>>444
たすかりますー
いつもありがとうございますー

447 :
>>444

Yahoo、K-tanなどからのダウンロードを非同期で実行する試作クラスを作成してみました。
この例では、ダウンロードダイアログのOKボタンをフックして作動させています。

銘柄間のウェブアクセスに必要以上にウェイトを置いており、試作では全銘柄をダウンロードしないようにしているのでこのままでは実用的ではないかも知れません。
簡単にY等の全銘柄ダウンロードに改変可能と思います。

バグが多いと思いますが参考にしてみてください。

pastebinで1週間の限定公開となるはずです(5/1頃まで?)。
https://pastebin.com/3bffC5aP

448 :
>>444
>>447
どうもありがとうございます

449 :
>>447
UsYahooで終了後にメニューがオフのままで、ステータスバーが表示したままで非表示にならないバグ。

745行に以下を追加(class UsYahooDownloaderのpublic async Task Start(int[] codes))
await Task.Delay(5000);
Env.Frame.Menu.GetMainMenu().MenuItems[0].MenuItems[0].Visible = true;
Env.Frame.Menu.GetMainMenu().MenuItems[0].MenuItems[1].Visible = true;
base.Disopse();

450 :
panacoranです

>>447
そのコードが私のコードベースに取り込まれることはありません
私が書いた株価取得コードはすべてProtraからの移植です
バグ修正等の共通化ができなくなるので、
OmegaChart独自の変更を取り込むことはありません

451 :
>>450
了解しました

452 :
447
は全銘柄ダウンロードより少数の銘柄の取り直しに役立ちそうですが銘柄コードをファイルから読み込んで処理する様にできませんか

453 :
>>452
Download.csに追加した、case "Yahooテスト"の部分を書き換えれば簡単にできると思いますが。

その程度は、ご自身でファイルの読み込み等ググってチャレンジしてください。

454 :
そうそう切りが無いしね

455 :
しかし出来ない奴は全く駄目だからね 無理 ムリ むり 連休ひま

456 :
やる気がある人はどんどん応援したいとは思う

457 :
そうですよね 絶対に無理は無いはず

458 :
冷やしたご飯なら、明日食べればいいじゃない。

459 :
盛大に誤爆

460 :
>>447
コードを試させて頂きました いつもありがとうございます 間違っていたらすみません 他の場合はデータ更新されるのですが
Y... テストの場合 「終了しました」と表示されますが実際にはデータ更新されていないようです 試された方々如何でしたか

461 :
>>460
こちらのミスです、

679行付近の以下の行
if (brand.Code == 102 | (brand.Code > 3900 & brand.Code < 3920)) {//brand.Code == 102 |
と対応する「}」693行付近をコメントアウトしてください。
テストを実行すると、101、6758、7203、9984、7974がデータ更新されるはずです。

* 手元にあるコードは編集後のため、アップしたコードの行番号が多少ずれている可能性があるかもしれません。

コメントアウトした部分は、全銘柄ダウンロードする場合のテストのための絞り込みで付け加えたコードです。
ダウンロードする5銘柄が条件に含まれていなかったため、ダウンロードがスキップしていました。

462 :
レス有難うございます 動作確認しました ついでに今まで避けていたファイルからの銘柄更新に活用させていただきます

463 :
月足切り替えしたとき、画面切り替えにすごい時間がかかることに気づいて、原因を探ってみました。

不具合が出る条件
・MACDなどオシレーター表示
・IPOなど足の本数が少ない銘柄
・月足・週足などへ切り替えるタイミング

原因
MACDなどオシレーター表示時、計算する都合上、本数が足りない初日付近ではMACDが表示されないが、そのあたりを処理するときに不具合あり。
該当コードは、ChartDrawing.cs RecalcFormat()の中の//オシレータゾーンと書いてあるあたりから。
ChartUtil.SelectGoodValueの引数が、infinityで渡されてしまう場合があるため。
maxやminに初期値が入っていたら、op.SetScaleValues(1, 0, -1); と処理させれば回避可能。

464 :
>>463
ChartDrawing.cs には4か所見当たりますが以下の全部をop.SetScaleValues(1, 0, -1);に変えるのでしょうか
op.SetScaleValues(1, 0.5, 0);
op.SetScaleValues(1, 0, -1);
op.SetScaleValues(m, 0, -m);
op.SetScaleValues(mid + pitch, mid, mid - pitch);

465 :
op.SetScaleValues(mid + pitch, mid, mid - pitch);
これが書いてあるelse句内の4行を、さらにIF文で制御するっていうことですね。

if (min == Double.MaxValue || max == Double.MinValue)//新規
{
op.SetScaleValues(1, 0, -1);//新規
}
else//新規
{
double mid = (max + min) / 2;//オリジナル・コード
double pitch = ChartUtil.SelectGoodValue((max - min) / 2);//オリジナル・コード
mid = pitch * (int)(mid / pitch); //四捨五入しての整数倍//オリジナル・コード
op.SetScaleValues(mid + pitch, mid, mid - pitch);//オリジナル・コード
}

op.SetScaleValues(1, 0, -1);
これが正解かどうかはわからないが、これを設定したら問題がなくなったということでした。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


466 :
有難うございました 試してみます

467 :
Windows10のパソコンで本日2019年5月6日にスクリーニングすると、エラーが出るのですがほかの方はどうでしょうか?

468 :
再起動して、確認したところ正常に戻りました。お騒がせいたしました。

469 :
>>465
これだとオシレータの表示がはみ出てしまう場合があるようですね例えば0-1ではなく0から10などの数値をとる場合などですが
4個のオシレータを全部突き抜けてチャート画面にも表示されました 月足表示の方は改善されていました

470 :
はみ出るということは、
if (min == Double.MaxValue || max == Double.MinValue)
この条件以外の時でも、
op.SetScaleValues(1, 0, -1);//新規
これを実行している、という風に見えますね。

471 :
間違えてop.SetScaleValues(1, 0, -1); を最後に付け加えたみたいです

472 :
どうしたスクリーニングができない

473 :
yahooからDLできない?

474 :
DLできました!yahoo時系列の更新が遅かっただけかな?

475 :
GW終わったら、ドル円とかダウとかのデータ取れなくなってるんですね

476 :
無尽蔵ですが、連休前(4月16日)の翌日からのデータDLを実行してます。
「2019/04/26のデータを取得中」の段階で、
「リーモートサーバーがエラーを返しました:(404)見つかりません」となり失敗して停止します。
なにか休日の関係の問題なのでしょうか?

477 :
>>476
おそらくOmegaChartの祝日判定による不具合

Util.csのpublic static MemoryStream HttpDownloadの中に

Console.WriteLine(url);

を入れて実行してみるとエラー直前にアクセスしようとしたurlが確認できるよ。

478 :
>>476

単にダウンロードダイアログの日付のコンボボックスで確認できるね。
修正版が公開されているのでは?

479 :
>>475
5月6日まで取れていますね。
いよいよDreamVisorのサーバーが止まったみたいですね。
昨年の9月9日にあつた。
下記の修正をしないといけないのでは。
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

480 :
データのダウンロード時に、株価指数と為替のチェックボックスを常にoffにするには、どう弄ればいいの?

481 :
無理に盛り上げようとしてる?

482 :
edatalabからダウンロードできなくなっているが(´・ω・`)

483 :
今見ると、edatalab自体に問題はなさそう?

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

Dreamvisor、ついに逝ったか。R.I.P.

484 :
DreamVisor終了対応上手くいっている人いますか?

OmegaChart DreamVisor終了対応の4つの.csを
Rev.8b0b2d2cで書き変えてVisual Studioのインストール
すると構文エラーメッセージが出てビルドできません。

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

どうすればいいんでしょうか?よくわかりません。

486 :
>>485
あなたの要望は、結構簡単にかなえられます。文字面にすると長いですが、慣れてきたら速いです。

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

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

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

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

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

ちなみに、実際に自分でもこの処理をして走行させてみたんですが、無尽蔵で更新してみたんですが、チェックは外れているにもかかわらず、日経平均は更新されました。
まあ、これはこれでいいのかもしれません。

487 :
>>484
「条件付きコンパイル シンボル」を空欄にしてリビルドすればいいだけじゃないの?

488 :
edatalabはなんでダウンロードできんの?(´・ω・`)

404サイトがありませんと出る。( ´∀`)

489 :
>>488
10連休対応ができていないからじゃないですか?
https://ja.osdn.net/users/panacoran/pf/OmegaChart/scm/

490 :
>>484 ヤフーからの取得分は、ファイルのコードを一部書きえ変えないといけなくない?

491 :
>>484
DreamVisor終了対応を出した後に、yahoo.cs自体が改変されてますので、エラーになるのだと思います。

492 :
「ファイル MainFrame.resx を処理できませんでした。
インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。
これらのファイルを処理するには、Web のマークを削除してください。」

ビルドすると上記のようなエラーが4つ出てビルドできません。サインインした状態でビルドしているのですが、何が原因なのでしょうか?

493 :
自己解決しました。
問題が起きるファイルを右クリックしてプロパティ画面を出して、全般タブで
「このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」
の横にある「許可する」のチェックボックスをオンにしたらエラーが出なくなりました。

494 :
「データのダウンロード」は2か月前までしか遡れないようですが、1年前ぐらいまで遡ってデータの取得をするにはどうすればいいのでしょうか?

495 :
>>494
>>418

496 :
>>495
ありがとうございます。
それと、dreamvisor終了で為替、ダウ、ナスダック、S&P、業種別指数が4/26までしか取得できない状態になっていますが、
これらを取得する方法はないでしょうか?

497 :
ちなみにデータのダウンロードはyahoo時系列でやっています。
もしかしたら無尽蔵やedatalabなら取得できるのでしょうか?

498 :
>492,493
有用な情報、サンクス

499 :
>>494
パソコンの日付を変えれば過去データ取れる

500 :
>>499
ありがとうございます。それなら簡単ですね。

501 :
あと、こんな糞ソフトいじくった所で時間の無駄

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

15年前ならまだしも、

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

負け組の溜まり場

502 :
自分のことかい

503 :
生きてたんかい
はよしねw

504 :
また負けたんかい

505 :
むしゃくしゃしていた、
人生を終わりにしたかった、
誰でもよかった、

今は反省している。

506 :
「あと、」って何なんだろうな。何の続きなんだか。
証券会社のツールはデータが少ないし、大抵はomegachartより低機能で使いづらいと思うけど。
こういったツールに限らず、最近のソフトウェアは全般的に程度が低い気がする。

507 :
それは癖 幼稚な話の切り出し方や続け方で「あー」や「えーっと」と同レベルだが内心の動揺や緊張の表れの場合が多い

508 :
何かの話の続きなのであれば別に不自然ではないし、フォーマルな場面でなければそれぐらいで幼稚とまではいかないでしょ。
>>501の場合は最初のレスでいきなり「あと」なんて言ってるからおかしいんだろ。

それはさておき、為替とかダウとかが取得できないのはどうにかできないのかな?

509 :
証券会社のツールで勝てないやつが、

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

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

自Rる前にやめとけよ

510 :
今日も損した。
なにもかもいやになった。
周り中ぶち壊してしにたい。

511 :
幸せそうに歩いているやつらが、にくい。
そういうやつらならだれでもいい、ぶんなぐってやりたい。
お前たちがしあっわせなぶん、おれが地獄にいるんだ。
ゆるさない。
お前たちは子供ができないだろう。

512 :
神社の絵馬に、お前たちのことが書いてあるかもしれない。

513 :
障害者が彼女を作るなんてやめてほしい。
子供を自力で育てるのか?
他人に依存するのはやめろ。
こっちもいそがしいのに、なんで他人の世話なんかのために、余計な仕事をしなかいけないんだ。
ふざけるな。

514 :
損した人が湧いて出た。

515 :
>>510
なんで毎日毎日負けるか教えたろか?

Rチャート使ってるからやで

はよ気づけよ

516 :
なんでRチャートで負けるか?

過去のチャートしか見れないからや

昨日の天気見て、明日の天気がわかると思うか?

知恵遅れはこれがわからない

517 :
昨日の天気見て予想するより、

当日、外の天気見た方が晴れか、雨かよくわかるやろ

頭の固いバカジジイは、

株の聖杯があると思って必死こいてプログラム作り

そんなもんねーよバーーーーーカ

518 :
それじゃあしぬよ。

519 :
負け犬が連投で大騒ぎだねー
相場の肥やしに感謝しなきゃな(^^)

520 :
勝ってるフリはいいよ

本当に勝ってるアピールするなら画像ウプな

トレーダーなら当然だろ?

521 :
負けてるやつほど、

論点ずらして勝ってるアピールするんだよな

もうバレバレなんだよ

やめろよ

みっともねえからさ

522 :
やめろよ みっともねえからさ

523 :
「過去のチャート」とか意味不明すぎてそれこそ知能低そう。
チャートっていうのは過去から現在までの値動きのことでしかない。
そして過去のデータが多いほど情報量が多いのも当たり前のことだし、多い方がいいに決まっている。

524 :
画像なんていくらでもねつ造できるし、株とかアフィリエイトとかで腐るほど嘘吐きペテン師がいるけどな。

まあ、>>510みたいな奴には個人的にはある意味では期待してるけど、>>521みたいな奴は何やっても駄目な奴って感じで糞みたいな奴だなって思う。

525 :
あぁ、ピコさんか

526 :
ま、クズは何をやらせてもクズw
本人が一番わかってるだろうがな

527 :
あらしは相手にしないのが一番だよ

528 :
為替、ダウ、ナスダック、S&P、業種別指数の取得をできるようにしたい・・・

529 :
もうすんだ話だが

530 :
というか東証の市場区分見直しがどうなるかのほうが気になるな

531 :
>>528さんには
誰かさんが作った「米国ヤフーからオメガチャートデータへ」が
よいと思って検索したが消えていた

532 :
>>531
結局、コードのどこを修正すればいいんでしょうか?

533 :
「条件付きコンパイル シンボル」を空欄にしてもビルド失敗するんですよね
で、諦めたと。

534 :
DreamVisor終了対応を作ってくれた方
大変お世話になっております。

DownloadOrder.cs
DataSource.cs
KenMille.cs
Yahoo.cs

これらを最新版8b0b2d2cに書き換えても
どうもその後KenMille、Yahoo等で構文
エラーメッセージ等が出てビルト出来ません。
それとYahoo側に変更があるとも言われています
のでどうぞ最新版再度アップデートお願い致します。
すいませんよろしくお願いいたします。

535 :
>>533
そんなことはとっくにやってる。
自分が言っているのはビルドに失敗するという話ではなくて、米インデックスと為替がダウンロードできないって話。
dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。

536 :
>dreamvisor終了後は日経のtopixしかダウンロードできなかったから困ってる。 X

dreamvisor終了後は日経とtopixしかダウンロードできなくなったから困ってる。 〇


一応、CSV2Omegaで自分でメモ帳とかを使って新しいデータを加えていけば対応できるにはできるんだけど、当然めんどくさいわけだから今までのように自動的にダウンロードできればいいんだけど。
どうやら結構大幅なソースの変更をしないとできないらしい。

537 :
最新版作るように促すのは作者さんに負担かけすぎじゃない
たまたま作ってくれたらありがたく利用させていただくくらいで考えておかないと・・・

538 :
もう十分対応してもらった そろそろ限界 自分でなんとかしなきゃ

539 :
そういえばomegachartの作者である岡嶋大介氏のタクティコっていうのがあるけど、そのツールを提供しているラガルト・テクノロジーはもう個人向けにビジネスをやってるわけではないようだね。
ホームページを見ても終了してる感じになっている。

540 :
他の人に頼んでもバージョン変更あるいはサイトのソース変更等でまた使えなくなると同じ事を繰り返します。


>>106 でpanacoranさんが「取り込むべきものを指示してもらえれば取り込みます」と書いています。
Protraでも必要であれば対応してくれるかもしれません。
自分でソースの修正ができなければお願いしてみては?


omegachartuserさんは「株価がなぜか置いてあるサイト」でデータも配信していた人だと思いますから、何か事情があったのかもしれません。

541 :
>>532
VBAで四本足をOmegaのバイナリーに直すという奴
ネット上にあるstooqその他情報源はフォーマットがバラバラなので
Omega修正は面倒らしいよ。だからこのスレに載らないのだと思う
VBAさえわかれば、かなりの時系列の指数が取り込める
ただ、データ元のフォーマットが変わるといちいち書き換えがいるので
だんだん面倒になる。無くても投資に実害はないと言えば身もふたもないが

542 :
panacoranさんはたまにこのスレにも来るようだから、米株指数と為替の取得に対応してもらえると一番いいんだけどね。

yahooファイナンスのページを見てみると、ダウ等の株価指数は時系列データが無いし、証券コードが数字じゃなくて?code=^DJIになっているから、恐らくyahooから取得することはできないのだろうね。
無尽蔵の方には「海外主要株価データー」というのはあるけど為替の方は無いし、edatalabの方にも多分置いてないんだろう。

>>541
個人的には個別株はもうやってなくて、インデックス系に集中しているから無いと実害があるんだよね。

543 :
海外指標や為替はclose時間が個別株と違うため、自分は朝にウェブで確認する程度ですが、OmegaChartで絶対必要とまで思っている人は多いのでしょうかね。
>>542 実害があるのであれば、まずご自身で何とかするのがいいと思います。


omegachartuserさん「DreamVisor終了対応」のソースをちょっと覗いてみた限りでは、301-303はUsYahooから、201,202はYahooからデータを取得しようとしているように思えます。
自分は試しているわけではないので実際にデータ更新できるかはわかりませんが、
どうしても自動ダウンロードをしたいのであれば、ブレークポイント等を活用してご自身でデバッグを繰り返してビルド可能になるよう修正してみてはどうでしょう。

Omega本体のバージョンをダウングレードして試すのもいいかもしれません。

544 :
>>543
ありがとうございます。そのソースコードを検証してみます。

545 :
>>542
ETFに世界の指標や金穀物等商品連動ありで
探せば特別な苦労無しに有益情報を得られる
投資対象が指数連動限定ならそれをウォッチすればいいと思う
index.txtを一覧と見立ててお気に入りにとりこんでみては?

546 :
日経ならむしろ日経225貢献度の高い銘柄上位が監視銘柄
ファトリ・ソフバン等

547 :
自分はYahoo.csを移植してマルタンから主要指数類を取得していて海外指数はUSYahooから取れる様にしたが
それをさらすのは問題が起きそうなので止めておくが簡単に為替や海外指数を取得するにはケンミレを使えば良い
KenMille.csの以下の所とdownloadorder.csを修正すればOK
private static int MarketTypeToFileName(BuiltInIndex m) {
switch(m) { 以下を以下のコードを当てはめていけば解決できるはず

0200:NYダウ(アメリカ), 0203:FT100(イギリス), 0204:DAX(ドイツ), 0300:ハンセン(香港), 0305:上海総合(中国)
0499:ドル/円, 0502:ユーロ/ドル, 0600:WTI原油, 0604: 金中心限月COMEX, 0605:CRB商品指数

他にもあるよ

548 :
昔はUsYahooから世界の指標を毎朝自動更新してindex.txtもどきのuser.txtに指標を追加して利用していたが、数年前にページレイアウトが変わりダウンロードもできなくなったことがあったのでやめてしまっていた。

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

利用規約やスクレイピングに関する利用制限などの記載がどこかにあるかはよくわからない。

549 :
>>545
確かに米株指数はそれで見れるね。だけど為替が残念ながら見れない。

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

>>548
また利用できるようになればいいんだけど、対応できる人いるかな。

550 :
>>549
自分で他人に頼るな

551 :
>>548
場中の監視にはOmegaよりGMO証券のFXプラチナチャート+だね
サイズが大きいのが難点だが起動時にページのサイズを小さくすると解決する

552 :
>>547
downloadorder.csの方がどこをいじっていいのか分かりません。
ただ34行、39行、173行にkenmilleを追加しても駄目ですよね?
ちょっとやってみた感じでは_dateArrayでエラーが出てしまう。。

553 :
訂正
>>548ではなく
>>549
場中の監視にはOmegaよりGMO証券のFXプラチナチャート+だね
サイズが大きいのが難点だが起動時にページのサイズを小さくすると解決する

554 :
>>552
omegachartuser さんのDreamvisor対応に従ってkenmileを書き換える必要もありますよ

555 :
>>554
やってみたのですが、yahoo.csの347行で「変数 'skip' は割り当てられていますが、その値は使用されていません。」という警告が出てしまいます。
downloadorder.csの方は問題ないようです。

556 :
最初からやり直してみるとDownloadOrder.csで VariousEnumerator という部分でエラーが出てしまいます。

557 :
どうやらVariousの部分を何かに書き換えるということらしいけど、よくわからん。。

558 :
そういうメッセージが出るのは DreamVisor終了対応に沿ってきちんと修正していないためだと思う
最新版8b0b2d2c のコード変更箇所を見てもビルドエラーが出るような理由はなさそうだが

559 :
「そんなことはとっくにやってる。」と言っていたんじゃないのか?

Yahooの警告の行番号も違うし、自分勝手に間違って変更しているだけだろ。

560 :
つか、自分が開発者になるわけじゃないなら普通に完成版をダウンロードさせればいいだろうに。
ここで年寄りどもにプログラマー養成でもしているつもりにでもなっているのかねw

561 :
開発終了してすでに完全版といて公開されているものだから、それをありがたく使えば良いだけ。
時代の流れで使えなくなった部分は諦めればいいんだよ。

しかし、ソースコードが公開されているので努力次第で改造できるということ。
自分好みに改造したいのであれば、クレクレばかり言わずにプログラミングを勉強しろ。

562 :
>>561
すまん。
年寄りの言葉に感情的になってしまった。反省。

お詫びに、omegachartuserさんのソースとは全く互換性がないけど為替とダウのダウンロードコードを書こうとおもう。

ちょっと時間ください。

563 :
public static void UpdateFx() {
Dictionary<int, string> symbols = new Dictionary<int, string>() { { 201, "USDJPY" }, { 202, "EURJPY" } };
foreach (int code in symbols.Keys) {
string url = $"https://stocks.finance.yahoo.co.jp/stocks/history/?code={symbols[code]}=X";
using (MemoryStream ms = Util.HttpDownload(url)) {
string source = Encoding.UTF8.GetString(ms.ToArray());
string pattern = "<td>(\\d{4}年\\d{1,2}月\\d{1,2}日)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>\\s{0,1}<td>([\\d,.]+)</td>";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);
File.AppendAllText("fx.log", $"{DateTime.Now:M-d HH:mm:ss:fff} {code} {symbols[code]} 最新{mc.Count}件\r\n");
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "ソースをファイルに保存しました");
File.WriteAllText($"error_{code}_{DateTime.Now:MMdd}.html", $"< !--{url}-- >\r\n{source}");
return;}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
DateTime date = DateTime.Parse(m.Groups[1].Value);
NewDailyData td = new NewDailyData();
td.open = decimal.ToInt32((decimal.Parse(m.Groups[2].Value) * 100));
td.high = decimal.ToInt32((decimal.Parse(m.Groups[3].Value) * 100));
td.low = decimal.ToInt32((decimal.Parse(m.Groups[4].Value) * 100));
td.close = decimal.ToInt32((decimal.Parse(m.Groups[5].Value) * 100));

564 :
>>563
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");}
if (code == 201) System.Threading.Thread.Sleep(600);}
RefreshChart();
Env.Frame.SetStatusBarText("", "");}

//563と564を Command.csの494行以降(class CommandExec)に追加します。

//さらに、Download.cs(Rev.1a4c89f) 注(DownloadOrderではない方)を編集
//435行(ShowOrderGroup)に以下を追加
comboBoxSource.Items.AddRange(new string[] {"為替”、"US" });
//527行(OnOK)に以下を追加
string selectText = comboBoxSource.SelectedItem.ToString();
if (selectText == "為替") {
CommandExec.UpdateFx();
this.Close();
return;}

/*
データのダウンロードダイアログで株価データソースの為替を選択して開始ボタンをクリックするだけ。ProgressBarは機能しないが終了したらダイアログも閉じる。
例外(エラー)処理はは不完全でProgressBarも機能せず、同期処理のため終了まで固まる感じになるが、こんな感じでデータ更新できるという一つの例。
HttpClient等の非同期処理に変更するとウィンドウは固まらなくなる。
*/

565 :
omegachartuserですが、しばらく来ないうちに、私が書いたコードがご迷惑をおかけしていたようで、お騒がせをしております。
「DreamVisor終了対応¶」も含めて、これらはサンプルコードで、ご自由にお使いくださいというものでして、これをずっとアップデートさせていくのはちょっと違うかなと思っております。
私自身、パナコランさんなどコードから勉強させてもらい、平たく言いますとパクッて書いておる程度の者でして、それだったらPG初心者の皆様も私程度には書けるんじゃないかと思って始めたことでございます。

後場が始まってしまいますので、また後程。

566 :
>>563
Command.csの36行付近に以下名前空間の追加も必要です。
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;

omegachartuserさんが戻って来られたので、ちょっと勇み足だったかもしれません。
書き始めてしまったので、あまり参考にならないかもしれませんがダウは非同期処理サンプルとしてアップしようかと考えています。

567 :
    ___
   ,;f     ヽ         
  i:         i   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;   
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|

568 :
public static async Task UpdateUsYahoo() {
int wait = 600;//銘柄間のスリープmsec
int retry = 3;//タイムアウト発生時のリトライ回数
Dictionary<int, string> dic = new Dictionary<int, string>() { { 301, "^DJI" }, { 302, "^IXIC" }, { 303, "^GSPC" } };
//Windows Chromeに偽装
string useragent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36";
using (HttpClient client = new HttpClient()) {
client.DefaultRequestHeaders.Add("User-Agent", useragent);
client.DefaultRequestHeaders.Add("Accept-Language", "ja-JP");
client.BaseAddress = new Uri("https://finance.yahoo.com/quote/");
client.Timeout = new TimeSpan(0, 0, 0, 20);//秒
foreach (int code in dic.Keys) {
string symbol = System.Net.WebUtility.UrlEncode(dic[code]);
string url = $"{symbol}/history?p={symbol}";
string source = null;
int i = 0;
do {
try {
source = await client.GetStringAsync(url);
} catch (TaskCanceledException ex) {
//タイムアウトは継続してリトライ
} catch (Exception ex) { throw ex; }
i++;
} while (i < retry | source == null);
if (source == null) return;
Env.Frame.SetStatusBarText($"{url}", "");
string pattern = "<tr.*?<td.*?>([^<>]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</.*?>([\\d,.]+)</";
MatchCollection mc = Regex.Matches(source, pattern, RegexOptions.IgnoreCase);

569 :
>>568
using (StreamWriter sw = new StreamWriter("us.log", true)) {
sw.AutoFlush = true;
await sw.WriteLineAsync($"{DateTime.Now:M-d HH:mm:ss.fff} {dic[code]} {mc.Count}件 {mc[mc.Count - 1].Groups[1].Value} - {mc[0].Groups[1].Value}"); }
if (mc.Count == 0) {
Env.Frame.SetStatusBarText($"エラー {code}", "");
return; }
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), td);}}
farm.Save(Util.GetDailyDataFileName(code));
Env.Frame.SetStatusBarText($"{code} 更新しました 最新{mc.Count}件", "");
if (code < 303)
await Task.Delay(wait);}}}

//為替と同様Command.csに追加する
// >>564 でコードを追加したDownload.csのOnOKを以下に変更
private async void OnOK(object sender, EventArgs args)

// >>564 の追加コード CommandExec.UpdateFx(); の前に次の行を追加
this.Visible = false;
await CommandExec.UpdateUsYahoo();

//これで、301-303が非同期で更新されこの間はチャート操作可能です(ダウを表示した状態でデータ更新されてもチャートは自動更新されません)。
//これらの更新終了を待ってFXの更新に移り、この段階ではウィンドウが固まることになるはずです。

570 :
>>569

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

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

571 :
>>566
いえ、勉強になります。ありがとうございます。

で、続きですが、「ファイルをドロップしてデータ更新¶」というのを前に作りました。
CSVファイルにコード、日付、四本値を書いてドラッグドロップして株価更新するというものです。
この仕組みをご自身のシステムに組み入れておけば、何も手段がないよりかはマシかなと思いました。
もちろん、有志の方がご提供されているコードで問題解決になれば言うことはありません。

572 :
>>571
お帰りなさい。
過去ログでなぜかがBANされたらしいとのコメント見て心配していました。

取引もしている様でちょっと安心しました。
再び新しいいアイディアを投稿されると刺激になります。
これからも、気が向いたときでいいのでOSDN更新されるのを期待しています。

573 :
>>569
これはどこで定義?
'UpdateUsYahoo' の定義がありません
と出るのですが。

574 :
>>573
568から569の途中までを、Command.csのinternal class CommandExecの内部に入れていますか?
UpdateFx()が動いたとしたら、この前あたりにコピペすると「CommandExec.UpdateUsYahoo()」で参照できると思いますが。

Download.csにusing Zanetti.Commandsが冒頭に書かれていれば、Command.cs内部のpublic メソッドにアクセスできるはずなんだけど。

575 :
くそみたいな>>560なんぞにくれてやると図に乗るだけだよ

576 :
ヤフーでダウンロードすると、基礎になる接続が閉じられました ってエラーが出るんですけど、これ何なんでしょうか?

577 :
>>576
もしも、>>568のことを言っているのであれば
データ取得に時間がかかりすぎてタイムアウトが短すぎるのかもしれない。
client.Timeout = new TimeSpan(0, 0, 0, 20);//秒
の行をコメントアウトして見て下さい。
デフォルトタイムアウト100秒になるはずです。

これでもダメならわかりません。

578 :
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー ファイル MainFrame.resx を処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。これらのファイルを処理するには、Web のマークを削除してください。 zanetti

とエラー出てコンパイルできないんですが、これは何なんでしょうか?

579 :
今度はコンパイルは成功しますが、bin/Releaseの中が空っぽで何もない....

580 :
>>579
ググって調べて見て下さい。

581 :
>>478
>>492 にも同じ話題がある

582 :
>>581
>>478>>578の間違い

>>578は過去ログをチェックして見て下さい

583 :
>493 で解決しました。

あと、オリジナルソースでコンパイルすると、株価が10倍で表示されるのですが、何がおかしいのでしょうか?

584 :
オリジナルソースコードをコンパイルして、株価データをダウンロードすると、その部分だけ、10倍になります。

今まで、オリジナルソースコードをずっと使っていました。

585 :
>>584
オリジナルとは何?

想像するに、 panacoranさんのnormal-dataバージョンのことでしょうか?
これだけでコンパイルしているのではなく、Yahoo.csなど一部新しいファイルに置き換えているのでは?

最近の panacoranさんのソースは個別は10倍化固定と思います。
確認まではしていないので、更新したデータソースのファイルのコメントを読んで見るのがいいかもしれません。

586 :
>>585
そうです。ノーマルデータバージョンで新しいファイルに置き換えています。

去年11月にコンパイルした時は、普通に表示されました。

587 :
>>586
panaceanさんはノーマルデータに対するバージョンアップはしていないのだと思います。

自分である程度コードを理解できなければ、ノーマルコードのままファイル変更は禁止と考えたほうが良いです。
コンパイルエラーで実行ファイルができなければよかったのですが、10倍化以外にも不具合が出る可能性もあります。

対処法、@からBのいずれかが思いつく。データをバックアップすること(最悪戻らないこともある)
@ panacoranさんのnormal-dataバージョンに全て戻してコンパイルし直す(新たな機能は諦める)

AYahoo.csであれば、189行を
var shift = IsIndex(code) ? 100 : 1;
に変更する
すでにダウンロードしたデータが戻るかは?
edatalab.csを変更していなければ、データソースで日付を指定して試すのが良いかも
Aは他の不具合が発生する可能性もあるので、コードを読めない人はやめたほうがいい。

B全体を最新ソースに変更してコンパイル
確信はない。
edatalab.csなどで異常日に遡り再ダウンロードすれば正常化する様な気がするが、自信はない。
ダメであれば、過去データを諦めること。

588 :
>>587
ありがとうございます。
あと、
303名無しさん@お腹いっぱい。2017/11/18(土) 20:16:18.53ID:yltEXmxU0>>304
楽天RSSから株価取得するサンプルコードです。
ttps://osdn.net/users/omegachartuser/pastebin/5672

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


これをコンパイルしてみたんですが、楽天RSSで株価DLさせてみると、楽天RSSが起動していません とエラーが表示されます。

NDde.dllに問題があるのでしょうか?

589 :
>>588
ヤフーファイナンスに蹴られる件は、.NET Frameworkのバージョンを4.7.2に上げてみる

RSSの件は、RSSが動く基本条件は、マケスピの起動とRSS.exeの常駐起動が条件です。
RSSに関しての基礎知識に関しては以下のサイトでご確認ください。
https://www.rakuten-sec.co.jp/MarketSpeed/onLineHelp/msman1_11.html

590 :
Command.csの36行付近に下記を記載していますが
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Net.Http;
httpsとか大文字小文字等変更しましたが
この様なエラーメッセージがでます。

Command.cs(39,18,39,22): error CS0234: 型または名前空間の名前 'Http' が名前空間
'System.Net' に存在しません (アセンブリ参照があることを確認してください)

591 :
>>590
ソリューションエクスプローラーの参照から「System.Net.Http」を追加してください。

592 :
>>568
ソリューションエクスプローラーでSystem.Net.Httpへの参照も追加してください。

593 :
>>589
RSSは、昔作ったRSS対応オメガがちゃんとデータを取っているので、ちゃんと動いているようです。(´・ω・)

動かない理由がよくわかりません、

594 :
>>563
>>590
>>591
どうもありがとうございました。無事にインストール出来ました。
早速為替、Dau、Nasdaq、SP500のデータ取った処
1月3日から為替、US指数は終値だけだつたのがローソク足になった
のは良いのですが5月7日Dreamvisorが止まった日から
昨日28日までが日にち順が逆転しチャート幅が縮まり描かれています。
5月7日からデータ順が逆になって入力変換されている様です。
これは何故でしょうか? 

上記と関係無いと思いますがビルト時に下記のメッセージが出ていました。

Command.cs(564,58,564,60): warning CS0168: 変数 'ex' は宣言されていますが、使用されていません。

595 :
>>594
思い当たる原因は察しがついていますが、

@為替はどうですか
A5/7からの日付順を教えてくれませんか?
Bまた、チャート幅がチャート幅が縮まりとはどんな状態でしょう?


なお、warning CS0168はエラーではないので無視してください。
気になるようであれば
catch (TaskCanceledException ex) {
Console.WriteLine(ex.Message);//タイムアウトは継続してリトライ
とでも変更してください。

596 :
>>563 >>564 >>568 >>569 修正が必要です
日付順に不具合が発生したようです。

為替、Usともに
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
から、約9行下の
farm.Save(Util.GetDailyDataFileName(code));
の間を以下のように変更してください
*** UpdateFx()の場合は出来高ないので、td.volume = ... の行は必ずコメントアウトしてください

SortedDictionary<DateTime, NewDailyData> prices = new SortedDictionary<DateTime, NewDailyData>();
foreach (Match m in mc) {
if (DateTime.TryParse(m.Groups[1].Value, out DateTime date)) {
NewDailyData td = new NewDailyData();
td.open = (int)(decimal.Parse(m.Groups[2].Value.Replace(",", "")) * 100);
td.high = (int)(decimal.Parse(m.Groups[3].Value.Replace(",", "")) * 100);
td.low = (int)(decimal.Parse(m.Groups[4].Value.Replace(",", "")) * 100);
td.close = (int)(decimal.Parse(m.Groups[5].Value.Replace(",", "")) * 100);
//UpdateFx()では以下はコメントアウトしてください
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策
prices[date] = td;}}
var farm = (DailyDataFarm)Env.BrandCollection.FindBrand(code).CreateDailyFarm(mc.Count);
foreach (DateTime date in prices.Keys) {
farm.UpdateDataFarm(int.Parse(date.ToString("yyyyMMdd")), prices[date]);}
farm.Save(Util.GetDailyDataFileName(code));


なお、今気が付きましたがUsYahooの時系列は、当日ザラ場中のデーターも加えられているようです。

597 :
>>595
@為替も逆転チャートになっています。
A5月6日、28、24、ーー9、8日、7日
Bローソン足幅は同じですが縦線が毎日入っていて
 格子状に見えます。日付がこの毎日付いて2019年
 の2だけが連続しています。

598 :
>>594
不具合で迷惑かけてすみませんでした。
日付ソートせずに、こちらで試した時には問題なかったので確認不十分でした。
念のためバックアップとして、表示のおかしい銘柄をそれぞれcsvでエクスポートしておいてください。
あるいは、201-303までのファイルを別フォルダにコピーしても良いです。

596を読んで、コードを変更してみてください。

これでビルドして再度為替を実行してみてください。
可能性は低いかもしれませんが、うまくいけばダウンロード済みデータ修正されるかもしれません。

チャート表示があいかわらずおかしければ教えてください。
データ修正方法を考えますのでちょっと時間をください。

もしかすると、修正したcsvをomegachartuserさんのドラッグドロップで修正を利用すれば治るかもしれません。

** 米国ザラバ中に更新するとダウなどは確定値ではありませんが、引け確定後に更新すると過去データは上書きされるので確定値になるはずです。

599 :
>>597
データ修正方法を思いつきましたので、日中にはアップできそうです。
もしもチャート表示が正常に戻ったのであれば教えてください。


レスの投稿は行と文字制限があるため、少しでもコードを短くしようとした結果不具合になってしましました。

600 :
//日付データ順の修正 >>597
public static CommandResult DateSeriesFix() {
AbstractBrand br = Env.Frame.ChartCanvas.GetBrand();
byte[] buffer = br.ReserveFarm().RawDataImage;
SortedList<DateTime, int[]> list = new SortedList<DateTime, int[]>();
int recCount = buffer.Length / 32;
for (int i = 0; i < recCount; i++) {
int[] price = new int[8];
for (int j = 0; j < 8; j++)
price[j] = BitConverter.ToInt32(buffer, i * 32 + 4 * j);
if (DateTime.TryParse(price[0].ToString("0000/00/00"), out DateTime date))
list[date] = price;}
string filename = Util.GetDailyDataFileName(br.Code);
byte[] buf = new byte[list.Count * 32];
{int i = 0;
foreach (int[] pr in list.Values) {
for (int j = 0; j < pr.Length; j++) {
byte[] byteArray = BitConverter.GetBytes(pr[j]);
for (int jj = 0; jj < 4; jj++)
buf[i * 32 + jj + 4 * j] = byteArray[jj];}
i++;}}
using (FileStream fs = new FileStream(filename, FileMode.Create)) {
using (BinaryWriter w = new BinaryWriter(fs)) {
w.Write(buf);}}
RefreshChart();
return CommandResult.Succeeded;}
//使い方 CommandExecのAboutBox()の前に上記コードをコピペ
//AboutBox()の内部1行目あたりに以下を追加
DateSeriesFix();
//日付の異常ある銘柄を表示してヘルプからバージョン情報をクリックすると表示銘柄のみデータが更新されます。
//これを銘柄を変更しながら繰り返す 念のため修正したいデータファイルを別フォルダにコピーしておくこと

601 :
>>593
今試してみたんですが、動きますね。データ更新されました。
(私の環境は、Win10、Visual Studio 2017、 .NET Framework 4.7.2)

ちなみ、ダウンロードする際、複数日ダウンロードしようとするとエラーになりますが、RSSですので当然の結果であり、そこはサンプルコードということでご容赦ください。

602 :
>>601
ベースとなるソースのバージョンは、8b0b2d2です。

603 :
>>601
エラー RSSが起動していません と出ます。

NDdeを参照か、NuGetから呼び出し

これがよくわからないんですが、NDde.dllをオメガのフォルダにコピーして参照すればいいんでしょうか?

NuGet とは?よくわかりません。

604 :
>>601
環境は、Visual Studio 2019 以外は一緒です。

何とかして動かしたいです。

605 :
>>600
修正が終了したら、AboutBox()に追加した
DateSeriesFix();
を削除してください。

本来であれば、メニューあるいはキーボードショートカットに追加するのですが説明が面倒なので,
ほとんど利用しないだろうと思われるメニューを拝借しました。

606 :
>>603
なんでググらないの?

607 :
>>603
nuget ndde
だけでいくつか日本語ページがヒットして
中には懇切丁寧に画像付きで説明してるページもある

608 :
必要最低限のことは自分で調べてそのうえで分からないことを質問するようにしよう!

609 :
>>607
ndde.dllを参照しなくていいということでしょうか??( ´Д`)?

610 :
>>608
もちろんググってはいるのですが、わかりません。

611 :
>>609
なんでコピーして参照するの?
ググったページを参考に参照するあるいはNugetパッケージマネージャーで「ndde」を検索してインストールすれば使えるのでは?

自分は楽天RSSは使うつもりがないので間違っているかもしれないけど、
ググったページをよく読んで見たら解決しないかな?

612 :
>>609
もしかして、ちゃんと楽天RSSをインストールしたディレクトリのdllを直接参照してマーケットスピードとRSSを動かしている状況でもエラーが出るのであれば、何か別に原因があって動かないのかもしれない。

この場合は、dllの参照を一度削除してから、
VSの「ツール」「NuGetパッケージマネージャー」「ソリューションのNuGetパッケージマネージャーの管理」
と辿れば、左上の参照をクリックして、その下の検索ボックスで「ndde」を検索すると一つだけヒットするのでこれを選択してインストールして見てください。

ググったらたくさん情報があるとはこの操作のこと。
ddlを手入力で参照しなくてもインストールの過程でダウンロードと参照を勝手にしてくれるはず。

これでも解決しなければ、dllそのものの問題かマシンの問題と思うので解決は困難です。

613 :
>>609
当然確認していると思うが、エクセルではRSSが機能しているんだよね。
エクセルで動いているのであれば、楽天に確認してもダメだろうね。

DDEは古い技術なのでいつサポートが切れてもおかしくない。
もしかするとVS2019でサポート外になっているとか?
omegachartuserさんはVS2017で動いているようだから、VS2017または2015でコンパイルして見るのも良いかもしれない。

614 :
>>612
NuGetを使おうが使うまいが、同じdllを参照するということでしょうか?

615 :
割り込みすみません。

質問者さんは、Nugetでnddeのインストールは既に行ったということでしょうか?

616 :
>>614
そういう意味ではありません。

おそらくRSSが起動していればdllがどこにあろうとも動くとは思うのですが、NuGetを利用すればおそらくdllも新たにインストールされて適切に参照を追加してくれるということです。
手入力で問題を起こしていたり、ソリューションエクスプローラーで参照のエラーマークが出ている場合もあります。

手入力参照がダメだったのであれば、一度参照解除してNuGetを試してくださいということです。
DDEはわかりませんが、ライブラリによっては他の参照も必要な場合があり、NuGetはそれを全てしてくれます。
Nugetでもうまくいかないかもしれませんが、諦めるよりはいいのでは?

617 :
>>614
>>603 で「RSSが起動していません」であればdllの参照はうまくいっている可能性も高いかもしれません。
逆にいうとRSSを動かしていないように疑われます。

@マーケットスピードを実行しているか?
A楽天RSSを実行してタスクトレイで起動中か?
Bエクセルではデータが取得できているか

これらを教えてもらえませんか?

618 :
>>616
わかりました。とりあえずそれを試してみます。

ありがとうございます。
>>617
@ABはすべてクリアしています。

619 :
>>618
これは難しいかも。

DDEはセキュリティ上の問題がありうるはずなので、アンチウイルスソフトでブロッキングされている場合もないとは言えません。
また、WindowsUpdate等のセキュリティ更新で機能の変更などといったこともありうるかも知れません。
この場合は、エクセルでデータも取得できないと思うのでハズレかな。

エクセルでデータ取得できているならば、アンチウイルスの可能性は低そうですが、アンチウイルスオフは一度試して見てください。
これでも機能しないならば、残念ながらお手上げです。
海外も含めて、DDEで類似したトラブルがないか地道にググって見るしかないかも。

620 :
>>619
NugetからNDdeをインストールし、Releceの中に出来たファイル全てオメガチャートのフォルダにコピーしたら動くようになりました。

どうもご丁寧に教えていただき、ありがとうございました。

621 :
>>615
作者の方でしょうか?どうもありがとうございます。
これがあると夜7時を待たずに株価取れるので助かります。

DLに時間がかかるので、DLの途中で株価が更新されるとなおよいのですがw

622 :
それでも最初のDLはまだ、RSSが起動していませんのエラーが出ます。2度目で始まりますが。
やはり相性が悪いのでしょうか。。

623 :
>>597
昨晩は、いろいろ遅くまでありがとうございました。
為替、US指数が逆転すると申したものです。

US指数は正常に出来ましたが為替が取れませんエラーになります。
Omegachartのエラーメッセージが下記の様に出ます。
これは何でしょうか?

Command.cs:行 529ここはオバーフォロー対策の処の様です。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策

************** 例外テキスト **************
System.FormatException: 入力文字列の形式が正しくありません。
場所 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
場所 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
場所 Zanetti.Commands.CommandExec.UpdateFx() 場所 D:\OmegaChart\Omegachart-7bob2d2\Command.cs:行 529
場所 Zanetti.Forms.DownloadDialog.<OnOK>d__53.MoveNext() 場所 D:\OmegaChart\Omegachart-7bob2d2\Download.cs:行 537
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

624 :
>>623

為替の場合のみこの部分をコメントアウト(先頭に//を加える)または削除してください。
td.volume = (int)(decimal.Parse(m.Groups[7].Value.Replace(",", "")) / 1000);//overflow対策

コメントしたつもりですがわかりにくかったようですね。
米国ファイナンスは、1.日付 2.始値 3.高値 4.安値 5.終値 6.調整終値 7.出来高の列があり、出来高で7列目も読んでいます。
しかし、日本のファイナンスの為替には5列だけで出来高の列がないのに、テーブルの列数を超える列番号を読もうとしてエラーが出ているのです。

それぞれ別に書けばよかったのですが、違うのがこの1行だけなのであのような書き方をしました。

625 :
>>624
ありがとうございました。
早速//を加えました。

為替も正常にデータ取得できました。

出来れば様子を見てpanacoranさん
に変更依頼をして頂ければ
皆さんが早急に簡単変更出来る
と思いますので宜しくお願い致します。

626 :
>>625

ちなみに日付順は修正したコードでの再ダウンロードだけで修正されましたか?
あるいは、600ないし別の方法でデータ修正が必要だったかを,今後の参考として教えてくれませんか。

補足ですが、米国指標の出来高は1/1,000で保存しています。
オメガチャートの出来高のデータ型は整数(int)でなければならないのですが、S&Pの出来高がこの上限を超えてしまう(オーバーフローする)ために桁を落としています。
チャートで米国指標の出来高を確認する場合には1,000倍で読み替えてください。

627 :
>>626

株価データが壊れと困るので
Omegachartのレベルアップ時には
別ファイルでビルドしテスト動作確認してから
Omegachart.exeだけを通常使用している
ファイルにコピーし使用しています。

テスト環境では、当然株価データは壊れて
いると思いましたので逆転データは削除
して新しい株価データをコピーし使用し
確認テストを繰り返しましたので問題
はでませんでした。

ところでOmegachart.exeだけをいままで
使用していたファイルにコピーしたところ
基本的には問題ないのですがチャート等の
カスタマイズがOmegachartの立上げ毎に
リセットされてしまいます。
これは過去には無かったと思うのですが
何が原因でしょうか?

628 :
>>627
慎重派で素晴らしいですね。
慌ててデータ復旧のコードをアップする必要はなかったわけですか。

カスタマイズがリセットされているということはOptions.confがおかしいかもしれません。
終了時の保存でファイルの内容がすべて消失することはたまに経験しますが、この場合は即座にエラーメッセージが出るので症状はちょっと違うようですね。

Options.confをテスト環境にコピーして、デバッグで実行から終了で出力ウィンドウに何かエラー出てこないか確認するとわかるかもしれません。

オメガを終了した状態で、Options.confをリネームしてバックアップしておいて、Options.confがない状態で起動することで、初期状態のOptions.confが作られます。
カスタマイズして再起動することでカスタマイズが引き継がれるようになるかもしれません。

ただし、保存したブックマークはなくなります。
もし、正常に戻ったのであればバックアップしたファイルからメモ帳でBookmarkをコピペすることは可能です。

629 :
チャート等のカスタマイズがOmegachart
の立上げ毎にリセットされる件

今回の改良がされていない
ソースのバージョン8b0b2d2でもおきます。

私の今までの使用していたバージョンを
戻すと起きません。
バージョンは不明です。

630 :
>>629
ソースを変更したり戻したりしていると何を使っているかわからなくなりますね。

自分は、Env.csの268行のウィンドウタイトルを
public const string AppTitle = "Omega Chart Rev.8b0b2d2";
などとリビジョンまたは、わかりやすい名前に変えたりしています。
加えて、プロパティのアプリケーションタブのアセンブリ名を変えて、
「OmegaAsync.exe」などとファイル名自体を変更して実行ディレクトリにたくさんの名前が違うバージョンの実行ファイルがあります。

ビルドの出力パスでOmegaChartの実行フォルダを指定することでコピー等も必要なくデバッグしながらソース変更をしています。

さらに、ソースの場合は「zanetti.sln」をOmegaRev8b0b2d2.slnなどと変更しています。
こうすることで、VisualStudioの最近使ったプロジェクトが区別出来て便利ですよ。


バージョン情報管理としては、
zanettiのアセンブリ情報ボタンからバージョンを変更するのが一般的な方法でしょうが。

631 :
csファイルの差し替えだけで対応できればいいんだけど。panacoranさんカモン!

632 :
panacoranさんのソースコードを普通に使用しているユーザーからすると、一部の方用にカスタマイズされると逆に困るから今までどおりにしてほしいのよ

633 :
>>629
この問題は
Options.confの中のpreference項目だけが
毎回リセットされますね。

preferenceは好みですのでまさに好みの問題で
誰かが毎回ここをリセットするルーチンを通る
様にしたのではないかと思われます。

ここら辺を制御しているのはOptions.csで
コントロールしていると推測しましたが
ソフトがあまり理解できません。

どの辺かおわかりになりましたらお教えください。

634 :
>>627 >>629 >>633

最新リビション「OmegaChart-8b0b2d2.zip」をダウンロードしてデバッグで数回動かして見たところではカスタマイズの消失は確認出来ませんでした。

断定はできませんが、おそらくoptions.confが問題で正常に読めないまたは正常に上書き保存出来ていないことが原因と想像します。
panacornさんのソースだけで他に変更していなければ、セーブ失敗するとoptions.confが壊れて0バイトファイルが作成され、この時エラーメッセージが出てエラーログにも記録されていはずです。

>>200 の修正をしてあるとすれば、毎回セーブでエラーを起こしていることで変更がファイルに保存できないため0バイトファイルを作らないもののエラーのたびに前の状態に戻るはずです。
しかし、この時も同じく「オプションファイルの読み込みに失敗しました。」のメッセージが出るはずです。

最新ソースを見ても呼び出し先までは見ていませんが、Env.csに関しては以前と変更なさそうです。
起動時にInitEnv()でoptions.confを読みに行きpreference等存在すれば引き継いで、ない場合には初期化します。
また、終了時にはSaveEnv()が呼ばれてオプションファイルが保存されます。
これは仕様でpanacoranさんと使用者以外ソースを変更することはありえないと思います。


おそらくtry-catch以外の場所で、options.confの読み込んだのちのnode解析(preference、bookmark等の呼び出し先)でエラーを起こしているためエラーメッセージが出ずにその部の処理を中断しているのではないかと想像します。
デバッグモードで起動して起動後またはカスタマイズして終了後にVisualStudioの出力ウィンドウに何かエラーメッセージが出ていませんか?

635 :
>>634
誤:オプションファイルの読み込みに失敗しました。
正:オプションの保存に失敗しました。

636 :
>>634
大変お世話になっております。
OmegaChart-8b0b2d2では起きませんか?

カスタマイズの内大変微妙なのですが、全体、チャート1、チャート
2等ある内で全体は文字体明朝、ゴシック体、大きさ等をきめてい
ますがこれらはOKです。

ところがチャート1の移動平均線の太さやボリンジャーバンドのある
なし等がOmegaChartの終了でリセットされ再度立上げ時に前の状態
になりません。

昨晩申し上げた様に私の古いバージョンのOmegaChart.exeはOKです
のでPanacornさんのところの古いバージョンを調べたところ
9cd2e32がOKでした。私のバージョンはこれだと思います。

preferenceさんのEnv.csの場所の変更の件は知りませんでしたので
やってみましたがだめでした。

Env.csの制御で終了時にはSaveEnv()が呼ばれてオプションファイル
が保存されます。

との事ですのでバージョン9cd2e32以降の改良でEnv.csのタイミング
の変化が影響しているのではと思います。

明日からの土日で9cd2e32で今回の為替、US指数読み込みの変更を
入れて試してみます。

637 :
>>636
OmegaChart-8b0b2d2ですが、
ボリンジャーバンド(default.omega)2本のあるなし、移動平均線4本を太線変更共に再起動で終了時状態を引き継いでいます。
チャート1とはローソク足でチャート2とはMACD等のオシレータ表示領域のことでいいですか?
MACDの大小なども引き継いでいますし、一目もOKです。

常にではないのですね?
一部だけであれば、変更しようとしたインジケーターの問題のような気もしますね。
あるインジケーター変更したあるいは線色を変更したときに常になるという印象はないですか?
あるいは、特殊な拡張キットを利用しているわけではありませんか?

@拡張キットを別のフォルダにバックアップして、あらたにソースに添付されたdefault.omegaだけをコピーして起動。
Aこれでも起こるようであれば、options.confをリネームして起動


拡張キットにエラーがある場合はロードの段階でエラーが出るのが普通ですが、カスタマイズが一部出来なくなったという経験は今までありませんでした。
ただし、自分が切り替えて利用する使うインジケータ大体限られているのでもしかすると自分の使わないものかもしれませんが。
できたら、利用している拡張キットも書くと参考になるかもしれません。

638 :
>>636
9cd2e32であればNetFramework2.0なのでHttpClientによるUsYahooからの非同期ダウンロードサンプルは動きません。
HttpClientはNetFramework4.5以上が必要ですから、91d0ffd0(2018-12-24)以降が必要です。
WebClientのasyncに書き換えると2.0でも可能かもしれませんが(確信なし)。

リビジョンが原因とすると、
9cd2e32以降では4fee7d9fでWindows7のTLS 1.2化でEnv.csが書き換えられているだけで、
その他にはPreference.cs Options.cs CustomizedDialog.csなど関係ありそうなソースファイルの変更は見当たらない。
91d0ffd0のNetFrameWork4.7対応がもしかすると関係あるのかな?

Env.csが変更されていても、さすがに151行目
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
は関係ないと思うけど。

639 :
>>636
もしも、UsYahooの非同期を試すつもりならば、91d0ffd0(2018-12-24)で試してみませんか?
無理にすすめるつもりはないですが、それでカスタマイズのリセットが再現するかの確認を希望します。
現行のOmegaChart.exeをすぐに再利用できるように630の要領でファイル名を変更してデバッグしてもらえませんかね。

91d0ffd0はOmegaChartWikiのトップページの最近のコミットのリンクをクリック
コミットページのリビジョンのtreeをクリックすることで、zipダウンロードできると思います。
@options.confをバックアップ(そのまま再利用)
Azipソースを任意のフォルダに展開してzanetti.csprojをダブルクリックしてVisualstudioで開く
Bソリューションエクスプローラーのソリューションを選択して、右クリックで名前の変更をzanetti91d0ffd
C一度閉じて変更した名前を選択して開きなおす
Dメニュー「プロジェクト」「zanettiのプロパティ」
Eアプリケーションタブのアッセンブリ名をOmega91d0ffd0に変更
Fビルドタブの出力パスの参照をクリックして、OmegaChartの実行ディレクトリを指定
G構成はDebugのまま
出力ウィンドウのタブがなければ、メニュー表示「出力」で表示
これで一度デバッグを開始するとオメガチャートがデバッグモードで起動します。
*エラーで起動できない時は>>492 >>493を参考にエクスプローラでアクセス許可
起動後に出力タブにエラーがないか確認
カスタマイズ変更して一度終了してここでも出力タブを確認
再起動して出力タブとカスタマイズが引き継がれているかをチェック

もしも不具合なければUsYahooのコード変更を過去ログを見ながらチャレンジしてみてください。
完全に動くようになったらリリースに変更してこの時出力パスをもう一度変更しなければなりません。
デバッグの実行ファイルを起動して使い続けてもほとんど変わらないと思いますが

カスタマイズで不具合が出るようであれば、データ更新はコンソールアプリ等別の方法の方がよいかも。

どうしても9cd2e328に追加したいのであれば、Netframework4.7.2のクラスライブラリ(.NetFrameWork)を追加して、
ここにパブリッククラスを作成してOmegaのコマンドからアクセスするという方法で可能かもしれません。

640 :
>>639

お世話になっております。
9cd2e32も91d0ffd0もhttpがソリューションエクスプローラ参照に
無く残念ながら動きません。

私のCPU環境がカスタマイズの内のチャート1のopitons.cof
をOmegachart終了時に書き換え出来ないでカスタマイズが残らない
ならばEnv.csでの微妙な時間のずれが原因だと思います。

終了時に書き換える芸当はCPU性能やソフトの処理スピードにより
制御するのが難しいのです。確か以前にもOmegachartで起きていて
修正された記憶があります。

Env.csで何か簡単なソフトタイマーを挿入し逃げる策がないでしょうか?

641 :
>>639

あと、Env.csの内容を見ると"オプションファイルの読み込みに失敗しました。
も""オプションの保存に失敗しました"とのメッセージがありますがエラーに
は記載が出ていません。

642 :
>>640
9cd2e32は参照を右クリックしてもSystem.Net.Httpはないはずですが、91d0ffd0の方はSystem.Net.Httpがアッセンブリの中にありませんか?
なお、上にターゲットとして.NetFrameWork4.7.2となっているはずですが。

この参照をチェックしてつかすればHttpClientのエラーはなくなると思うのですが。
ところで、91d0ffd0もカスタマイズは反映されませんか?

時間のずれとかは関係ないと思います。
>>641はOmegaがオプションの読み書きでこれまでエラーダイアログを出していないということです。
ただし、Omegaがエラーログを出さないマイナーなエラーもまれにあります。
興味あれば、options.confをリネームしてデバッグモードで起動してみてください。
エラーが出力タブに表示されているはずです。

643 :
>>634
ここに記載がある

"最新ソースを見ても呼び出し先までは見ていませんが、Env.csに関しては以前と変更なさそうです。
起動時にInitEnv()でoptions.confを読みに行きpreference等存在すれば引き継いで、ない場合には初期化します。
また、終了時にはSaveEnv()が呼ばれてオプションファイルが保存されます。"

SaveEnv()のOption.cof内容がbookmark,preference等が並んでいてpreferenceのみ
初期値を読み取るとは思えませんね。しかも、preferenceの内のチャートのみが
リセットする。これは、カスタマイズのところのチャート1のリセットが終了時に
作動するとは考えられませんが?

これは、Env.csでは無くextensionの可能性が高いですね。
>>637のdefault.omegaをやってみます。
昼ちょつと出かけますので夜に結果を書きます。

644 :
>>643
終了時のセーブエラーがトラップされないことはまずないと思います。
エラートラップされないとすれば、Env.cs読み込み時の201行以降です。
終了時に変更はセーブされていが読み込み時にStoragenodeからpreferenceを読み込む時点で、
Preference.csの468行以降でエラーがおこってデフォルト値に変更されているのではと疑っています。
*デフォルト値が変数にセットされるのはこの部分です。
**おそらく最初の方は問題ないのでしょう、_oscillatorPreferencesか512から560の部分、特にLoadStyleでnull参照あるいは名前等が解析できないのだと想像しています。

カスタマイズが保存されているかどうかは起動前のoptions.confとカスタマイズ後終了時点のoptios.confを比較すれば大体わかります。

もしも保存がうまくいっていないのであれば、根本解決ではないもののとりあえずダイアログを閉じたときにセーブするように変更すれば修正可能ともいます。
この場所はCommand.cs584行付近で、Env.SaveEnv();を追加すればいいだけです。


91d0ffd0でもカスタマイズが反映されず9cd2e32では異常がなければ、マシンの環境によって.NetFrameWorkのバージョンが関係してるとしか思えません。
これは、不具合のある方の情報が出てこなければ原因特定難しいかもしれません。

645 :
>>644
誤変換多くすみません
言いたいのは、終了時ではなく起動時の問題を疑っていること。

修正可能ともいます。 -> と修正可能と思います。

646 :
>>644
この時点で問題なければ、次はMainFrameでextensionを読み込む時です。

MainFrameの996行OnActivatedで_asyncLoaderが初期化されるときに
IndicatorSet.csのRun()さらにLoadSchema()が呼ばれ、ここでStorageNodeに保存されたインジケータとextensionを照合します。

移動平均先などチャートのIndicatorであればここが怪しいかもしれません。
不具合のある環境でなければ、想像だけで特定困難ではあります。

647 :
>>643
まさかProgramFilesにOmegaChartをインストールしていて、NetFrameworkのアップデート後に拒否されて保存ができていないということはないよね。

拒否されるなら、銘柄データ保存も拒否されるだろうからこれは違うだろうね。

648 :
どこをどうすれば良いのか全くついて行けなくなりました

649 :
>>643

default.omegaを最新バージョン8b0b2d2の物に変更した
ところ上手くいきました。

どうもお騒がせしてすいませんでした。

ここから言い訳です。
Omegachartの良い処は、extensionの各種スクリーンニング機能やセオリー検証機能
自動売買検証機能です。これらの機能はどこの証券会社のソフトでも提供されていません。
全ての証券会社を知っていませんので断言は出きませんが。
これらはOmegachartの最も良い機能です。作者の岡嶋さんありがとうございます。

私はこの多くの分析機能ものを自作しextensionに格納していますのでOmegachart代々
同じものをコピーし使用しています。default.omegaはここに入いつており基本ですの
で変更があるとはツユ知らず大変申し訳ございませんでした。

ところでマイクロソフトのVisval Studio 2019が使用期限が後8日です等度とでます。
今後無償で提供提供されなくなるのかな?

こんごはOmegachatもLinux等の移行とかが必要になるのかもしれません。
ここを支えて下さる皆様のお知恵と努力を期待致しますありがとうございました。

650 :
>>649
とりあえず解決良かったです。

他にも同様の不具合の方がおられるようですから、今後のためにも原因となった拡張キットの構文を突き止めて公開していただければありがたく思います。
リビジョンによって拡張キットで不具合が出るのは?? とも思いますのでさらに追及できれば皆さんにも役立つ情報でしょう。
自作のキットがたくさんあるようなので大変でしょうが、ファイルをひとつづつ追加して原因特定是非ともお願いします。


原因が完全に特定できれば、誰かが余計なコード変更をしたことが原因と疑われ、
panacoranさん以外のコード変更は悪だの流れになってほしくなかったのです。
各自が自由に選択あるいは修正して使いやすいものにできるのがソースコードが公開されている利点だと思っています。

自分も2019使用していますが、その期限のマークをクリックして指示に従えば無償で継続利用できていますよ。
最初は試用期間という考えなのかもしれませんね。

651 :
>>649
よく読んでみると、default.omegaのみ差し替えたのですね。
それであれば、今まで使用していたdefault.omegaが残っているならば、差し替えたファイルとどこが違っていたのかも教えてください。

こちらでそれを利用して検証したいと思います。

652 :
>>651

WinMergeと言う比較ソフトで比較しました。
行数がなので内容で書きます。かなり多い違いがあります。

古い物1
<!-- 基本チャート -->
<indicator
target="price"
count="8"
新しい物1
<indicator
target="price"
count="3"
古い物2
<daily unit="日" default="1,5,25,50,75,150,200,260"/>
<weekly unit="週" default="5,13,26,52"/>
<monthly unit="月" default="6,12,36,60,120"/>
新しい物2
<daily unit="日" default="25,75,200"/>
<weekly unit="週" default="13,26,52"/>
<monthly unit="月" default="13,26,52"/>
<yearly unit="年" default="5,10,25"/>
</param>
古い物3
<defaultappearance style="Line,Line,Line,Line,Line,Line,Line,Line" color="Yellow,Yellow,Cyan,Violet,DarkOrange,Gold,MediumSpringGreen,Bisque,Lime"/>
</indicator>
新しい物3
<defaultappearance style="Line,Line,Line" color="Khaki,DarkKhaki,DarkGoldenrod"/>
</indicator>
次に続く

653 :
古い物4
<indicator
target="price"
name="bb_u3"
display="value+chart">
<expression>MA({0})+3*bb_sdev({0})</expression>
<title>ボリンジャーバンド±3σ</title>
<description>過去の一定期間の平均に対する標準偏差の3倍を上下に描画した線です。</description>
<header>{0}MA+3σ</header>

新しい物4
count="2"
name="bb_sdev"
display="explanation">
<expression>sdev(close({0}) - MA({0}))</expression>
<title>ボリンジャーバンド</title>
<header>{0}ボリンジャー</header>
<description>過去の一定期間の平均に対する標準偏差の2倍を上下に描画した線です。
上に抜けた状態は買われすぎ、下に抜けた状態は売られすぎを示すとされています。</description>

次に続く2

654 :
古い物5
<indicator
target="price"
name="bb_u"
display="value+chart">
新しい物5
<indicator
target="price"
name="bb_u"
display="value+chart"
depends="bb_sdev">
古い物6
<expression>MA({0})+2*bb_sdev({0})</expression>
<title>ボリンジャーバンド±2σ</title>
<description>過去の一定期間の平均に対する標準偏差の2倍を上下に描画した線です。
上に抜けた状態は買われすぎ、下に抜けた状態は売られすぎを示すとされています。</description>
<header>{0}MA+2σ</header>
<param index="0" type="positiveInteger">
<daily unit="日" default="25"/>
<weekly unit="週" default="13"/>
<monthly unit="月" default="13"/>
</param>
新しい物6
   全く無し

次に続く3

655 :
古い物7
depends="bb_u">
<expression>MA({0})- 2*bb_sdev({0})</expression>
<header>{0}MA-2σ</header>
</indicator>
<indicator
target="price"
name="bb_d3"
display="value+chart"
depends="bb_u3">
<expression>MA({0})- 3*bb_sdev({0})</expression>
<header>{0}MA-3σ</header>
</indicator>
新しい物7
depends="bb_sdev">
<expression>MA({0})- 2*bb_sdev({0})</expression>
<header>{0}MA-2σ</header>
</indicator>
  以下無し
以上

656 :
>>654
かなり多いですね。
できれば、ファイルの全行をpastebin(https://pastebin.com/)に、
Paste Expiration:(期間)を1week
Paste Name / Title:をdefault.omega
これでCreateNewPasteボタンを押してアップして
アドレスをここにコメントしてくれませんか?
(Public)であればメンバー登録やログイン必要ないと思います。

注文多くてすみません。

657 :
>>655
>>656
これで最後ですね。
pastebinnにアップしなくてOKです。
もっとありそうでビビってしまいました。

658 :
ここで思い当たるのは古い物1の私が変更したのが移動平均線を7本から1本増やし
8本にした事だけです。これが影響しているとは思えないのですが。

659 :
>>658
すべて修正した見たところ拡張キット読み込みエラーを起こしてしまいました。
こちらで変更を間違ってしまったようです。
とりあえず、MAだけ修正したのではカスタマイズも問題なさそうです。
ボリンジャーの変更が難しい。

ところで、他のファイルでボリンジャーなど同じインジケータを追加していることはないですよね。

660 :
>>658
ちなみに、panacranさんのdefault.omegaは初期のリビジョンからは41行目で年足移動平均線が追加されているだけで、Omegaオリジナルをそのまま利用しているようです。

おそらく変更されたボリンジャーは、下記のようですね
ttp://aholder.fc2web.com/omegachart/extension/bollinger.html

目視でボリンジャーの変更を修正してもエラーで訳が分からなくなったので、
移動平均を8本として、上記ページのボリンジャーバンドをコピペして実行してみましたが、
移動平均線とBBの太さ色のカスタマイズは再起動でも反映されるようです。

原因がわからないですね。

661 :
インジケーターのカスタマイズがリセットされる件

ほぼ再現できました。

@default.omegaのボリンジャーバンドを
ttp://aholder.fc2web.com/omegachart/extension/bollinger.html
に従って変更します。
Abollinger.omegaを作成して、上記ページのボリンジャーをextension(xml?)様式で保存。

これで、OmegaChartを実行するとカスタマイズがリセットされることが再現されました。
カスタマイズダイアログのインジケーターの途中からデフォルトに戻っています。
さらにカスタマイズの変更が効かないようです。

デバッグモードでもエラーは一切表示されていませんが、想像するに同じ名前のインジケーターが干渉してリセットされるようです。
ちなみに自分の環境ではエンベロープ(重複なし)と単独追加のボリンジャーがリセットされます。
これをNone(線無し)に変更して終了すると、options.confにはstyle0=Noneと変更は保存されていますが、起動するとすべての線が表示されてしまいます。
リセットする場合には、ボリンジャーに限らずインジケータの名前が重複していないかをまず確認してください。

なお、NetFramework2.0でもカスタマイズはリセットされました。
以前は正常にもかかわらず、あるリビジョンからあるいは新たにコンパイルしてからリセットされるようになった原因については不明です。

662 :
>>661
追加情報
ExtensionKitのタイトル名の重複が関係しているようです。
追加したファイルの
<info title="タイトル名"
がエンベロープと重複していました。
タイトル名を変更するとインジケーター名が別のファイルのインジケータ名と同盟があってもリセットされないようです。

新規にextensionファイルを追加する場合、
別のextensionを利用して、タイトルを変更せずにインジケーターのみ書き換えて別名セーブすると
リセットされる可能性があるようです。

663 :
>>662
拡張キットのタイトル名に重複があれば警告するためのコード変更
ExtensionKit.cs 265行のLoadを入れ替えてみてください。

public void Load(string dir, StorageNode parameters) {
//modify for alert customize error
System.Collections.Generic.Dictionary<string, string> dic = new System.Collections.Generic.Dictionary<string, string>();
_files.Clear();
string[] fs = Directory.GetFiles(dir, "*.omega");
foreach(string f in fs) {
try {
ExtensionKit ek = ExtensionKit.LoadFrom(f, parameters);
string name = Path.GetFileName(f);
if (dic.ContainsKey(ek.Title)) {
MessageBox.Show($"拡張キットファイルのタイトル名に重複が見つかりました\r\n\tタイトル名の変更を検討してください\r\n{ek.Title}\t{name} - {dic[ek.Title]}");} else
dic.Add(ek.Title, name);
_files.Add(ek);}
catch(Exception ex) {
Util.SilentReportCriticalError(ex);
MessageBox.Show(String.Format("拡張キット {0} の読み込みに失敗しました。\n{1}", f, ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);}}
Reorder();}

664 :
>>661

再現出来ましたか。
昨晩新しdefolt.omegaで上手くいったと報告しましたが実は古いdefolt.omegaの
頭に1を付けて1defolt.omegaにし新旧extentioに入れて確認をしていました。
1defolt.omegaは何ら動作しないものと思い確認していました。

defolt.omegaは新旧重なり表示されて同じ内容が重なり解らなかっただけでした。

しかし、この場合Omegachart終了時にはチャート等はリセットされません。
この状態で騙しをきかし使用すか考えていました。
>>663をやってみます。

665 :
>>664
コードを変更しなくても、
「ツール」「拡張キットの一覧」でもタイトルが確認できるので、ここで重複チェックもできそうです。

拡張子.omegaをすべて読み込んで、options.confから読み込んだStoragenode(ファイルの後半のインジケーター設定)でチェックする仕組みのようです。
無効にしてバックアップする場合は、拡張子を変えた方が良いです。

これ以外にもリセットの原因があるかもしれませんが、拡張キットが原因でも起こるということがわかりました。

666 :
>>663
ExtensionKit.csの最後373行の}で "\ExtensionKit.cs(373,1,373,2): error CS1022: 型、名前空間の定義、またはファイルの終わりが必要です。"
とエラーメッセージが出てビルドできません。

373行の}の位置は初めの24行の位置と同じ位置にあります。

667 :
>>666
編集後のExtensionKit.csは350行または+数行(コードをオートフォーマットした場合)
20行ほど多いので、おそらく265行目の1行だけを入れ替えていますね。

言葉足らずでしたが、265-279行までのメソッドを丸ごと入れ替えてほしいという意味でした。

おそらく307行付近に
public void SaveTo(StorageNode node) {
という行があると思いますから、265行からその前の行まで一度削除して、再度削除した部分に>>663をコピペしてください。

よくわからずまたエラーになったならば、一度panacoranさんのウェブページで最新ソースをtree展開するとExtensionKit.csを見ることができるので、
これに一度戻してビルドエラーがなければ再度メソッドの入れ替えにチャレンジしてみてください。 👀
Rock54: Caution(BBR-MD5:68f2ed3dc652fce4c9169aaf2a727f10)


668 :
>>667
このコメントで「Rock54」が出てしまった。
なぜ?

669 :
もう充分じゅうぶんだから

670 :
>>667
265行目の1行だけでなく265-279行までMessageBox.Show(String.Format("拡張キット {0} の読み込みに失敗しました。\n{1}", f, ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
Reorder();
}
まで入れ替えました。しかし、ここは、ツール」「拡張キットの一覧」でもタイトルが確認できるので、ここで重複チェックもできそうです。 との事ですので元に戻します。

671 :
>>667
「コ〇ペ」がNGワードとは知らなかった。

672 :
>>662
追加情報とここにありますが、ここでいろいろ試したところdefolt.omegaの頭に数字で
識別を替えてextention入れた時はリセットされませんがaaa等アルファベットの場合
にはリセットします。

私の場合1defolt.omegaを古い物にし新しいdefolt.omegaは表"示せず"にセットして
見ました。ほとんどのものはOmegachart終了させても表示せずになっていました。
とりあえずこれで良しとして明日から使用します。暴落相場を米国3指数と為替を
ローソン足で見れる事を幸いとします。

673 :
朝見たらローソク足がローソン足になってる恥ずかしい、しかし
Dau、円高がローソク足で見るとなんか凄い下げだ。

674 :
コピペ

675 :
で、panacoran版はいつごろリリースされますか?

676 :
>>662
Omegachartの終了でチャートリセットが起こる件

追加情報でタイトル名の重複が関係しているようだと
あるので調べてみましたが重複はありませんでした。
だけど起こりますので、extensionの一つ一つを消して
いったところ組み合わせRSIとRCI買場検証.Omegaを削除
すると正常になりました。

タイトルがwirでヒロノスケさんのもです。
これはだいぶ前から入っているもので今回
以前は何ら問題はありませんでした。

名前を変えたりしましたが起きますのでこれを
削除して正常に作動する様になりました。

また、組み合わせRSIとRCI買場検証とdefolt.omega
の2つだけで試したところ正常でした。
やはり組み合わせかと全て入れても正常でした。
何か手違いがあるのか???

又、判明しましたら報告します。

677 :
>>662
Omegachartの終了でチャートリセットが起こる件2

これで最終になると思います。

extensionの中に入れる拡張キットの数によりリセットされます。
最大29ケまでが限度でこれ以上入れるとリセットされます。

もしこの件で困った時は拡張キットの数を確認してみてください。

678 :
>>368
大変感謝です。

679 :
ほしゅ

680 :
panacoran版は?

681 :
失礼な奴だな

682 :
プルリク出したら?

683 :
ほしゅ

684 :
>>368
OmegaChartの初期化ファイル(ZIP)更新しました。2019年6月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
(前回と同じURLです。なので次期以降は告知なしです)

685 :
まいどおおきにぃ

686 :
データの中身少し変わりましたか 上場廃止を含めて全部あるみたいな

687 :
上場廃止銘柄を除去したことはないですね。

688 :
ありがとうございます

689 :
有難うございます

690 :
Windows7から10に移行したところoptions.confが妙に破損しやすい状況が続いています。
自分の環境では、自動売買検証では問題ないのだけれども、スクリーニングして、スクリーニング結果の画面を閉じるボタンでとじないままオメガチャートを閉じるとoptions.confが破損することが多い。

691 :
おま環では

692 :
まるで無し

693 :
ディスクが死にかけてる
そのうち一気に壊れるデータが増える

694 :
Windows10だと.Netの4.5以降で作成したソフトウェアはエラーになることほぼない
3.5以前で作ったソフトウェアはエラーになること時々あるよ

695 :
>>693
これを機会にSSDにすれば?
ツールが不調だとメンタルにも悪影響する
道具に投資しろよ

696 :
韓国の番記者なんだな、ここ

697 :
チョンなどくるんじゃねぇよ

698 :
       /::    ,...、    ::\.
      .|;;:ノ.(.   /◎ヽ   :;;;;|.
      :|;;:⌒   |◎◎|   :::;;|.
       :|゙i、',.-‐-、ヽ;__ノ,.-‐-、, l;|. 
       |;: ( ◎ )   ( ◎◎)゙.;|..
      |;::  ⌒''  (ll)  `⌒´ :;|.
      .|;:    ,==' '==、   .::;|.
       ヾ__  /十┼十ヽ   _ノ.
        `ー`===='"―''~.
ゾルゲは、サンダーフォース信.者の愚かさゆえ、今は去るであろう。
しかし、サンダーフォース信者は.いずれ、いまだサンダーフォース信者の力の及ばぬ
ゾルゲの、宇宙にあることを知る.であろう。
どうかサンダーフォース信者が自.らの愚かさを悟り、これを捨て、
正しき道に目覚めんことを望む.。
戦士/翼よ…サンダーフォース.信者の前に祝福を…
       /::    ,...、    ::\
      .|;;:ノ.(.   /◎ヽ   :;;;;|
      :|;;:⌒   |◎◎|   :::;;|
       :|゙i、',.-‐-、ヽ;__ノ,.-‐-、, l;| 
       |;: ( ◎ )   ( ◎◎)゙.;|
      |;::  ⌒''  (ll)  `⌒´ :;|
      .|;:    ,==' '==、   .::;|
       ヾ__  /十┼十ヽ   _ノ
        `ー`===='"―''~
ゾルゲは、サンダーフォース信者の愚かさゆえ、今は去るであろう。
しかし、サンダーフォース信者はいずれ、いまだサンダーフォース信者の力の及ばぬ
ゾルゲの、宇宙にあることを知るであろう。
どうかサンダーフォース信者が自らの愚かさを悟り、これを捨て、
正しき道に目覚めんことを望む。
戦士/翼よ…サンダーフォース信者の前に祝福を…

699 :
Omegaスレの皆さんいつもお世話になります

700 :
Never Never Surrender

701 :
例のヤツが必要になってきたな

702 :
ほしゅです。

703 :
今日の分のデータはみなさまダウンロードできますか?
7月19日金曜日のデータが存在する場合でも、ダウンロードしようとする日付が7月19日金曜日となるのですが

704 :
>>703
どこのデータですか。
うちは、EdataLab (株価情報)です。

705 :
うちのOmegaは、(panacoranさん版の最新バージョンも含めて)コード0151日経先物データの週足チャートで始値、高値、安値、終値、出来高、の数値を正しく表示出来ません。
今年の五月第一週目に該当するローソク足です。
例) 始値22250、高値-2147483648、安値2147483647、終値22250、出来高0

706 :
確かにその通りやね

707 :
0152と0153も一緒で個別銘柄も皆同様なので10連休のせいかな?

708 :
週足に関しては仕様通りです。カレンダー通りに週足本数を描画するので、10連休みたいに日足が0本の週も表示してしまいます。

709 :
困ったな。治してよ。ついでに為替とダウもデータ取得できるようにね。

710 :
まあ、1週分余計なのが入っているだけでチャートとして狂った状態には見えないから害はないか。

711 :
ご報告ありがとうございます

712 :
週足の出来高ゼロの場合もゼロ埋めできるのかな

713 :
■ 栃木ゲーセン事情77 ■
https://medaka.2ch.sc/test/read.cgi/gecen/1560508236/647
737 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/26(金) 13:51:25.73 ID:g/UTz9i20 (PC)
> AKIRA氏への誹謗中傷回数が半分以下に減ったからいいんじゃない?
>
> これを挑発と受け止めてどれだけ鈴木ドイツ容疑者が
>
> 誹謗する気力を取り戻すか様子見ようじゃないか
>
> 712 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 13:14:21.14 ID:zX6ICvFk0 [2/2] (PC)
> 他店にも言えるけど、ミカドは特に常連客が一枚岩なとこがあるから
>
> 各自で防火訓練のイメトレやっといたほうがいい
>
> 鈴木ドイツ容疑者は10年以上ひきこもりだから放火しにくる可能性はほとんどないだろうけど
>
> 消火訓練と正当防衛の行使と避難経路の把握などのイメトレは各自でしっかりやっておくべき
>
> 716 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 22:23:13.59 ID:NUfZxAC/0 [1/2] (PC)
> 犯人が誰であろうと放火する奴が仮に現れたとして、阻止する側はその正当防衛とやらでできれば視力を奪うようにしてくれたら
> 今後出所しても犯行を企てられなくなるし、パソコンスマホに触らなければ不必要にストレスを覚えなくてすむ

なんかよくワカランけど
これを貼ると自分の目がくり抜かれるんじゃないかと恐怖して
(ログ流しのため)書き込みが加速するみたい
俗に言う「加害者なのに被害者のような面をする」ってやつだな

鈴木ドイツだか南人彰だか知らないが
そんなに目が大事なら放火しに来なけりゃいいだろw

クソ笑ったw
そりゃそうだw

714 :
■ 栃木ゲーセン事情77 ■
https://medaka.2ch.sc/test/read.cgi/gecen/1560508236/647
737 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/26(金) 13:51:25.73 ID:g/UTz9i20 (PC)
> AKIRA氏への誹謗中傷回数が半分以下に減ったからいいんじゃない?
>
> これを挑発と受け止めてどれだけ鈴木ドイツ容疑者が
>
> 誹謗する気力を取り戻すか様子見ようじゃないか
>
> 712 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 13:14:21.14 ID:zX6ICvFk0 [2/2] (PC)
> 他店にも言えるけど、ミカドは特に常連客が一枚岩なとこがあるから
>
> 各自で防火訓練のイメトレやっといたほうがいい
>
> 鈴木ドイツ容疑者は10年以上ひきこもりだから放火しにくる可能性はほとんどないだろうけど
>
> 消火訓練と正当防衛の行使と避難経路の把握などのイメトレは各自でしっかりやっておくべき
>
> 716 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 22:23:13.59 ID:NUfZxAC/0 [1/2] (PC)
> 犯人が誰であろうと放火する奴が仮に現れたとして、阻止する側はその正当防衛とやらでできれば視力を奪うようにしてくれたら
> 今後出所しても犯行を企てられなくなるし、パソコンスマホに触らなければ不必要にストレスを覚えなくてすむ

なんかよくワカランけど
これを貼ると自分の目がくり抜かれるんじゃないかと恐怖して
(ログ流しのため)書き込みが加速するみたい
俗に言う「加害者なのに被害者のような面をする」ってやつだな

鈴木ドイツだか南人彰だか知らないが
そんなに目が大事なら放火しに来なけりゃいいだろw

クソ笑ったw
そりゃそうだw

715 :
■ 栃木ゲーセン事情77 ■
https://medaka.2ch.sc/test/read.cgi/gecen/1560508236/647
737 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/26(金) 13:51:25.73 ID:g/UTz9i20 (PC)
> AKIRA氏への誹謗中傷回数が半分以下に減ったからいいんじゃない?
>
> これを挑発と受け止めてどれだけ鈴木ドイツ容疑者が
>
> 誹謗する気力を取り戻すか様子見ようじゃないか
>
> 712 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 13:14:21.14 ID:zX6ICvFk0 [2/2] (PC)
> 他店にも言えるけど、ミカドは特に常連客が一枚岩なとこがあるから
>
> 各自で防火訓練のイメトレやっといたほうがいい
>
> 鈴木ドイツ容疑者は10年以上ひきこもりだから放火しにくる可能性はほとんどないだろうけど
>
> 消火訓練と正当防衛の行使と避難経路の把握などのイメトレは各自でしっかりやっておくべき
>
> 716 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/07/21(日) 22:23:13.59 ID:NUfZxAC/0 [1/2] (PC)
> 犯人が誰であろうと放火する奴が仮に現れたとして、阻止する側はその正当防衛とやらでできれば視力を奪うようにしてくれたら
> 今後出所しても犯行を企てられなくなるし、パソコンスマホに触らなければ不必要にストレスを覚えなくてすむ

なんかよくワカランけど
これを貼ると自分の目がくり抜かれるんじゃないかと恐怖して
(ログ流しのため)書き込みが加速するみたい
俗に言う「加害者なのに被害者のような面をする」ってやつだな

鈴木ドイツだか南人彰だか知らないが
そんなに目が大事なら放火しに来なけりゃいいだろw

クソ笑ったw
そりゃそうだw

716 :
しかし、なんでただの株価データの取得でこんな大変な目に遭うんだろうな。
株価データに希少価値を持たせてカネ儲けしようとしている情けない奴らでもいるってことなのか?

717 :
証券取引所の悪口はそのくらいにしておけ

718 :
証券という業種の風土に問題があるのか
お客を増やして業界を活性化しようという考えよりも
いかに情弱からお金を奪うかみたいな考えが根底に流れているような気がするんだよね

719 :
【八岐の】孕ませちゃうぞ!!【ちんこ】
https://egg.2ch.sc/test/read.cgi/game/1564489966/1-

1 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:32:46.58 ID:f5SDCqKZ
逮捕しちゃうぞの作者にカバーデザイン頼んだが断れられた

2 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:38:14.95 ID:XaAESd3N
お前1日中PCゲーム板に貼り付いてある時はゴミスレ立てて
またある時は南人彰ネタで荒らして… よほど暇なんだねw

3 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:42:12.17 ID:gIwacsld
ほんそれ
いい歳こいて親の金で生きてるって情けないと思わない?テメェの食い扶持ぐらいテメェで稼げよボケ!>鈴木ドイツ

さっさと自Rるなり自力で安楽死するなりしろカスw
----------------------------
●自作自演容疑者リスト   鈴木あきら (ペンネーム:鈴木ドイツ) 

 北海道札幌市出身 昭和36年生まれ・58歳・無職・ひきこもり・独身・年金未納者 【要注意】>>>通り魔予備軍<<<【要注意】

    電通・TBS系下請け末端ネット工作員

●2ちゃんねるでのおもな犯行
・テレビ番組板で石橋貴明さんを誹謗する内容のスレを大量に立てて自作自演で保守している犯人
・爆報THEフライデースレで田原俊彦さん、笑点スレで林家三平さん、ヒルナンデススレで南原清隆さんを執拗に攻撃しているのもコイツ
・代表的な著書:『大戦略マスターコンバット』 ←中卒作家(自称)に相応しいすさまじいクソゲーw
・昭和36年生まれ、北海道札幌市生まれ(昭和30年代生まれは中卒は当たり前だった)
・●●ドリームキャストマガジンというゲーム情報雑誌のアドバンスド大戦略のページでナチスの軍服を着て写真掲載にのぞむなど危険な思想を持つ●●
・生涯のライバルは岡野哲氏(ファミ通出版社のホストを使って2ちゃんねるへ殺害予告を書いたこともあるぐらい彼を強く意識している)→要検索
・黒子のバスケ脅迫事件の犯人と同性質で、攻撃対象者のみならずその家族にまで脅迫をする
・レトロフリークやレトロゲームのミニ版を各スレでひっきりなしに宣伝して回っている
・レトロフリークの端子部がすぐ折れ曲がる欠陥があった時口汚く火消しに奔走していたのもコイツである

720 :
だろうね。昔から日本の証券業界は大口の顧客に儲けさせて小口のどうでもいい客には嘘の情報を流して損をさせるというやり方があるらしい。
だから情強が増えると困るんだろ。ボトムダウンしていってカモを量産しないと証券詐欺システムが維持できない。

721 :
他人の意見で売り買いしてるやつなんぞ、大口だろうががま口だろうが、どこまで行ってもカモだろうがアホかw

722 :
昔は新聞の株式欄と証券会社の情報で売買してたからな
個人は情報弱者だったから証券マンの言いなりなるのは仕方がない
その後、金融ビッグバンとネット証券の普及・・Omega

723 :
●鈴.木ド.イツ容.疑者.&南.人彰.容疑.者がおもに同時間帯に書き込むスレ一覧
必要あらば関係者各自で警.察に被害.届を提出してください

<ゲーセン板>
秋葉原のゲーセン事情129  架空の常連客を貶める形で間接的に店を風評攻撃。カムイ氏を誹謗
https://medaka.2ch.sc/test/read.cgi/gecen/1563231821/
■ 栃木ゲーセン事情78 ■  架空の常連客に「R」「死ぬ」「刺Rる」等の単語を突きつけて間接的に店を脅迫
https://medaka.2ch.sc/test/read.cgi/gecen/1562218271/
高田馬場・新大久保のゲーセン事情 その59  ミカド店員AKIRA氏への個人攻撃を軸にした店への風評攻撃、偽計業務妨害
https://medaka.2ch.sc/test/read.cgi/gecen/1564247190/
北海道のゲーセン事情 ふるさと慕情
https://medaka.2ch.sc/test/read.cgi/gecen/1536195572/
イミグランデ日吉4 スタホだよ全員集合!  架空の常連客を貶める形で店を風評攻撃
https://medaka.2ch.sc/test/read.cgi/gecen/1517534482/

<STG板>
[飛鳥が]サンダーフォースVI[微笑む時代]172  岡野哲氏への執拗な誹謗はwikipedia、ゲームカタログなど多岐に渡るが全て同一犯
https://medaka.2ch.sc/test/read.cgi/gamestg/1558434811/ 因みにミカド配信で「飛鳥&飛鳥配信希望〜」とチャット連ねた犯人もコイツ
R-TYPEシリーズについて語ろうPart76   懐古自演
https://medaka.2ch.sc/test/read.cgi/gamestg/1563729855/
G.rev グレフ総合スレッドVol.17 [無断転載禁止]©2ch.sc  同内容の独り言
https://medaka.2ch.sc/test/read.cgi/gamestg/1492286876/
グラディウス&沙羅曼蛇 83   同内容の懐古自演
https://medaka.2ch.sc/test/read.cgi/gamestg/1559476096/
CAVE総合スレ133  会社関係者に対して同内容の誹謗文を繰り返し
https://medaka.2ch.sc/test/read.cgi/gamestg/1557478768/
ダライアスシリーズ総合スレッド /x72/  メガドライブミニの宣伝工作
https://medaka.2ch.sc/test/read.cgi/gamestg/1560339541/

724 :
<PCゲーム板>
全スレの2/3が犯人の大事にしているスレ
<ソフトウェア板>
ほぼ全スレが犯人の大事にしている自演スレ
<その他のスレ>
【PSP】ファンタシースターポータブル総合 EP1268  自演
https://mevius.2ch.sc/test/read.cgi/handygrpg/1564130168/
【互換機】レトロフリーク50【FC.SFC.MD.PCE.GB他】   電通の下請から仕事を拾っての宣伝工作
https://mevius.2ch.sc/test/read.cgi/gsaloon/1561724734/
ADVANCED大戦略 38(t)式戦車G型   犯人の巣。最近は家庭用版スレとも保守上げ以外でレスを入れなくなった
https://egg.2ch.sc/test/read.cgi/game/1511400650/
【違法動画】やわらか宇宙研究所 Part7【人格破綻】   批判に見せかけた「宣伝」。ふしぎなことに生配信時にはレトロゲースレへの書き込みが1レスもなくなる。様々な憶測からやわらか宇宙研究所=南人彰本人ではないかと噂されている
https://egg.2ch.sc/test/read.cgi/streaming/1563312555/
<2ちゃんねる外>
ボイスチェンジャーを用いたyoutube配信
違法ダウンロードで収集したソフトを扱ったサイト「だんぼーるはうす」「残り火ゲーマー」他多数のサイトでの運営管理、コメント欄でバレバレな自作自演
自身の関与したゲームを紹介しつつ自身の著書と名前を自作自演で売名

725 :
.Net Framework 2.0 で TLS 1.2 が使えないのか調べてみた - Windows 2000 Blog
http://blog.livedoor.jp/blackwingcat/archives/1985927.html#comments
2018-08 WES09 および POSReady 2009 の
.NET Framework 2.0 用セキュリティのみの更新プログラム
(KB4344180) を適用
2.0.50727.8797にアプデート

今度は問題なさそう

726 :
5月連休中の週足チャート表示の異常は各種インジケータ週足計算値に影響しますね
困ります

727 :
■■■PS2史上最悪の欠陥品にご注意ください■■■

http://ages.sega.jp/information.html
『SEGA AGES 2500 Vol.22 アドバンスド大戦略 〜ドイツ電撃作戦〜』バランス調整版交換に関するお知らせ

平成18年5月22日
株式会社セガ

平素は弊社商品をご愛顧頂きまして、誠にありがとうございます。
先般ご案内致しました、弊社発売のプレイステーション2用ゲームソフト『SEGA AGES 2500 Vol.22 アドバンスド大戦略 −ドイツ電撃作戦−」における、アルゴリズムを調整しなおしたバランス調整版の交換方法につきまして下記の通りご案内申し上げます。


【調整版における変更の内容】
1. CPUアルゴリズムの調整・・・・・・・・・・・敵がプレイヤーを無視してMAP左斜め上に行軍してゲ一ムにならないというPS2史上最悪の欠陥
2. 戦闘画面の「DEFENCE」表示を修正
3. 戦闘結果計算アルゴリズムの調整・・・・・南人彰が攻撃力と防御力のデ一タをあべこべに算出するよう打った。早い話、すべてのデ一タデタラメ。
4. 都市回復力のバランス調整

※セーブデータは引継ぎ可能です。
SEGA AGES 2500 シリーズ Vol. 22 アドバンスド大戦略 −ドイツ電撃作戦--
【交換方法につきまして】
[1] まず、下記の要領にてお送りください。
※ お持ちのゲ一ムディスクの印刷面が「青色」であれば、そのディスクは調整版です。
お送りにならないよう、ご注意ください。
─----------------------------------
欠陥を故意に出した犯人の名前は韓国人通名の元セガ社員、南人彰容疑者
セガエイジス担当の奥成氏に恥をかかせる目的で犯行に及んだキチガイ通名韓国人

2ちゃんねるで芸能人を誹謗中傷している鈴木ドイツ(鈴木あきら)容疑者はアドバンスド大戦略好きで
ドリームキャストの雑誌でアドバンスド大戦略についてコラムを書いた事もある(ナチスの軍服を着用して著者近影の撮影にのぞんでおり、そこからどういう人間かが伺い知れる)

ただ、どっちが改竄した犯人かわからないが、wikipediaに書いてあったはずのこの欠陥項目は現在バッサリ削除されているので皆さんは悪質な犯罪者および欠陥品にご注意下さい

728 :
>>725
2018年9月のWindows Update と2000/XPSP2との関係 - Windows 2000 Blog
http://blog.livedoor.jp/blackwingcat/archives/1974272.html#comments
2018 年 8 月 WES09 および POSReady 2009 用の .NET Framework 2.0 のセキュリティ専用更新プログラム (KB4344180)
ndp20sp2-kb4344180-x86.exe
h ttp://download.windowsupdate.com/c/msdownload/update/software/secu/2018/08/ndp20sp2-kb4344180-x86_d0f73b32fe800b37b11cb66c2f0cc07f047a7b0f.exe

729 :
どうもありがとうございます

730 :
ADVANCED大戦略 38欠陥品
https://egg.2ch.sc/test/read.cgi/game/1514596257/934
> 929 名前:名無しさんの野望[sage] 投稿日:2019/08/07(水) 13:07:22.15 ID:fUVcC+ua
> まあ実際他スレではほとんど皆スルーしてるから良いんじゃね
> IPはvpnでコロコロ変えてるから無意味だけどそれ以外の方法で透明NGは余裕っしょ
> このスレはゴミの肥溜めみたいなもんだからどんなに荒れてようが誰にも迷惑かからんし
> どうせ埋まったらキチガイ本人がまた次スレ立てるだろ
>
> 930 名前:名無しさんの野望[sage] 投稿日:2019/08/07(水) 13:12:45.93 ID:Oj4+g13y [4/4]
> >>925
> まあ君に当たり散らした訳ではないのですまん
> スマホで見てるけどクリーニングするとキャッシュ消えていちいちNG入れないといけないからだるいんだよね
>
> 931 名前:名無しさんの野望[sage] 投稿日:2019/08/08(木) 07:54:20.20 ID:1A/Ms3FC
> >>926
> 涙目逃亡糖質ガイジいっらいらwwwwwwww
>
> 932 名前:名無しさんの野望[sage] 投稿日:2019/08/08(木) 10:52:01.00 ID:RVECqLpM
> ここの糖質が他スレを自演で南のフリして荒らして、南を懲らしめるっていうのを大義名分に自分でも荒らしてるってことでOK?
> もう子供のごっこ遊びレベルじゃん
> こんなのを四、五十歳のおっさんがやってると思うと悲しくなるな
>
> 病気だしどうしようもないね
> なるかどうかは運だし
> 早く良くなれよとしか
>
> 15年治らないなら無理だろw
> 熊沢栄一郎みたいに親に殺してもらうしかねえわw
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

殺害に関連づける文章を書いている犯人はご存知株式会社チキンヘッドのミナミヒトアキ容疑者と
鈴木ドイツ容疑者 必要ならば警察に被害届を出してください

731 :
ほしゅです

732 :































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜ6jij

733 :































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜ,utkytyytytytyty

734 :
あほが

735 :































株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜga

736 :
くそのチョンが

737 :















事       このスレおまえの貴重な稼ぎ場かもしれんが

の           あまりにもチョン臭い自作自演はよくないぞおまえ













株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  遊  ぼ  う  ぜktkt

738 :
くすくぇーくすぬーチャンがー くぬぽってかすーが たっぴらかーす ふらーくにひゃー

739 :



シエ
 東
  マ
  ン
   シ
    ョ
    ン
    神
   隠
   し
  殺
  人
 事
件              い く ら I D を 偽 っ て も 、 チ ョ ン 臭 さ と 根 の 暗 さ は 変 え ら れ な い 














株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  根の暗い自作自演工作なんてやめて 遊  ぼ  う  ぜ

740 :
>>728
.NET Framework と TLS の対応表まとめ - Windows 2000 Blog
http://blog.livedoor.jp/blackwingcat/archives/1985985.html#comments

741 :



シエ
 東
  マ
  ン
   シ
    ョ
    ン
    神
   隠
   し
  殺
  人
 事
件              い く ら I D を 偽 っ て も 、 チ ョ ン 臭 さ と 根 の 暗 さ は 変 え ら れ な い 






入            なんなら自作自演ネット工作を営業妨害されたとかでKしてもいいんだよボンクラ人彰くんw







株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  根の暗い自作自演工作なんてやめて 遊  ぼ  う  ぜ;io;io

742 :
オメガチャートはAWSを使ってないので大丈夫です(´・ω・`)

743 :

> 部
> 自
> 分
> に
> 当
> て
> 嵌
> ま
> っ
> て
> る
> の
> が
> ま
> ぁ
> ア
> レ
> な
> 人
> の
> 特
> 徴
> な
> ん
> で
> し
> ょ
>
> 青葉と宮崎のハイブリッド それが○株○式○会○社○チ○キ○ン○へ○ッ○ド○のチョウセンヒトモドキ ミナミヒトあき たるゆえん

s

744 :
うんこの追い書き

745 :
> 450 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2019/08/28(水) 00:33:51.28 ID:OHHjmOD50 (PC)
> 荒らすなら1000レスやってみろよカス
>
> 451 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2019/08/28(水) 00:41:21.87 ID:XECZoiey0 (PC)
> フニャチン顔のくせに
>
> そんなにカリカリするな
>
> >みなみひとあき
>
> オーディオプレイヤーのネット工作はたいへんだろう
>
> ひとあき
>
> おまえは蓄音機時代の人間だろう
>
> >ひとあき
>
> 昭和36年の蓄音機は
>
> どんなだったね?
>
> おしえてごらん>みなみひとあき
>
> 452 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2019/08/28(水) 10:34:44.06 ID:ECDzHXOQ0 (PC)
> せっかくNGにしてるのに反応してるアホがむしろ邪魔なだけなんだが
>
> 453 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/08/28(水) 12:28:55.47 ID:bnySbWk50 (PC)
> 専ブラ使ってない人はNGもへったくれも無いのさ。

クソ笑ったw ソフトウェア板で自作自演ネット工作をやっているボンクラフニャチン南人彰(58才独身童貞w)w
わらえるw

746 :
うーむ、オメガでチャート分析して投資続けてるヤツほぼ全滅しちまったのか

投資続けていても株ドットコムなどの情報量多くて見やすい投資ツールあるからイランとか?
まあ俺も株ドットコムのツールだけは使ってるが

747 :
ほしゅ
ここの所、よくわからない投稿が書き込まれるからあまり書かないほうがよいのかな、と思っていたよ

748 :
ここにおるで

749 :
>>726
これの影響だろうと思うこと。
例えば、週足チャートのATR計算に影響して異常値になりますが、週足チャートの一定期間の高値〜安値やフィボナッチや半値などのインジケータ描画には影響しません。
面白いなと思いますが、何かしらこの影響を回避する方法がないものかなと。

750 :
初期化ファイルお願いします

751 :
>>749 ありがとうございます

752 :
例のヤツが必要になるぞ

753 :
indexファイル更新すると日付が1週間くらい前のものになりませんか?

754 :
>>753
なってますよ。明日になれば「A500」の関係上更新されます。

755 :
>>754 どうもありがとう!

756 :
>>740
.Net Framework 4.0 で TLS 1.2 が本当に使えないのか調べてみた その4 - Windows 2000 Blog
http://blog.livedoor.jp/blackwingcat/archives/1986401.html#comments
Windows 2000/XP 用の TLS 1.2 support for .Net Framework 4.0 作りました。
適用には
.NET framework 4.0.3
.NET framework 4 Update KB4483475
TLS Update KB4459091
XPの場合は KB4493435-IE8
2000の場合は拡張カーネルの適用
が必要です。

TLS 1.2 Support for .Net Framework 4.0(KB4483475)
h ttp://w2k.flxsrv.org/cgi-bin/dl.cgi?file=ndp40-KB4483475-tls-JPN.exe&lang=

757 :
切りのいい時価総額ごとに水平ラインを引く拡張キットとかあればいいんだが。

758 :
>>756 ありがとうございます

759 :
ほしゅです

760 :
TradeStationスキャナから出力したCSVで株価取得で作成したomegachartに関してなのですが
スキャナーから得られたtxtファイルが保存されるフォルダ内に、複数のファイルが存在する場合、データとして読み込まれるのは最新のtxtファイルということになるのでしょうか?

761 :
TradeStationスキャナから出力したCSVで株価取得で作成したomegachartを用いた場合、東証2部の銘柄データを取得できていますでしょうか?

この部分の条件分岐が常に東証1部に分類されているからではないかと思うのですが

//TS->東証1部、東証2部、マザーズ、JQ->ジャスダック、FK->福証、NG->名証、SP->札証
private bool CheckMarket(MarketType market, string name)
{
switch (name)
{
case "TS":
case "東証":
case "東証1部":
return market == MarketType.T1;
case "東証2部":
return market == MarketType.T2;

762 :

TSの場合の分岐についてです

763 :
分岐についてですが参考ソースを以下の様に変更し、また、マザーズについても、そのままでは取得できないので変更しました。
但し、市場変更がJQからTSに変わる前日に前倒しで変更されるので注意して下さい。
その為、index.txtの市場変更する銘柄を手動で前日に前倒しで変更していました。

case "TS":
case "東証":
case "東証1部":
//return market == MarketType.T1;
case "東証2部":
//return market == MarketType.T2;
case "東証マザーズ":
case "東証マザーズ外国":
case "東証マザーズ審査": //20150119 k-db仕様変更にて追加
//return market == MarketType.M;
return market == MarketType.T1 || market == MarketType.T2 || market == MarketType.M;

764 :
>>763 どうもありがとうございます

765 :
ほしゅです

766 :
ほしゅです
寒くなりました
皆さまご健康にお気を付けください

767 :
明日、2019/10/22 って、休日で相場ないんですか?
注文だしたら、23日ってでました。

768 :
休日に追加しないとだめ?

769 :
あ、そうでした。
ソースを変えなきゃいけないんですね。

770 :
初期化ファイルを更新して下さる人は卒業されましたかね。

771 :
>>684

772 :
2020年以降の祝日対応(Util.csのみ)
https://www.axfc.net/u/4008988

pass:OmegaChart

773 :
>>772
感謝します。

774 :
いやもう、ややこしいきゅじつ作るのはやめてほしい。

775 :
>>772
ありがとうございます

776 :
>>772

今日きずきました。
ありがとうございます。

777 :
7777777

778 :
>>772

2020年以降の祝日対応Util.csを取り込む為に
新しいVisual Studio2019でビルドすると
参照でsystem.net.httpが無く設定できず
エラーが出てビルドできません。

この解決策は何かご存知ないでしょうか?

779 :
>>778
ソリューションエクスプローラーの参照から「System.Net.Http」を追加してください。
https://dotup.org/uploda/dotup.org1994720.jpg

780 :
>>772 はあくまでも例ですので自分の環境に合わせてマージするなりしてくださいね

KT関数アドインの祝日判定ロジックはこちらのものを丸々利用させてもらいました↓
http://addinbox.sak ura.ne.jp/holiday_logic3.htm#CS
(桜ネットが書き込み規制なので↑のスペースは縮めてください)

わかりやすいようにUtil.csに納めて記述しましたが
GenCalendar.CSとして1ファイルにして既存項目に追加してもいいと思います(Util.csもそれように修正が必要です)


※仮にこれを使用しなくても、来たる日が来ればpanacoran氏がProtraからの移植で修正はしていただけると思います(いつもありがとうございます)

781 :
>>779
有難う御座います。
参照に「System.Net.Http」を追加できビルド
きました。

782 :
ありがとうございます

783 :
ほしゅ
寒くなってきました
皆様お体にご自愛ください

784 :
ほしゅです

785 :
目新しいDBソース
株式投資メモ・株価データベース ://kabuoji3.com

786 :
ほしゅです

787 :
12月16日分から「入力文字列の形式が正しくありません」とのエラーとなりデータのダウンロードができないのですが、
どうしたらダウンロードできるかご教示ください。

788 :
おま環です。

789 :
わからなけど、困ったことではあります。

790 :
定期バックアップしとけばいい
今後のために・・詳しくない自分にはそれくらいかな
いじる前には特にこまめに・・・
何かの記述間違いがある

791 :
過去ログ読むと無尽蔵のデータがたまにおかしいときにそのエラーが出るみたい
無尽蔵じゃなかったらわからない

792 :
>>787

ありがとうございました。過去ログにありました。
以下、過去ログ
options.confで
mujinzou-uses-kakodata=True
とすると過去データを使うようになります。
当日データは壊れていることが多いです。

793 :
ありがとうございます

794 :
23日が祝日じゃあなくなってる

795 :
12/23の日本株・国内指数における障害について
ttps://finance.yahoo.co.jp/feature/information/archives/1223.html

796 :
ほしゅです
皆さまあけましておめでとうございます

797 :
無尽蔵さん、力尽きたのかな
DLできない

798 :
pythonのrequestsでダウンロードしようとしても404エラー出ますね(souba-data.comとmujinzou.comの両方)。
ウェブからは出来るようですね。
HP見ると何やら間違えて上書きしたので復旧までなんやらかんたらと。

799 :
以前体調が悪くて通院中と聞いたので・・・
ちょっとしたトラブルなら安心

800 :
無尽蔵はアドレスが変わっただけじゃないの?

801 :
>>800
souba-dataをmujinzouに変えるだけですね
ありがとう

802 :
無尽蔵は今のままでもそのうち使えるようになるの?
それともどこか書き換えが必要なの?

803 :
待ってても駄目じゃね
なんか理由があって変えたんだろうし元のホスト名に戻るとは考えにくい
Mujinzou.csの中の二行を>>801さんの方法で書き換えてビルドするだけ
一分でできる

804 :
>>803
サンクス。Mujinzou.csでしたか。

805 :
>>801
>>803
無尽蔵データ取得可能になりました。
有難う御座います。

806 :
無尽蔵さんのがんばりが何より

807 :
ありがとうございます。

808 :
お助けください
先日、7から10にアップグレードしてからindexファイルと無尽蔵からダウンロードできなくなりました。
panacoran氏のサイトにあるインストラクション通りにやり直してビルドしたのですが、
indexファイルを更新しようとしたときのエラー
error.log
令和2年1月16日(木) 22:38:25 : 同一のキーを含む項目が既に追加されています。
場所 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
場所 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
場所 Zanetti.Data.DownloadIndexFileDialog.BrandIndex_Shown(Object sender, EventArgs e) 場所 Z:\OmegaChart-8b0b2d2\DownloadIndexFileDialog.cs:行 133
無尽蔵からダウンロードしようとしたときのエラー
令和2年1月16日(木) 22:38:56 : リモート名を解決できませんでした。: 'www.dreamvisor.com'
場所 System.Net.HttpWebRequest.GetResponse()
場所 Zanetti.Util.HttpDownload(String url) 場所 Z:\C#\omegachart\OmegaChart-8b0b2d2\Util.cs:行 104
場所 Zanetti.DataSource.Specialized.DreamVisorDataSource.DownloadFullData(BasicBrand br) 場所 Z:\C#\omegachart\OmegaChart-8b0b2d2\DreamVisor.cs:行 22
場所 Zanetti.DataSource.FullDataSource.Process() 場所 Z:\OmegaChart-8b0b2d2\DataSource.cs:行 161
となります。
無尽蔵のアドレスは、souba-dataをmujinzouにMujinzou.csで変更済みです。yahooからはダウンロード出来ます。
なにかやり忘れてるのでしょうか?

809 :
これドリームバイザー終了に伴う変更の奴ですよね。
思い出しました、5月に出来なかったのを。
諦めました。どうぞ無視してください。

810 :
panacoranです

無尽蔵のURLの変更と今年の祝日の変更に対応しました
https://osdn.net/users/panacoran/pf/OmegaChart/wiki/FrontPage

DreamViserの終了について私が何かすることはありません
>>677の件、ソースを変更すべき点があれば直します

811 :
ありがたや。さっそく利用させてもらいます

812 :
わぉっ、わおっ、わおっっ!!

813 :
ありがとうございます!

814 :
感謝します。有り難く使用させて頂きます。

815 :
ありがとうございます。

816 :
ほしゅです

817 :
かなり前になりますか日付を固定して表示する機能を導入して便利に使っていますが
固定表示の場合いつも右端で表示されますが一か月か二か月分左で表示できませんか?

818 :
そんな場合、自分は必要なだけ日付け指定を先行させますがね。

819 :
あ そういえばそうですね 視点を変えるべきでした

820 :
ほしゅです

821 :
>>810
こちらについてお伺い致します。
現在、Visual Studio 2019になっていて
>個別のコンポーネントとして「.NET Framework 4.7.2 SDK」と「.NET Framework 4.7.2 Targeting Pack」
が見当たりません。
どれを入れればよいのか、どなたかおわかりになる方は
ご教示頂ければ幸いです。m(__)m
参照URL:ttps://dotup.org/uploda/dotup.org2068498.bmp

822 :
自己解決いたしました。
項目で個別のコンポーネントに合わせるいませんでした。
スレ汚し失礼致しました(´;ω;`)

823 :
なぜか日経平均指数の全期間日足チャート表示時のみに。
チャートウィンドウ下部の、左右スクロールバーに不具合が発生します。
症状は、日足チャートDATAの「最新日」を表示中にもかかわらず、スクロールバーの調節ボタンは画面中央付近の位置にあり。
これを画面の右方向へスクロールしてみると、チャート表示はDATAの最新日よりも未来の表示領域に広大な余白部が描画されます。
結果として、下記エラーメッセージの通り、日足チャート描画が停止します。
Year、Month および Day パラメータが表現できない DateTime を示しています。
拡張キットを読み込みなおすまでチャートの描画を停止します。
なお、チャートアプリ本体は停止せず。
日経平均チャートの表示選択を維持したままで、週足チャート又は月足チャートへ切り替えると、チャート描画が再開します。
最新のPanaさん公開、OmegaChart-e3f7622.zip、のファイルでテストした場合も。
上記、同様のエラーで、同様の症状が再現されます。
あれこれ試してみた結果、日経平均のDATAファイルの始まりの日付DATAに架空の出来高を100で20日間ほど偽装すると。
一応、この症状は回避できましたが、こんなのがあるんですね。

824 :
panacoranさん、index.txtの更新が止まってるようです すいませんがよろしくおねがいします

825 :
ほしゅです
皆様お体ご自愛ください

826 :
panacoran様へ
index.txtの修正をお願いします。

・未上場銘柄(2020/03/30予定) 1444 ニッソウ
・上場廃止してない銘柄 6112 小島鉄工所
・社名が少し違います 7085 カーブスホールディングス

827 :
index.txtはスクRしてるだけで、取得先の問題なわけで、どうしてもというならご自分でやるしかないのでは。

828 :
>>827
勿論、自分の事は自分でしますが、気が付いていない方もいるのだろうと思って書き込みました。
気に障ったなら済みません。

829 :
原則として私が誰かの依頼に応えることはありません

830 :
>>828
まったく気に障ってませんのでお気になさらず。
書き方が嫌味だったようでこちらこそすいません。

831 :
やさしいせかい( ̄ー ̄)

832 :
OmegaChartの作者は今何してるんだろう

833 :
パラボリックのソースをどなたかお持ちではないでしょうか

834 :
>>833
http://hibari.2ch.sc/test/read.cgi/software/1263009711/

835 :
panacoranさんのお人柄に依る部分が多いと思う
いろいろな面で

836 :
>>834
ありがとうございます。検索力が低くて見つけられなかったorz

837 :
>>836
2010/02/16(火) 17:24:10 ID:QFPPYba/0:
パラボリックを表示させるソースを探しているのですが
リンク切れになっていました。 ... //parabolic ぱらっぽ ぱらぱら //参考HP ..

838 :
parabolic ぱらっぽ ぱらぱら

検索ワード

839 :
検索ワードのクセが強いっ

840 :
>>837
ありがとうございます。無事、パラボリック表示組み込めました m(__)m

841 :
>>840
ぱらっぽ ぱらぱらさんに代わって
「どういたしまして」・・でいいのかな

842 :
パラボリックは良いですね ストップトレイルには最適でしょうか 現状チャート表示だけなのでSARの値も分からないのが難点でしょうか
ArithmeticLibrary.cs に関数として組み込めば拡張キットからも使えそうで便利なのでしょうが標準ライブラリに無いので困っています
三角関数は何とか組み込みましたが過去の投稿の private void parabolicInit(DataFarm farm) を変更すれば良いのかもしれませんが
こちらはハードルが高くてまだ駄目です 恐縮ですがどなたか具体的に御教示して頂けませんか

843 :
OmegaChart専用スレ ver.4
https://pc11.2ch.sc/test/read.cgi/software/1166274231/847-848
2007年バージョンあるけど、勝手に公開して良いものかどうか
このときのメンバーは、もういなくなったのかな・・・。

844 :
>>843
どうも有難うございました 過去にあったんですね
残念ながらDLリンクはおかしくなって辿れませんでした

845 :
https://atmtech.net/main/?p=2861
パラボリックVBAコード
※AF = 加速因子
( 0.02 ≦ AF ≦ 0.20 )
(加速因子:0.05〜0.15)
(加速因子:0.1〜0.5 通常外)

846 :
要はArithmeticLibrary.csにsar関数の実装がしたいがコードが無いからソースが欲しいのね
三角関数組み込めるんだから2ch過去スレやvbaを参考にして何とか頑張ってuぷしてください

847 :
ほしゅです。

848 :
ここのみなさんがコロナに罹患しませんように(むにゃ

849 :
広く薄くの給付金はトランプ発で、当時日本マスコミはこれに賛成も反対もせず
黙殺していたな。日本で沸々とマネしてwくれとなって政府も動いた
動き始めるとマスコミが騒ぐ。後手後手後追いなのはマスコミだろ

850 :
原油を表示させるようにしてますが原油がマイナス圏に突入してしましました。
マイナスでローソク足を表示しようとするとエラーで固まります。
マイナスも表示できるようにするためにはどのあたりを変えればいいのでしょうか?
当方C#、windowsソフト初心者でよくわかりません
どなたかご教示していただけませんでしょうか?

851 :
すいません。自己解決しました。ありがとうございました。
対数表示でバグっておりました。
それにしてもすごい相場ですね。

852 :
1444 ニッソウ なぜかいつもOBSになってるので取りこぼし

853 :
セントレックスだからでは?

854 :
OmegaChartもProtraも名証をサポートしないので、
index.txtに名証の銘柄を載せることはありません
ただし、東証と重複していて東証が優先市場なら載ります
優先市場が名証になるか名証のみの上場になればOBSです
名証が優先でも東証に上場してるなら東証として載せてほしいと頼まれたときに、
いくつか例外を設定したことがあるので、そういう銘柄は東証として載ってます

855 :
お疲れさまです いつもお世話になっております

856 :
どうもありがとうございます

857 :
Omegachartを証券コードを引数にして開くことはできないでしょうか?
何かコマンドラインの仕様ってなかったですかね?

858 :
その機能はないですけど、結構簡単に実装できると思います。
Env.csのInitEnv()、この中で、act.BrandCodeっていうのに、日経平均のコードを入れている記述がありますよね。
これに、コマンドライン引数で指定した銘柄コードを割り込ませてやればいいんです。

859 :
>>857
>>858さんのコメントを参考にコードを考えてみました
Env.cs
? 149行を以下に変更
private static void InitEnv(string[] args) {
? 208行(act.BrandCode = (int)BuiltInIndex.Nikkei225;)の前に以下を追加
if (args.Length > 0 && int.TryParse(args[0], out int code) && _brandCollection.FindBrand(code) != null)
act.BrandCode = code;
else
? 140行を以下に変更
InitEnv(args);
?の構文は、C#7.0以上の場合です

860 :
>>858-859様
思い通りの動作になりました。ありがとうございます。
こんなにも早くご教示いただけるなんて感激です。

861 :
オメガチャートの「印刷」は白黒だけだと思うのですが、これを改造してカラーでも印刷することはできますか?

862 :
画像キャプチャソフトで画像にして印刷じゃ駄目なの?

863 :
>>862
いままでそうやってきたんですけど、ワンクッション入れるのが面倒くさくて、できるのであればいいなぁ、と思いました。

864 :
n日間の高値を付けた日の安値などはスクリーニングできますか?

865 :
拡張キットで、
> n日間の高値を付けた日
を<filter>として、
> 付けた日の安値
を<expression>に記述すれば、
> n日間の高値を付けた日の安値
を抽出可能でしょう。

866 :
Tradingviewのものさしのように
自由直線に足本数と株価変化率が表示されると嬉しいんですけど
クレクレ君ですいません

867 :
マザーズのソフトマックス(3671)が、2/14日から更新出来ていない。
ダウンロードはしているようだけど。。
なぜ?

868 :
データエクスポートしてCSVで確認してみたら?
うちは問題ないから配信先の問題かも
ちなみにedatalabさんのデータ使用

869 :
無尽蔵です
edatalabにしたら、ダウンロードできました。
ご指摘ありがとうございます

870 :
それは良かったですが、私、無尽蔵で取れて更新出来てますね

871 :
他にも無尽蔵だとこぼれてる銘柄がありました
何かこちらに原因があるようですね
ありがとうございます

872 :
>>826
>>852

index.txtの疑問点などの情報、お気づきの点なんでも助かります。

873 :2020/06/09
ほしゅです

PC-80/88エミュ総合 Part.4
Monkey's Audio part4
【2層→1層圧縮】DVD_Shrink Part4【質問OK】
ゲームキューブとWiiのエミュでも語ろう Part32
Jane Style Part156
[WXG] WXG Part5 [さすがに終り?]
Mozilla Firefox Part316 【ID】
【オーディオプレイヤー】AIMP3・AIMP4 総合7
Firefox userChrome.js greasemonkeyスクリプトスレ41
2ch専用ブラウザ「えまのん」使ってる人の数 その5
--------------------
【DOA】デッドオアアライブシリ−ズ874【DOAX】
超期待ICO NeonExchange【NEX】祝当選!
千葉県野田市のパチンコ屋
おすすめの宇宙もの映画
三シ甫シ京介◆グチヲチスレ6
【関西テレビ】★谷元星奈★ 2筆目
【キチ〇イ】頑張れ!三菱自動車応援【ブログ】
☆☆☆45才から49才の奥様 173人目(ID梨)☆☆☆
神戸の教師いじめ、暴行など犯罪のレベル 何で逮捕されないの?
SAS/睡眠時無呼吸症候群40/CPAP
【速報】安倍政権「現金給付、減税、キャッシュレス還元はしない。旅行・外食に限定の商品券(期限つき)を配布」★21
BBA粘着専用スレ
サウンドカード・オーディオカード総合 137枚目
この女が抱けたら死んでもいい!2人目!!
ロード オブ ヴァーミリオン 紅蓮の王 2
【朗報】へんたつをベストセラーさせたたつき神、誹謗中傷に対しきちんと法的対応を進める 嫌儲のたつアン冷えてるかー? [158478931]
gaiax...
【Switch】大乱闘スマッシュブラザーズ SPECIAL 58スレ目【スマブラ】
【この世にない】起業,アドバイス願【サービスを】
【京都】ヘイトスピーチ対応窓口、設置1年 相談はまだ1件もなし 弁護士「相談の電話が全くないとは想定外」[07/30]
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼