OmegaChartスレ ver.10 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
>>784
自分は他者様が公開されたサンプルコードを拝借してインジケータツールボタンを9個へ増やしてます。
大変便利に利用させて頂いて有難いです。
>>2 に掲載の
StockDataLoader+の公開主stray_nora氏のOmegaChart用サイトで公開されたインジケーターを9個へ増やすサンプルコードですが。
お役に立つか不明ながらそちらをご紹介してみようと思ったら、どうやら現在リンク切れみたいです。
自分には貴重な情報が満載だったのでとても残念です。 ソースみて、適当に言ってみます。
1.アイコンを設定するには、ImageListForm.csを開く
2.フォームのデザインが開くので、たぶん左下にみえる_image16、これを右クリックしてイメージの選択を押下
3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する
4.ImageListForm.cs の internal class IconConst 此処の中の記述
public const int OSCILLATOR3 = 17; この行の後に以下行を付け加える
public const int OSCILLATOR4 = 18;
public const int ACCUMULATIVE=19; この行以降も、数字を一つずつずらして最後まで
5.Preference.cs internal class OscillatorPreferenceの一番上、LENGTH = 3 を 4に変える。
6.ChartTitle.cs public ChartTitle()の中の記述「オシレータの表示をするかどうかを指定します」とある部分の記述群がオシレータの関係コードだが、何も変える必要がないと思う。
大体こんな感じだと思うけど、実際には試してないです。
アイコンを増やすのはこれからもやりたい人がいるので、結果をフィードバックして頂けたら。 >>786
3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する
これにプラスして、追加したアイコンを18番目に移動 >>785,786,787
どうも有り難うございました 参考にさせて頂き再びトライしてみます >>786
上手く行きました 追加したアイコンを18番にセットする方法が分かりませんでしたが右にある矢印ボタンで押し上げてOKでした あ、インジケータでなくオシレータでしたか。
>>785
の記載は的外れで、stray_nora氏のインジケータグループのサンプルコードのことでした。
失礼。 >>790
まとめ情報、有難うございます。
あちらに記載の”OmegaChart 日付固定表示 //☆FixedDisplayYMD ”が便利です。
実装後の副作用として、表示銘柄の切り替え直後の均衡表の先行スパン部分の表示状態が隠れてしまうなど、
収録DATAの最新の日付より未来部分に何かしらのインジケータを表示する場合に影響が出ます。
銘柄を切り替えてから→チャート表示をスクロールする、という一手間が掛かる仕様になります。 >>792
ご指摘ありがとうございます。共存できる方法を思いついたら、追加していきたいと思います。 あぁ OmegachartWikipedia が消えてるね >>797 要修正
sourceforge.jp
↓
ja.osdn.net
そのお気に入りツールソフトって初めて見たけど、ずっとテンプレにあったんだな。
ケーキ屋さんか。 ↑公開されたツールはこちらもありますので掲載させて頂きます。
(ただし小数点以下の株価に対応しない)
JUDAH'sWeb -6日で1%の株式投資-
(Topページ)http://red.ribbon.to/~judah/index.html
DataDump Ver0.13 _オメガチャート株価データ編集ツール
(DataDumpページ)http://red.ribbon.to/~judah/omega-dd.html >>800
機能制限付きシェアソフトウェアです。
小数点以下に未対応ながら無料で利用可能な機能が有用です。
銘柄個別DATAの一覧表示と編集機能や、よその株価バイナリファイルから差分データを補充する、など。 スクリーニングのフィルタの設定で新たな条件を設定しました その条件でうまくスクリーニング出来ましたが
次回のスクリーニングでフィルターボックスがその条件ではなくお気に入りのフォルダで固定されてしまいます
多分フィルター項目のインデックスが抜けているのでしょうがソースを見てもスキルが低くてよく分かりません
フィルターボックスに新たな条件を表示するか または一番上のすべての銘柄に戻すにはどうすれば良いでしょうか? >>804
フィルタの設定項目を増やすには、SystemTrading.csのinternal enum FilterType を追加・修正しますよね。
ここに「すべての銘柄」の設定がされていれば、表示されると思うのですが。 >>805
レス有り難うございます internal enum FilterType には列挙済みです 困っているのはスクリーニング後、
前に選択したフィルターの表示項目が変わって それがお気に入りのフォルダーになる事です >>806
デフォルトと違う動きをするということは、改変した内容に問題があるということでしょうから、改変した内容がわかる人じゃないと答えられないと思います。 Pastebin: OmegaChart Fibonacciリトレースメント //☆Fibonacci
2つエラーが出てしまって詰んでます。
FixFibonacci
エラー 1 'Zanetti.UI.ChartDrawing' に 'FixFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
RemoveHighlitedFibonacci
エラー 2 'Zanetti.UI.ChartDrawing' に 'RemoveHighlitedFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
すみません。 サンプルコードの試し方
1.最新コードを用意して、解凍して、コンパイル。正常にコンパイルできることを確かめる
2.https://osdn.net/projects/omegachartusers/wiki/FrontPage へ行く
3.(今回は)フィボナッチ・リトレースメント描画機能の項目をみる
4.記載のサンプルコードをダウンロード
5.1で開いたVisual Studio画面から
・ダウンロードした、https://osdn.net/users/omegachartuser/pastebin/5765 の内容をChartCanvas.csに上書きする
※ファイルの上書きNG、あくまでも文字列の上書きで
・以下同様に、5757をChartDrawing.cs、5758をCommand.cs (略) 5762をUtil.csに上書きする
・5775は「新しい項目の追加」で「クラス」追加して、同様に上書きする
6.正常にコンパイルできることを確かめる //☆Fibonacci、慎重にコードを読み比べてみると
例えばChartCanvas.cs、5765.txt、この部分
> //☆Fibonacci
> if (_currentFibonacci != null && ev.Button == MouseButtons.Left && ((Control.ModifierKeys & Keys.Alt) == Keys.Alt))
> {
> Invalidate(_currentFibonacci.GetInclusion(this.ClientRectangle), false);
> _currentFibonacci.Destination = p;
>
> var h = Env.Layout.ChartAreaBottom - Env.Layout.OscillatorPaneHeightTotal - Env.Layout.VolumePaneHeight;
> var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y));
> Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h - _title.Height);
> Cursor.Clip = r;
> }
> //今引いている直線の再描画
> else if (_currentFreeLine!=null) {
てっきり下の二行は変更が無いと思ったんですが、自分のOmegaChartソースコードとは違います。
ここも//☆Fibonacciの変更点でしょうか、関係ないですか?
//☆Fibonacci if文をelse ifにする
こう書いてある変更箇所のような?
中途ですみません、とにかく時間かけて読み比べてみます。 >>813
その部分に関しては、
https://osdn.net/projects/omegachartusers/wiki/FrontPage
の「フィボナッチ・リトレースメント描画機能」の項に注釈があります。
361行目を
var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y + _title.Height));
に修正。
362行目を
Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h);
に修正。
このように修正するように、お願いします。 >>814
その記載に自力で気づく事は無かったはずです。有難う御座います。 Fibonacciリトレースメント //☆Fibonacci 、お陰様でビルドまでいけました。
サンプルコードの見落とし箇所としては、
>>813 の部分の下から2行の else if への変更点。
>>814 のご指摘どおりの修正点。
それと、各サンプルコード見出しの注記、”追加修正ポイントには//☆Fibonacci”
この記載にある//☆Fibonacciだけを目印として、変更点を追ったことにより、下記の部分をまるごと見落とし。
↓↓ > //Fibonacciの追加
> public void FixFibonacci(Fibonacci fl)
> {
> Env.Fibonacci.Add(_brand, Env.CurrentIndicators.Format, _pref.LogScale, fl.ToSolid(_brand.ReserveFarm(), _firstDateIndex, _priceTrans));
> _fibonaccies.Add(fl);
> }
> public bool RemoveHighlitedFibonacci()
> {
> ArrayList remain = new ArrayList();
> bool f = false;
> foreach (Fibonacci line in _fibonaccies)
> {
> if (line.DrawMode == Fibonacci.LineDrawMode.Normal)
> {
> remain.Add(line);
> }
> else
> {
> if (line.ID != -1) Env.Fibonacci.Remove(line.ID);
> f = true;
> }
> }
> _fibonaccies = remain;
> return f; //1つでも消去したらtrueを返す
> }
>
どうもすみません。いろいろ見落としました。
厚かましい要望ですが、次回5757.txt差し替え等の際には、上記部分も//☆Fibonacciの変更箇所目印で統一して下されば、自分などには助かります。
有難う御座います。
この機能を試用さて頂きます。 >>817
この場所は、ChartDrawing.cs、#5757.txtです。 >>817
「//☆Fibonacci」の表記抜けでご迷惑をおかけしたようで大変失礼しました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage のまとめサイトに記述追加しておきました
注意:「//☆Fibonacci」の目印の抜け
https://osdn.net/users/omegachartuser/pastebin/5757
1006行目から1030行目までのpublic void FixFibonacci(Fibonacci fl) を丸々
「//☆Fibonacci」の印がないがこれも追加するべきコードです >>819
ありがとうございます。
簡易ワード検査だけで手っ取り早く探って済ませる自分など初心者にとって、よく引っかかる落とし穴です。
すみません。
Fibonacciリトレースメント //☆Fibonacci、試用させて頂いてます。
チャートポイントの自動フォーカス(任意のチャートポイントの値幅を自動取得する)仕様が素晴らしいです。
本来、フィボナッチゲージをフリーハンド描画する仕様であれば、基本の「安値、0.382、0.618、高値、」の4つだけ描画できれば、
それ以外の全てのフィボナッチレベルを自由に描画できますが、このサンプルコードの自動フォーカス仕様においては、
0.236と0.764のレベルゲージの描画も、自分は追加して頂きたいです。
これを追加したくない場合は、その部分のコードをコメントアウトすれば対応可能な仕様などで実現できないでしょうか。
よくできてますね良好です。 >>820
>0.236と0.764
フィボナッチの線を実際に描画してるのは、Fibonacci.cs の public void Draw(Trans pricetrans, Rectangle rect, IntPtr hdc)
https://osdn.net/users/omegachartuser/pastebin/5775 の150行目からなんですが、これをご覧になれば、たぶん直感的にご自身で改変できると思います。
変数がy1〜y5、k1〜k5なのは、フィボナッチリトレースメントの線が5本描画してるからで、7本にするわけですから、変数もy6、y7、k6、k7を追加して既存のコードをヒントに書けば大丈夫だと思います。 >>821
ご案内のFibonacci.csの該当箇所150行目から200行目までの部分について。
ご指示に従って変数のy1〜y5、k1〜k5の各5本の項目をy1〜y7、k1〜k7の各7本へ増やし。
フィボナッチレベルの序列構造に従いまして、既存コードを直感的に行間を補完しました。
改変した部分は、158行目以下の一連の行。
↓↓ > var y1 = 0F;
> var y2 = 0F;
> var y3 = 0F;
> var y4 = 0F;
> var y5 = 0F;
> var y6 = 0F;
> var y7 = 0F;
> var k1 = .0;
> var k2 = .0;
> var k3 = .0;
> var k4 = .0;
> var k5 = .0;
> var k6 = .0;
> var k7 = .0;
>
> if (Env.Preference.LogScale)
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y));
> k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> y3 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> y4 = (p1.Y + p2.Y) / 2;
> y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> y6 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> y7 = Math.Max(p1.Y, p2.Y);
> } >>823
続き↓↓
> else
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> k2 = Math.Abs(k1 - k7) * 0.764 + k7;
> k3 = Math.Abs(k1 - k7) * 0.618 + k7;
> k4 = (k7 + k1) / 2;
> k5 = Math.Abs(k1 - k7) * 0.382 + k7;
> k6 = Math.Abs(k1 - k7) * 0.236 + k7;
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)pricetrans.TransValue(k2);
> y3 = (float)pricetrans.TransValue(k3);
> y4 = (float)pricetrans.TransValue(k4);
> y5 = (float)pricetrans.TransValue(k5);
> y6 = (float)pricetrans.TransValue(k6);
> y7 = Math.Max(p1.Y, p2.Y);
>
> }
> DrawTheLine(hdc, m, l, y1, k1, out pt);
> DrawTheLine(hdc, m, l, y2, k2, out pt);
> DrawTheLine(hdc, m, l, y3, k3, out pt);
> DrawTheLine(hdc, m, l, y4, k4, out pt);
> DrawTheLine(hdc, m, l, y5, k5, out pt);
> DrawTheLine(hdc, m, l, y6, k6, out pt);
> DrawTheLine(hdc, m, l, y7, k7, out pt);
> }
ここまで、、、改変後、お陰様で問題なく機能しているようです。
大変お手数をお掛けしました、解説等ありがとうございます。 Fibonacciリトレースメント //☆Fibonacci、について。
フィボナッチレベルゲージの左端部へラインのネームを表示することは可能でしょうか。
例えば、、、仮に、0.618レベルに”F5”、0.382レベルに”F3”という識別記号を付けたとします。
右端部分(レベル識別記号)+中央部分(フィボナッチライン)+左端部分(計算値)
F5--------------------------------618
F3--------------------------------382
このように二本のライン描画の例を書いてみましたが伝わるでしょうか。
仮に、こんな描画にして分析ポイントの重なりと混線時の視認性を緩和できればと考えてます。
いろいろとすみません。 >>825
イメージの説明の日本語の左右が逆になりました。
左端部分(レベル識別記号)+中央部分(フィボナッチライン)+右端部分(計算値) >>825
今の仕様は、0.382と0.618を特定してないものなので、かなり書き換えないと難しいですね >>827
と思ったけど、_pivotのyの値と、_destinationのyの値の大小をみれば、簡単にできそうですね。 >>825
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※フィボナッチの位置情報(61.8%とか)も描画
https://osdn.net/users/omegachartuser/pastebin/5833
Fibonacci.csだけを上記内容で上書きすれば動くと思います。差分追加修正ポイントには//20180731 のコメントを書き入れました。
要望では”F5”のような文字描画でしたが、サンプルコードでは、”61.8%”のようなフィボナッチ数値にしました。 >>829
何度もすみませんお世話になります、ありがとうございます。
差し替えられたコードをフルコピペして、問題なく動作確認できました。
些細なことながら、Fibonacci.cs,#5833、210行目と213行目の記述。
レベルゲージのラベル表記の序列について、自分の認識として上昇値幅の計測では、
「高値へ向かって0.618→半値→0.382」と小さくなり、下降値幅の計測ならこの逆ではないでしょうか。
表現例、、、買われすぎからの38.2%押し→61.8%押し、、逆に売られすぎ反発上昇では、、38.2%戻り→61.8%戻り、、など。
場所、Fibonacci.cs,#5833.txt、209行目以下の部分を
> //20180731 追加
> var s = new string[] { "Hi", "61.8%", "50%", "38.2%", "Lo" };
> if (_pivot.Y > _destination.Y)
> {
> s = new string[] { "Hi", "38.2%", "50%", "61.8%", "Lo" };
> }
自分の例として、このように短く記号を記述してみました。
公開下さったコードは自分の要望以上の仕様です。
上昇値幅観測と下降値幅観測の違いによって、レベルゲージのラベル表記が可変することは自分の頭から抜けてました。
ほんとに素晴らしいご対応、ありがとうございます。
一つだけ確認した注意点としては、OmegaChartのチャート反転表示中は正常に機能しません。 >>830
>レベルゲージのラベル表記の序列
マケスピがこの表記だったので合わせてみましたが、SBIのチャートやMT4は逆でした。
チャート反転機能はまったく忘れてました。反転中は機能させなくするか、それとも解決方法があるのか。
時間があれば考えてみたいと思います。 >>831
チャート反転時にフィボナッチ・リトレースメントがうまく動作しない件
異常動作は2つのケース
・反転時かつ対数チャートではないときに、38.2%と61.8%のラインが変な位置に出る → 今回修正
・反転時に38.2%と61.8%の案内表示がマウスを動かすたびにクルクル変わる → 修正不可能なので反転時は案内表示をやめる
https://osdn.net/users/omegachartuser/pastebin/5833
194行目を以下のように修正
k2 = Math.Abs(k1 - k5) * 0.618 + Math.Min(k1,k5);
196行目を以下のように修正
k4 = Math.Abs(k1 - k5) * 0.382 + Math.Min(k1, k5);
210行目〜214行目を以下のように修正
var s = new string[5] { "", "", "", "", "" };
if (!Env.Preference.InverseChart)
{
if (_pivot.Y > _destination.Y)
{
s = new string[] { "0%", "38.2%", "50%", "61.8%", "100%" };
}
else
{
s = new string[] { "100%", "61.8%", "50%", "38.2%", "0%" };
}
} >>833
何度も大変ご苦労さまです。
動作確認できました。チャート反転してもちゃんとついて来ます。
ツールの使い勝手は反応機敏で安定して軽やか、書いて消して何度でも繰り返せてストレスを感じません。
フォボナッチ系テクニカルやツールをかなり使い込んでますが、これは良好で楽しいです。
フォボナッチツールのラインについて。
フリーライン描画機能では、OmegaChart画面右側に指標と凡例の表示枠を表示すると、
その表示枠の左端部分を表示エリアの限度として線が消えますが、このフィボナッチラインはモニターの右端までとことん消えませんね。
今のところ邪魔になっているわけではありませんが、一応のご報告です。
それから、厚かましいにも程があると思いますが。
このツールは値幅を自動で取得する仕様で素晴らしいですが。
作者様の言われるように既存コードに簡単な改変を施すだけで実現可能な範囲という前提として。
OmegaChart起動パネルから、あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか。
欲をかいてそんなこを思ったりもしております。
一般的に現状のままでスキがないと思います。本当にありがとうございます。
使いまくってます。 >>834
>あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか
これ、自分も考えたことがあるんですが、結構難しくてですね、実現に至っていません。 まだまだ
ほぼ毎日スクリーニングに使っております。 フィボナッチリトレースメント凄い。
(妄想)
もしそのフリーハンドでも描ける機能が実現するなら、
値幅メジャー表示への切り替えも可能になれば利用の幅が広がります。
切替機能1(標準)自動モード→フリーハンドモード(臨時)
切替機能2(標準)フィボナッチ計算値表示→値幅メジャー表示(臨時)
リスクリワードのだいたいの目安を見るのに便利です。 日付を固定して表示する機能追加の件、便利に利用させて頂いております 有り難うございます
特定の銘柄で表示固定が うまく行かない場合に遭遇しましたので確認して頂ければと思います
4381 ビープラッツ、6571 キュービーネット、9271 和心等で起こりましたが私だけでしょうか >>839
それ全部データ量が少ない今年のIPOばかりですね。
自分の環境では、オシレータ表示を消しておけば問題ありません。 「日付固定」機能は、オメガチャート画面下に表示される、左右に動くスクロールバーを操作する機能です。
なので、直近IPOみたいに足の数が少ない銘柄は、スクロールバー自体が表示されないので機能しないという話になります。 >>833
OmegaChart Fibonacciリトレースメント Fibonacci.cs
どうでもすみません。
フィボナッチ拡張レベルを追加してみたんですが上手くいきません。
一見は描けてるように見えますが。
過去に、フリーライン描画が頼りないことがありましたが、あのように日付ルーラーが交差すると消えることがあります。
記述は下記の通りです。
改変箇所の主要部分(独自に多くレベルを追加してます、すみません)
↓↓ >>844
> if (Env.Preference.LogScale)
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y));
> k7 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> k8 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> k9 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル
> k10 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル
> k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); >>845
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> y3 = (float)(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル
> y4 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y));
> y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y));
> y6 = (p1.Y + p2.Y) / 2;
> y7 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y));
> y8 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y));
> y9 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル
> y10 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル
> y11 = Math.Max(p1.Y, p2.Y);
> } >>846
> else
> {
> k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y));
> k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y));
> k2 = Math.Abs(k1 - k11) * 2.618 + Math.Min(k1, k11);//拡張レベル
> k3 = Math.Abs(k1 - k11) * 1.618 + Math.Min(k1, k11);//拡張レベル
> k4 = Math.Abs(k1 - k11) * 0.764 + Math.Min(k1, k11);//修正20180801
> k5 = Math.Abs(k1 - k11) * 0.618 + Math.Min(k1, k11);//修正20180801
> k6 = (k11 + k1) / 2;
> k7 = Math.Abs(k1 - k11) * 0.382 + Math.Min(k1, k11);//修正20180801
> k8 = Math.Abs(k1 - k11) * 0.236 + Math.Min(k1, k11);//修正20180801
> k9 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 0.618;//拡張レベル
> k10 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 1.618;//拡張レベル >>847
> y1 = Math.Min(p1.Y, p2.Y);
> y2 = (float)pricetrans.TransValue(k2);
> y3 = (float)pricetrans.TransValue(k3);
> y4 = (float)pricetrans.TransValue(k4);
> y5 = (float)pricetrans.TransValue(k5);
> y6 = (float)pricetrans.TransValue(k6);
> y7 = (float)pricetrans.TransValue(k7);
> y8 = (float)pricetrans.TransValue(k8);
> y9 = (float)pricetrans.TransValue(k9);
> y10 = (float)pricetrans.TransValue(k10);
> y11 = Math.Max(p1.Y, p2.Y);
>
ここまでにしときます、、、たぶん以下はいいかと思うのですが。
こんなやり方ではダメでしょうか。
修正のアドバイスお願いします。 フィボナッチを完全にエラーなく再現するのは難しいところがあるからある程度のところで妥協したほうがいいのかもしれないね この調子で4.236相当レベルをこれに追加して総数13個を登録しました。
どんなときに何が原因で不安定になるのか分かりませんが、この状態で使ってます。 ヤフーCS機能について、0値埋め機能に株価0円はあり得ないという仕様に変更するとかどうにか
上場前の銘柄コードに0円の株価DATAを格納しないようになりませんか。 Yahoo.csの一番下の方に、「出来高がない日の株価データがないので値が0のデータを補う」とあります。
このforeach文を丸ごとコメントアウトすればいいように見えますが、試してません。 0201の円・ドルデータで週足表示にすると表示がおかしくなりませんか
あと指数類(0202,0501〜0533)も週足や月足へ表示を切り替えると変になる困った どうおかしいのか分からないが、表示がおかしいのはdataがおかしい。 おらのも6月第5週がスパイク状で安値75円高値159円くらいになってる ドル円や為替DATAは、SDL+の主さんがYahooの為替だったんでデータ継承のために今は手作業でコツコツ書き込んでます。
為替もYahooモードあったらちょとだけ楽ですけどね。
サンプル、ドル円-ttps://stocks.finance.yahoo.co.jp/stocks/history/?code=USDJPY=X
0201ドル円、0202ユロ円、0203オージー円、0204ポン円、0205カナダ円、0206スイス円、0207キウイ円、0208ランド円、、計7通貨。
他に、香港/円ありますけど自分はチャート化してません。 ドル円の表示異常、再現しないですね。
国内株式、株価指数、業種別指数のチェックを外す、為替のチェックのみ入れて、データのダウンロード
このやり方だとデータソースはDreamVisorのはず。ということは異常な表示になる人は別のところから為替の情報を取っているんですかね。 >>853
とりあえず為替データを1999年から全て取り直しましたところ表示は正常になりました
データは一見正常でどれがおかしかったのかは特定できませんでした お騒がせしました 引き直し可能なフィボナッチリトレースメントのサンプルコードができました。
線を引き直すときは、altキーを押しながら、起点か終点の水平ラインにカーソルを合わせると上下に移動できます。
引き直し時は、レート高安に自動調整しませんので、任意の位置設定が可能です。
引き直し前のリトレースメントは残ります。
新規追加したのは3ファイル。
9cd2e32からの変更箇所には「//☆Fibonacci」
最初に書いたサンプルコードとの差分には「//☆Fibonacci 20180816」
OmegaChart Fibonacciトレースメント ChartCanvas.cs 追加修正ポイントには//☆Fibonacci ※差し替え その2
https://osdn.net/users/omegachartuser/pastebin/5847
OmegaChart Fibonacciトレースメント ChartDrawing.cs 追加修正ポイントには//☆Fibonacci ※差し替え その1
https://osdn.net/users/omegachartuser/pastebin/5848
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その4
https://osdn.net/users/omegachartuser/pastebin/5849
以下ファイルは変更なし
OmegaChart Fibonacciリトレースメント Util.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5762
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5761
OmegaChart Fibonacciリトレースメント Env.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5760
OmegaChart Fibonacciトレースメント CustomizeDialog.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5759
OmegaChart Fibonacciトレースメント Command.cs 追加修正ポイントには//☆Fibonacci
https://osdn.net/users/omegachartuser/pastebin/5758
前のバージョン、引き直しができない最初のサンプルコードの情報アーカイブ
https://osdn.net/users/omegachartuser/pastebin/5845 >>860 の内容に加えて、あいだの水平線は破線にするサンプルコードと、Preferene.csの1行だけバグ取り
あいだの水平線の色を変えることもできるけど、やりたい人はCustomizeDialog.csの改造箇所を参考にしてみてください。
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その5
https://osdn.net/users/omegachartuser/pastebin/5850
OmegaChart Fibonacciリトレースメント Preference.cs 追加修正ポイントには//☆Fibonacci ※差し替え その2
https://osdn.net/users/omegachartuser/pastebin/5851 >>860,861
どうも有り難うございました
リトレースメントの表示で数字だけでなく従来通り%をつけるにはどうすれば良いでしょうか
Fibonacci.cs の中身がかなり変更されていて分かりませんでした >>864
OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※差し替え その5
https://osdn.net/users/omegachartuser/pastebin/5850
このファイルでいうと、552行目を以下のように変更
DrawText(hdc, (int)Math.Min(_pivot.X, _dest.X) - 30, y, string.Format("{0}%", retText()));
ただ、このリトレースメントの数字を描画するコードは別の問題を抱えてしまうかもしれず、また修正版のサンプルコードを出すと思います。
Win32.SelectObjectのオブジェクトを参照渡しにしないとメモリリークが起きるらしく、不安定な挙動になる人がいたらこのコードのせいかもしれないですね。 いつもお手数をおけけします 変更後の状況何かありましたら報告させて頂きます 3日米国の休み以来ダウ、Nasdaq、SP500
のデータが取れない? ドリームバイザー・ドット・コムの提供する情報提供サービスは終了いたしました。
http://www.dreamvisor.com/index.html
2018年9月3日12:00をもちまして終了いたしました。 0106 JASDAQもデータが取得できなくなっていませんか? >>870
皆さん困るのでは?
ダウ、Nasdaq、SP500は
ドリームバイザーから
データ取得してたのでね
誰か代わりになるところ
知らないでしょうか?
>>872
わいは日本株オンリーやから困らんな今んとこ >>873
なぜこうなってるのか分かりませんが。
OmegaChart過去DATAではSP500の出来高をNYダウへ插入してます。
TOPIXと日経平均指数の出来高と同じ処理で。
DATA継続性の観点では、この点も継承すると有り難いです。 DATA継続性なら、Yahoo Finance(US)のS&P500は1950年までデータがある。 株価情報 (東証)
ttp://www.edatalab.net/kabu/
2018/9/6 以降データが更新されてませんです。 今日9月7日ダウ、Nasdaq、SP500も
業種別指数もデータ取れてるよ
DreamVisorからデータ取てるのかな?? ごめん
ダウ、Nasdaq、SP500は6日までだ
業種別指数は日本だから7日までだ。 サービスは終了してもサーバーは動いてるんだろうね。 NYダウやS&P500などは、DownloadOrder.cs内のprivate void AddForeignIndicesDataSources(ArrayList col) 以下でデータをDreamVisiorから取得しているということ? >>884
その通りですね。
col.Add ( どのサイトから株価取得するか ( どの銘柄を取得するか ) );
DreamVisorなき後、状況が一変してしまい、あちこちからかき集めるようにしないといけなくなった。
上の「どの銘柄を取得するか」は、以前ならば、一つのサイトで全部集まったけど、これからは複数のサイトを記述しないといけない。
そうすると、管理が結構めんどくさい感じになりそう、なので、ならばもう直接AddForeignIndicesDataSources内に書き込んだ方がわかりやすいという気がします。 DomesticIndices、日経225、TOPIX、JASDAQ
→ヤフーファイナンス
DomesticIndices、日経先物、TOPIX先物
→ケン〇レ
ForeignIndices、ダウ、ナスダック、SP500
→米ヤフー
Currencies、ドル円、ユーロ円
→ヤフーファイナンス
・33業種指数はデータダウンロード終了
・個別銘柄株価以外のこれらに関して、1回のアクセスで取れる情報量だけを更新対象とする
(最短で20日分しか取らないので、1か月空けてダウンロードすると、情報漏れが出る)
こういう仕様で考えてみたいと思います。 >>878
昨日の夜にはデータ更新されてますね
管理人さんは北海道の方なのかな
もし被災されたなら、心からお見舞い申し上げます
それから、いつもありがとうございます >>886
ドリームバイザー・ドット・コムのサービス終了に伴い、別ソースからの株価ダウンロードを試みるサンプルコード
・33業種指数は株価取り込みを取りやめ
・新規取り込み先のヤフーファイナンスの日経225などは出来高なし
など、従来からの変更点あり。
OmegaChart DreamVisor終了対応 DataSourcs.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5858
OmegaChart DreamVisor終了対応 DownloadOrder.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5859
OmegaChart DreamVisor終了対応 KenMille.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5860
OmegaChart DreamVisor終了対応 Yahoo.cs 追加修正ポイントには//☆DreamVisor終了対応
https://osdn.net/users/omegachartuser/pastebin/5861 >>888さんへ サンプルソースコードの提供に感謝します。
>> 33業種指数は株価取り込みを取りやめ
kabutanに33業種別指数の時系列データがあります。
下記URLに0251から0283まで指定すると表示されました。
https://kabutan.jp/stock/kabuka?code=xxxx
他にも以下の時系列データがありました。
日経平均:0000、TOPIX:0010、JASDAQ:0100
ドル/円:0950、ユーロ/円:0951
NASDAQ:0802
残念ながら、日経平均先物、TOPIX先物、S&P500はありませんでした。(確認不足かもしれません)
尚、NYダウ:0800、はありますが時系列データがありません。
以上ですが参考になれば幸いです。 889です。下記の通り訂正します。済みませんでした。
JASDAQ平均:0100 ではなく
JASDAQ指数:0102 の様です。 >>888
ありがとうございます。
現在DreamVisorのサーバーは動いてる
らしいので止まってからこの変更を
すればよろしいのですよね。
月曜日以降取得確認等ご報告
よろしくお願い致します。>>888 >>889
ありがとうございます。自分も株探のページは1000番までほとんど確認してみました。銘柄種類は随一ですよね。
ただ、みんかぶは赤字だったと記憶してますし、そういうところのサーバーはこっそり利用させてもらうほうが良いかなと思い、頭数に入れませんでした。
>>891
そうなんですよね。まだ動いているようでした。
出来高の桁数とか、こちらで勝手に桁を落としてるので、ご自身の環境に合わせる必要もあるかと思います。
テスト環境でテストを重ねたうえで、本番環境に移行したほうがよろしいかと思います。 >>885
>>888
どうもありがとうございます >>888
どうもありがとうございます。ファイルを更新、ビルドして、オメガチャートを実行してみました。
ひとつ教えてほしいのですが、データを取得する日数を指定した場合でも取得される指数データの期間には影響を与えないのでしょうか?
(たとえば5日前からデータを取得しようとしても取得される指数データの期間は変わらない?) >>894
こんばんは。影響しないです。
1回アクセスしたその情報だけをOmegaChartのデータに反映します。
そのサイトが20日分の4本値を表示していたら、その記録で上書きするサンプルコードです。
OmegaChartのデータダウンロード画面は個別しか日付指定できないので、そうするしかありません。 >>895
こんにちは、
いろいろとどうもありがとうございました。 >>888
いつも有り難うございます ところで従来通り業種別指数を取得するのは難しいのでしょうか >>897
DreamVisor終了以降、33業種指数4本値を取得できるのは、
>>889 >>645 株探から取得する方法
>>483 TradeStationから取得する方法
の2通りあります。 ○探て どうして為替データ沢山あるんだろ しかも小数点2桁と4桁揃って別のコードで 不思議やな OmegaChartの初期化ファイル(ZIP)更新しました。2018年9月末分まで。
https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ
(前回と同じURLです)
>>691のページの下のほうにデータファイルへのリンクを貼っておきます。
忘れなかったら四半期ごとに更新しようかと思います。 ヤフーファイナンスから情報取得できなくなったんですけど、ひょっとして自分だけ? YahooモードDLメッセージ
基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。
落ちません。 私のPCも
『基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。 』
と、出て YahooモードでのDATA更新出来ません
Yahoo形式変わったでしょうか プログラムでヤフーファイナンスに接続しようとすると、切断を強制的に切られるようになったようです。
UserAgent偽装してみましたがこれだけだとダメ。WebBrowserのDocumentTextでは株価が取れました。
ただ、WebBrowserはめっちゃ遅いうえに不安定だったりしますから微妙ですね。上手い偽装の仕方があればいいのですが。 そして無尽蔵だけが残った、か
そろそろやばいね
ヤフーはファイナンス倶楽部に入ってても拒否られるのかな? >>913
そうなんですか?
こっちを先に確認したほうがいいかもですね 地方市場の時系列データがあるのはYahooしかないのかな 一応は、みんかぶ個別株時系列データあり
ヤホーに似てる 毎日、通報しまくった成果がやっとでたな
おまえらは、
もう終わりや 人が質問した時は、
相手を小バカにして、
自分が困ったら、
「助けて〜」って泣きつくか?(笑)
panacoranのこともヤフーにはサイトごと通報済み
訴えられないといいね♪ 最悪hypersbiかな?
まー捨てる神あれば拾う神ありだわな ヤフーがなくても、普通に情報が手に入る、この時代でなぜか勝ち誇る情弱の君。 そういうことかできるのは100人に1人
情報を共有できるレベルじゃない
つまり、おれの勝ち
1人でデータ取ってシコシコしてろ >>925
相場で負けてるからせめてここでは勝ちたいんですねわかります >>927
底辺乙w
負け犬は無駄に足掻いてなさいw >>928
負け惜しみいってろ
おまえらはもう終わり すぐにレスがつくねえ
panacoranが助けてくれると思って、
へばりついてるんでちゅか〜? なにもない時は、
数日書き込みないのにねえ(笑)
困ってんだろバカ親父
助けてくださいってはよいえや ヤフーにはこのスレも通報済み
警察に被害届け出すっていってたから、
panacoranはもう逮捕されてたりして(笑) おまえらが、
OmegaChartを使えるようになる日は、
もう2度ない
おつかれさん 月々1000円くらい払えば株価が手に入るんですよ。
それをオメガチャートに取り込む方法も公開されてます。
誰でもできますよね。 >>937
あれ?それどこでしたっけ?
もうそっちに移行しようかなと >>938
KABU+ https://kabu.plus/
指数とか先物、為替のレートはないです。 こんなクソソフトに1000円払う?(笑)
マケスピ、ハイパーSBIは無料やで
ま、おまえらは、
今度の世界同時株安で破産するから、
どっちもいらんか このデータを買うと、オメガチャートだけじゃなくて、
エレフォロ氏のチャートリスト http://elefolo.com/NewChartList/index.html
メリー氏のキラトレ http://pulse227.net/kiratorekabuplus/
などで役立てることができる。
購入者のほとんどの人は、Excelでその日の資金の流れを復習するために買ってるんじゃないか
っていうくらいこの活用方法はツイッターなどで目にした。
https://twitter.com/i/moments/826105030583341056
https://twitter.com/5chan_nel (5ch newer account) たとえばKABU+だと1時間当たりアクセス回数上限がありますよね
仮にオメガチャートをKABU+対応にした場合でも複数日にさかのぼってデータ取得する際は1時間当たり2〜3日分が限度ということなのでしょうか? その通りです。1時間あたり4アクセス制限コースだと、ETF、REIT、FUNDと個別株データの4ファイルを見ないと全部データ収集したことになりませんので、1hあたり1日分しか取れません。
アクセス制限があるネットの方はダウンロードだけにすれば不自由なく運用できると思います。 >>944 どうもありがとうございます。
有志サイトにある
KABU+(こもりばん氏サイト)から株価取得 差し替え その1ファイルには
//時間当たりのデータ取得制限のため指定した日付のみ取得
と記載されています。
このファイルを用いてomegachartを作成した場合、たとえば過去の日にちでも取得できる仕様なのでしょうか?
(本日 2018/10/11ですが、2018/10/4のデータ1日分を取得することが可能であるかどうか?) >>945
という仕様だったと思いますのでちょっとまずいですよね。1時間内で何回もKABU+にアクセスすることが可能になってしまいます。
KABU+から株価をダウンロードするのは別のプログラムで行い、オメガチャートからキックする「株価ダウンロード」は、PCのローカルファイルを見に行くという仕様が一番いいような気がします。
パソコン内にCSVファイルを貯めると、2017年1月4日から今日までは438日分。1日分4ファイル、600KBほど必要ですから、300MB以上のHDD空きが必要になります。 KABU+から株価をダウンロードするのは別のプログラム、この仕様は
・初回起動で、KABU+のIDとパスワード設定、保存するフォルダ設定
・タスクスケジューラーで毎日1時間ごとに起動するように設定
・保存フォルダ内の最新ファイルを見つけて、足りないファイルをKABU+からダウンロードする
・当日株価ファイルまで揃っていたら、保存フォルダ内で一番古いファイルを見つけ、それよりも古いファイルをKABU+からダウンロードする
・2017年1月4日(KABU+にある最古株価)まで辿っていたら何もしない >>946 947
ご回答どうもありがとうございます。 <th class="a-taC">10/11(木)</th>
の正規表現は
<th class=""a-taC"">(?<month>\d?\d)/(?<day>\d?\d)((月|火|水|木|金))</th>
という書き方で正しいでしょうか? 曜日のかっこは、全角かっこ()で
全角のかっこ場合もエスケープ\(\)になるんでしょうか? Visual Studio C#で試したら普通に検索できるようですけど。
var s = "<th class=\"a-taC\">10/11(木)</th>";
var valid = new Regex(@"<th class=""a-taC"">(?<month>\d?\d)/(?<day>\d?\d)((月|火|水|木|金))</th>");
var matches = valid.Matches(s);
Console.WriteLine(matches.Count); 誰か次スレ早めによろ。
規制かなんかで何故か建てられんかった。。 >>953 そういう確認方法があるんですね、どうもありがとうございました。 //天皇陛下御退位及び皇太子殿下御即位対応
if(d.Year == 2019)
{
if((d.Month == 4 && d.Day == 30) || (d.Month == 5 && d.Day <= 2))
return true;
} <td class="num">9,350.0</td>
の正規表現を
<td class=""num"">(?<open>[0-9,.]+)</td>
としたところ、ビルド時にnumのところで
)や;が必要です。
とエラーが表示されます。
エラーが表示されるのは、文字列のnumとして認識おらず、それ以上の意味のあるものとして扱っているようです、何か良い解決策がございましたらご教授お願いいたします。 yahoo時系列からダウンロードしようとすると、
「基礎になる接続が閉じられました:送信時に、予期しないエラーが発生しました。」というエラーが出てダウンロードできなくなってる。
しばらくすればできるようになるのかな? >>963 どうもありがとうございます
963さんが加入されているKABU+のプランはスタンダードプランでしょうか? >>965
通報がどうとかお前らのことが嫌いとか言っている奴は大損したバカな年寄りだろうなw >>966
スタンダードです。
今、気づいたんですが、先物のCSV配信もしてますね。朝8:45に昼、夜の2ファイル。
個別株の株価が出そろう夕方以降にOmegaChartの株価を作りたいけど、KABU+の先物データは翌日の朝にならないと揃わないっていう感じかな。 >>967
アレはそんなんじゃなくて、もっとひどい理由だった気がするよ >>967
年寄りかどうかは分からんが ねじけたうんこにゃ間違いない >>963
KABU+のCSVを自動ダウンロードするプログラムのサンプルコードに記載されているChkLastDownload(string ymdhms)は、最後にダウンロードされたファイルの時刻と現在時刻を比較して、1時間未満であればfalseを返す関数で、
その結果として偽であるならばKabuPlusDownloader.exe自体は起動しているものの、プロセスが終了するということなのでしょうか? >>972
機能としてはおっしゃる通りで、1時間未満であれば処理中断して、KabuPlusDownloader.exeは終了します。プロセスが残っているようなら異常事態ですね。
起動はWindowsのタスクスケジューラーで行えば、手間いらずです。こちらのURL、「KabuPlusダウンローダー」の項にタスクスケジューラー設定方法を書きました。
https://osdn.net/projects/omegachartusers/wiki/FrontPage 株価情報 (東証)
ttp://www.edatalab.net/kabu/
都合により URLが ****** に変更になります。
現在の URL は10/31までになります。 ご迷惑をお掛けします。 株価情報取得先である「株価情報 edatalab」のURLが2018/11/1から変更されるのに伴い、コード修正。
修正箇所は、FillData内記述のURLのみ。
https://osdn.net/users/omegachartuser/pastebin/5900 >>973 どうもありがとうございます、勉強になりました。 みんかぶから時系列データ取得するコードはないですか? 自分で作りましょう
サーバーの強度の問題があるからヤフーのように期待することは難しい気がする >>979
>>962がみんかぶ用オメガチャートの参考になればどうぞ KabuPlusダウンローダーを作成して、KabuPlusDownloader.exeをダブルクリックしたところ
「KabuPlusDownloaderは動作を停止しました」と表示され、正常に実行されません
ひょっとしてこのプログラムはタスクスケジューラからの起動を前提としておりダブルクリックや実行からの起動ではうまく実行されないのでしょうか? >>982
そんなことはないと思います。起動し終える前に、実行ファイルがあるフォルダ内に、最後に起動した年月日時分秒の情報をファイル出力をします。
ファイル出力は、ウィルスチェックソフトが最も反応する動作ですから、それが影響していると予想します。
とりあえず、Visual Studio C#のDebugモードで試してから、Releaseモードの実行ファイルを作って運用してみることをお勧めします。 >>983 どうもありがとうございます。
現状のところ、最後に起動した年月日時分秒の情報が書かれたファイルは作成されません。
デバックモードで少しずつ実行してどこでエラーが出るのか調べたところ、ファイルのダウンロード時にエラーが出ているようです。(ID、パスワードは再度、確認したものの適切でした。)
型 'System.Net.WebException' のハンドルされていない例外が System.dll で発生しました
追加情報: 接続が切断されました: 送信時に、予期しないエラーが発生しました。。 下記HPの
http://www.sankayo-jp.com/download.htm
[株価データ]
F72 を 活用 自働変換する 方法はありませんでしょうか DownloadKabuPlusFile(newdate, ref cnt, ref updatetime);
でエラーが起きていているようです。
ウイルス対策ソフトを一時的にオフにしても同じところでエラーが出ます。
変数の値も問題ないようです。 >>986
Visual Studio C#のDebugモードで動かしてみて、どこでエラーが出るか教えてもらえませんか?
Visual studio画面のコードが書いてある画面の一番左端をクリックすると「ブレークポイント」が設置できます。
プログラムをVisual Studio内から走行させたとき、ブレークポイントを設置したところで一時停止させる機能です。
ブレークポイントで止まった後、パソコンのキーボードのF11ボタンを押下するとプログラムが1行進みます。
そうやって1行ずつ実行させると、どこの行でエラーになるのかがわかります。
どこの行でエラーになるかがわかったら、try catch文を挿入してエラー内容を調べます。
https://qiita.com/mik_claire/items/8f36d143639cd538a980
try
{
//エラーになった行
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
このConsole.WriteLineの行でまたブレークポイントを設置してプログラムを再走行させます。
※ちなみに、tryの中での変数宣言は内部変数になりますので、注意。
たぶん、DownloadKabuPlusFileからDownloadを呼び出しているので、エラーが出てるとしたらそこでしょう。 >>988
ご返答どうもありがとうございます。
Windows7 1号機でブレークポイントを設置して調べたところ、DownloadKabuPlusFile(newdate, ref cnt, ref updatetime); でエラーが起きていると思うのですが
開発環境をWindows10 1号機にしてで同じように調べたところエラーがでないのでもしかしたらエラーの出現は固有の環境によるものかもしれません。
また、ビルドしてできたKabuPlusDownloader.exeを(ウイルス対策ソフトをオフにして実行したところ)、Windows7 1号機で実行するとエラーになるのですが、
Windows7 2号機とWindows10 1号機では実行してもエラーにならず普通に実行できます(しかし両方のパソコンとも実行しても株価データのファイルは指定したファイルに保存されていない)
出先で取り急ぎ調べた程度なのでtry-catch文は宿題とさせてください。 >>988
開発環境Windows10 2号機を用いてF11で詳しくしらべると using (var reader = new StreamReader(webClient.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))に到達したときにエラー
接続が切断されました: 送信時に、予期しないエラーが発生しました。。
となります。 >>991
ユーザーが設定するべき箇所は、KABU+のアカウントIDとパスワードと保存するフォルダの3つです。
フォルダがない、あるいは権限がないと、SearchOldfileNewfileの頭でエラー落ちします。
アカウントか、パスワードが間違ってると、Downloadで落ちます。
こんな感じにtry catchでエラー処理しますとエラー内容が分かります。
private void Download(int date, string url, string filename)
{
var uri = new Uri(url);
try
{
using (var webClient = new System.Net.WebClient())
{
webClient.Credentials = new NetworkCredential(SITE_ID, SITE_PASSWORD);
using (var reader = new StreamReader(webClient.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))//アカウントIDやパスワードが間違ってるとここでエラー
{
var line = reader.ReadToEnd();
if (line.Trim() != string.Empty)
{
System.IO.File.WriteAllText(filename, line, System.Text.Encoding.GetEncoding("shift_jis"));
}
}
}
}catch(Exception ex)//エラーが発生するとココに飛んできて、エラー内容がexに入る。
{
Console.WriteLine(ex.Message);//exMessageの内容を読んでエラー対応を検討する
}
} >>992 ご丁寧にどうもありがとうございます。
>>992に書かれているコードに書き換えますと、どうもログイン時にエラーとなっているようなのです。
ただコード内に書き込んであるID、パスワードは間違いがないんですよね。
(コピペしてブラウザからKABU+ ID、パスワード入力画面に入力するとログインできるので)
後のこのコードに書き換えますと、今まで作成されなかったiniファイルが作成されるようになりました。 >>993
ググってみましたら、同じような事象があったので、このサイトの通りに書き換えたDownloadがこちらです。
https://qiita.com/muro/items/8b9f5886c56f7b6afd3c
private void Download(int date, string url, string filename)
{
var uri = new Uri(url);
try
{
using (var wc = new System.Net.WebClient())
{
var namePassword = string.Format("{0}:{1}", SITE_ID, SITE_PASSWORD);
var chars = System.Text.Encoding.ASCII.GetBytes(namePassword);
var base64 = Convert.ToBase64String(chars);
wc.Headers[HttpRequestHeader.Authorization] = "Basic " + base64;
//webClient.Credentials = new NetworkCredential(SITE_ID, SITE_PASSWORD);
using (var reader = new StreamReader(wc.OpenRead(url), System.Text.Encoding.GetEncoding("shift_jis")))
{
var line = reader.ReadToEnd();
if (line.Trim() != string.Empty)
{
System.IO.File.WriteAllText(filename, line, System.Text.Encoding.GetEncoding("shift_jis"));
}
}
}
}catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
} >>994
環境によってKabuPlusDownloader.exeが正常に動作するパソコンとそうでないパソコンがあり、それらを分ける条件がよくわからないのですが、正常に動作するKabuPlusDownloader.exeができました。
いろいろとどうもありがとうございました。感謝いたしております。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 590日 10時間 19分 36秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。