OmegaChartスレ ver.10 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
会則 @OmegaChartはサポートを終了しています。 ご自身でコンパイルできない方は、他のソフトを利用して下さい。 A連投で初歩的な質問をする人やクレクレ君は、立ち入り禁止。 ●公式サイト OmegaChart公式HP(閉鎖) ttp://www.omegachart.org/ OmegaChart公式HPのアーカイブ(消滅) ttp://web.archive.org/web/20131010105520/http://www.omegachart.org/ メーリングリスト(2014年5月28日で終了) ttp://groups.yahoo.co.jp/group/omegachart/ 作者Blog(サポート終了) ttp://okajima.air-nifty.com/ ●有志による維持活動 panacoran氏のサイト ttp://sourceforge.jp/users/panacoran/pf/OmegaChart/wiki/FrontPage ●前スレ OmegaChartスレ ver.9 http://potato.2ch.net/test/read.cgi/software/1423093067.html >>751 お気に入りフォルダに新規上場銘柄ばかりを詰め込んだフォルダを登録してますが。 上場日からDATA日数が短い頃は各種テクニカルオシレータの表示をオンにしてる場合、チャート描画に時間がかかります。 各種テクニカルオシレータ表示をオフにすれば機敏にチャート描画されます。 例えば、標準偏差ボラティリティ、MACD、などはダメですが、ストキャスは問題なく動きます。 そんな例外もあるようですがスムーズに新規上場銘柄を表示するなら全オシレータ表示をオフにすれば、こちらの環境では問題ないです。 >>754 チャート表示をマウスホールなどで少量ずつスクロールする操作を暫くやり続けると、 OmegaChartはダウンするかフリーズことがよく起こります。 13年くらい前のシングルコアの時は描画が重かったが、i3,i5くらいCPUの性能が上がってきたら特に問題ないし、パソコンの性能によるとことがあるんじゃないかと思う 突然終了したりすることはないなあ 全銘柄のランキング変化 例えば前日比等のランキングをスクリーニング可能なら非常に 助かるのですが Omegachartで特定指標値のランキングを取得できる様になりませんか? 現状でも可能。 1.上昇率を算出するスクリーニングを1つ作る 2.結果を「お気に入りフォルダ」に追加 3.好みのスクリーニングを「お気に入りのフォルダ」フィルタをかけてスクリーニングを実施 まあ確かにスクリーニングは結果をランク化しているし そもそもやりたい事が今ひとつ良く分からん ひょっとして ある銘柄の上昇率ランキングの時系列データが欲しいのか OmegaChartの初期化ファイル(ZIP)更新しました。2018年6月末分まで。 https://drive.google.com/open?id=1yFyFiI1OI-HlJwB9KoBMd9_qqa9y8mAQ >>691 のページの下のほうにデータファイルへのリンクを貼っておきます。 忘れなかったら四半期ごとに更新しようかと思います。 チャート上の日付ルーラーをマウスが動いても動かないよう固定することはできないかなぁ >>768 日付固定>>688 のコードを参考にするとできそうです。 止めたいところで右クリックして、「日付ルーラ停止」みたいな感じで。 Preference.csで、boolとSystem.Windows.Forms.MouseEventArgsのClassをつくって ChartCanvas.csの日付ルーラを描画してる>>711 OnMouseMoveで、MouseEventArgs evをその作ったClassの変数に常に上書きさせる。 日付ルーラ描画停止させたいときは、フラグを立てて、最後に記録したMouseEventArgs evで、日付ルーラを描画させる。 みたいな感じ。 >>770 ありがとう でもワイには無理なことがわかった スクリーニング実行時 画面左端部へ結果一覧を表示しますが、見出しの文字の表示位置が合ってないので文字が切れてて読めませんね。 たぶん、検索対象日 20〇〇/〇〇/〇〇日付と、対象銘柄数 〇〇〇〇銘柄数だと思います。 それと、結果エクスポートのボタン部分の文字も切れてます。 これを上手く修正してご利用の方は居られますか? 機能の利用に関しては致命的でないですが、検索対象日の日付表示が読めず苦労します。 ScreeningResultPane.cs の InitializeComponent() の以下行 this._explanation.Size = new System.Drawing.Size(150,23); この23が高さで、30くらいに変えると見切れることなく表示されました。 ボタンはこちらの環境だと問題なく表示されているように見えます。 ちなみにボタンのサイズは、同 InitializeComponent()内にある以下行 this._exportButton.Size = new System.Drawing.Size(96,23); この96が幅、23が高さです。 恐れ入りますが 対象銘柄数と その下のエキスポート表示というボタンが重なります このボタンを少し下にずらしたいのですが どこを変更すれば良いでしょうか 因みにthis._explanation.Sizeは150,30 this._exportButton.Sizeは120,15にしました this._exportButton.Location = new System.Drawing.Point(24, 30); に変更して解決しました すごいなこのチャートソフトまだ改善されながら使われてたのか・・・ またやってしまった。 一銘柄株価CSV出力機能については、分割調整後の株価と分割未調整の株価は、 Chart表示状態のそのままが出力されるんですね。知らなかった。 CSV出力して数銘柄の不要なDATAを排除するため編集して再利用したときマズイことになったかも知れない。 どの銘柄だったのだろうか、うぅぅ。 >>773 〜 >>775 有難うございます試してみます。 >>779 アプリを作って検知するのが良さそう。別のフォルダに初期化ファイルを解凍したデータを用意。これと比較する。 銘柄コード1301から9999までブン回し。初期化のほうの最も古い日の終値と、現役のdataフォルダの同銘柄同日終値を比較。 値が違っていたらログ出力すれば、検知可能。 >>781 なるほど、やれるか試してみます。 スクリーニングしたリストをチャート観察中に3月と4月に一銘柄ずつDATA抜け発見。 たまたま見つけたんで他にもあるのかは知りません。 Yahooモードの利用ですが0値で埋められておらず、表現がおかしいか知れませんが素直に抜けてます。 この場合はYahooのページに問題があるんでしょうね?0埋めされなかったわけですから。 ダウンロード時のデータ漏れはファイラー使って毎日更新時刻をチェックかな ●フーさんからだと たまに何個か抜けたりするが その殆どが上場廃止銘柄 >>775 初めて知ったよ スクリーニングの後 エクスポートボタン水色で囲まれてる 4個目のインジケータを表示させていますがアイコンが他の3つと全く違ってる 過去スレでアイコン変える方法があったがどれも説明が簡単すぎて駄目だった アイコンは 今のN3をN4に少し変える位は出来るが それを組み込む手順が不明 お手数ですが どなたか猿にでも分かる様な解説をお願い出来ませんか >>784 自分は他者様が公開されたサンプルコードを拝借してインジケータツールボタンを9個へ増やしてます。 大変便利に利用させて頂いて有難いです。 >>2 に掲載の StockDataLoader+の公開主stray_nora氏のOmegaChart用サイトで公開されたインジケーターを9個へ増やすサンプルコードですが。 お役に立つか不明ながらそちらをご紹介してみようと思ったら、どうやら現在リンク切れみたいです。 自分には貴重な情報が満載だったのでとても残念です。 ソースみて、適当に言ってみます。 1.アイコンを設定するには、ImageListForm.csを開く 2.フォームのデザインが開くので、たぶん左下にみえる_image16、これを右クリックしてイメージの選択を押下 3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する 4.ImageListForm.cs の internal class IconConst 此処の中の記述 public const int OSCILLATOR3 = 17; この行の後に以下行を付け加える public const int OSCILLATOR4 = 18; public const int ACCUMULATIVE=19; この行以降も、数字を一つずつずらして最後まで 5.Preference.cs internal class OscillatorPreferenceの一番上、LENGTH = 3 を 4に変える。 6.ChartTitle.cs public ChartTitle()の中の記述「オシレータの表示をするかどうかを指定します」とある部分の記述群がオシレータの関係コードだが、何も変える必要がないと思う。 大体こんな感じだと思うけど、実際には試してないです。 アイコンを増やすのはこれからもやりたい人がいるので、結果をフィードバックして頂けたら。 >>786 3.25個のメンバーが並んでいると思うので、任意のアイコンを追加する これにプラスして、追加したアイコンを18番目に移動 >>785 ,786,787 どうも有り難うございました 参考にさせて頂き再びトライしてみます >>786 上手く行きました 追加したアイコンを18番にセットする方法が分かりませんでしたが右にある矢印ボタンで押し上げてOKでした あ、インジケータでなくオシレータでしたか。 >>785 の記載は的外れで、stray_nora氏のインジケータグループのサンプルコードのことでした。 失礼。 >>790 まとめ情報、有難うございます。 あちらに記載の”OmegaChart 日付固定表示 //☆FixedDisplayYMD ”が便利です。 実装後の副作用として、表示銘柄の切り替え直後の均衡表の先行スパン部分の表示状態が隠れてしまうなど、 収録DATAの最新の日付より未来部分に何かしらのインジケータを表示する場合に影響が出ます。 銘柄を切り替えてから→チャート表示をスクロールする、という一手間が掛かる仕様になります。 >>792 ご指摘ありがとうございます。共存できる方法を思いついたら、追加していきたいと思います。 あぁ OmegachartWikipedia が消えてるね >>797 要修正 sourceforge.jp ↓ ja.osdn.net そのお気に入りツールソフトって初めて見たけど、ずっとテンプレにあったんだな。 ケーキ屋さんか。 ↑公開されたツールはこちらもありますので掲載させて頂きます。 (ただし小数点以下の株価に対応しない) JUDAH'sWeb -6日で1%の株式投資- (Topページ)http://red.ribbon.to/ ~judah/index.html DataDump Ver0.13 _オメガチャート株価データ編集ツール (DataDumpページ)http://red.ribbon.to/ ~judah/omega-dd.html >>800 機能制限付きシェアソフトウェアです。 小数点以下に未対応ながら無料で利用可能な機能が有用です。 銘柄個別DATAの一覧表示と編集機能や、よその株価バイナリファイルから差分データを補充する、など。 スクリーニングのフィルタの設定で新たな条件を設定しました その条件でうまくスクリーニング出来ましたが 次回のスクリーニングでフィルターボックスがその条件ではなくお気に入りのフォルダで固定されてしまいます 多分フィルター項目のインデックスが抜けているのでしょうがソースを見てもスキルが低くてよく分かりません フィルターボックスに新たな条件を表示するか または一番上のすべての銘柄に戻すにはどうすれば良いでしょうか? >>804 フィルタの設定項目を増やすには、SystemTrading.csのinternal enum FilterType を追加・修正しますよね。 ここに「すべての銘柄」の設定がされていれば、表示されると思うのですが。 >>805 レス有り難うございます internal enum FilterType には列挙済みです 困っているのはスクリーニング後、 前に選択したフィルターの表示項目が変わって それがお気に入りのフォルダーになる事です >>806 デフォルトと違う動きをするということは、改変した内容に問題があるということでしょうから、改変した内容がわかる人じゃないと答えられないと思います。 Pastebin: OmegaChart Fibonacciリトレースメント //☆Fibonacci 2つエラーが出てしまって詰んでます。 FixFibonacci エラー 1 'Zanetti.UI.ChartDrawing' に 'FixFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 RemoveHighlitedFibonacci エラー 2 'Zanetti.UI.ChartDrawing' に 'RemoveHighlitedFibonacci' の定義が含まれておらず、型 'Zanetti.UI.ChartDrawing' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 すみません。 サンプルコードの試し方 1.最新コードを用意して、解凍して、コンパイル。正常にコンパイルできることを確かめる 2.https://osdn.net/projects/omegachartusers/wiki/FrontPage へ行く 3.(今回は)フィボナッチ・リトレースメント描画機能の項目をみる 4.記載のサンプルコードをダウンロード 5.1で開いたVisual Studio画面から ・ダウンロードした、https://osdn.net/users/omegachartuser/pastebin/5765 の内容をChartCanvas.csに上書きする ※ファイルの上書きNG、あくまでも文字列の上書きで ・以下同様に、5757をChartDrawing.cs、5758をCommand.cs (略) 5762をUtil.csに上書きする ・5775は「新しい項目の追加」で「クラス」追加して、同様に上書きする 6.正常にコンパイルできることを確かめる //☆Fibonacci、慎重にコードを読み比べてみると 例えばChartCanvas.cs、5765.txt、この部分 > //☆Fibonacci > if (_currentFibonacci != null && ev.Button == MouseButtons.Left && ((Control.ModifierKeys & Keys.Alt) == Keys.Alt)) > { > Invalidate(_currentFibonacci.GetInclusion(this.ClientRectangle), false); > _currentFibonacci.Destination = p; > > var h = Env.Layout.ChartAreaBottom - Env.Layout.OscillatorPaneHeightTotal - Env.Layout.VolumePaneHeight; > var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y)); > Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h - _title.Height); > Cursor.Clip = r; > } > //今引いている直線の再描画 > else if (_currentFreeLine!=null) { てっきり下の二行は変更が無いと思ったんですが、自分のOmegaChartソースコードとは違います。 ここも//☆Fibonacciの変更点でしょうか、関係ないですか? //☆Fibonacci if文をelse ifにする こう書いてある変更箇所のような? 中途ですみません、とにかく時間かけて読み比べてみます。 >>813 その部分に関しては、 https://osdn.net/projects/omegachartusers/wiki/FrontPage の「フィボナッチ・リトレースメント描画機能」の項に注釈があります。 361行目を var point = this.PointToScreen(new Point(this.Location.X, this.Location.Y + _title.Height)); に修正。 362行目を Rectangle r = new Rectangle(point.X, point.Y, Env.Layout.ChartAreaWidth, h); に修正。 このように修正するように、お願いします。 >>814 その記載に自力で気づく事は無かったはずです。有難う御座います。 Fibonacciリトレースメント //☆Fibonacci 、お陰様でビルドまでいけました。 サンプルコードの見落とし箇所としては、 >>813 の部分の下から2行の else if への変更点。 >>814 のご指摘どおりの修正点。 それと、各サンプルコード見出しの注記、”追加修正ポイントには//☆Fibonacci” この記載にある//☆Fibonacciだけを目印として、変更点を追ったことにより、下記の部分をまるごと見落とし。 ↓↓ > //Fibonacciの追加 > public void FixFibonacci(Fibonacci fl) > { > Env.Fibonacci.Add(_brand, Env.CurrentIndicators.Format, _pref.LogScale, fl.ToSolid(_brand.ReserveFarm(), _firstDateIndex, _priceTrans)); > _fibonaccies.Add(fl); > } > public bool RemoveHighlitedFibonacci() > { > ArrayList remain = new ArrayList(); > bool f = false; > foreach (Fibonacci line in _fibonaccies) > { > if (line.DrawMode == Fibonacci.LineDrawMode.Normal) > { > remain.Add(line); > } > else > { > if (line.ID != -1) Env.Fibonacci.Remove(line.ID); > f = true; > } > } > _fibonaccies = remain; > return f; //1つでも消去したらtrueを返す > } > どうもすみません。いろいろ見落としました。 厚かましい要望ですが、次回5757.txt差し替え等の際には、上記部分も//☆Fibonacciの変更箇所目印で統一して下されば、自分などには助かります。 有難う御座います。 この機能を試用さて頂きます。 >>817 この場所は、ChartDrawing.cs、#5757.txtです。 >>817 「//☆Fibonacci」の表記抜けでご迷惑をおかけしたようで大変失礼しました。 https://osdn.net/projects/omegachartusers/wiki/FrontPage のまとめサイトに記述追加しておきました 注意:「//☆Fibonacci」の目印の抜け https://osdn.net/users/omegachartuser/pastebin/5757 1006行目から1030行目までのpublic void FixFibonacci(Fibonacci fl) を丸々 「//☆Fibonacci」の印がないがこれも追加するべきコードです >>819 ありがとうございます。 簡易ワード検査だけで手っ取り早く探って済ませる自分など初心者にとって、よく引っかかる落とし穴です。 すみません。 Fibonacciリトレースメント //☆Fibonacci、試用させて頂いてます。 チャートポイントの自動フォーカス(任意のチャートポイントの値幅を自動取得する)仕様が素晴らしいです。 本来、フィボナッチゲージをフリーハンド描画する仕様であれば、基本の「安値、0.382、0.618、高値、」の4つだけ描画できれば、 それ以外の全てのフィボナッチレベルを自由に描画できますが、このサンプルコードの自動フォーカス仕様においては、 0.236と0.764のレベルゲージの描画も、自分は追加して頂きたいです。 これを追加したくない場合は、その部分のコードをコメントアウトすれば対応可能な仕様などで実現できないでしょうか。 よくできてますね良好です。 >>820 >0.236と0.764 フィボナッチの線を実際に描画してるのは、Fibonacci.cs の public void Draw(Trans pricetrans, Rectangle rect, IntPtr hdc) https://osdn.net/users/omegachartuser/pastebin/5775 の150行目からなんですが、これをご覧になれば、たぶん直感的にご自身で改変できると思います。 変数がy1〜y5、k1〜k5なのは、フィボナッチリトレースメントの線が5本描画してるからで、7本にするわけですから、変数もy6、y7、k6、k7を追加して既存のコードをヒントに書けば大丈夫だと思います。 >>821 ご案内のFibonacci.csの該当箇所150行目から200行目までの部分について。 ご指示に従って変数のy1〜y5、k1〜k5の各5本の項目をy1〜y7、k1〜k7の各7本へ増やし。 フィボナッチレベルの序列構造に従いまして、既存コードを直感的に行間を補完しました。 改変した部分は、158行目以下の一連の行。 ↓↓ > var y1 = 0F; > var y2 = 0F; > var y3 = 0F; > var y4 = 0F; > var y5 = 0F; > var y6 = 0F; > var y7 = 0F; > var k1 = .0; > var k2 = .0; > var k3 = .0; > var k4 = .0; > var k5 = .0; > var k6 = .0; > var k7 = .0; > > if (Env.Preference.LogScale) > { > k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y)); > k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y)); > k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y)); > k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y)); > k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y)); > k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y)); > k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); > y1 = Math.Min(p1.Y, p2.Y); > y2 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y)); > y3 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y)); > y4 = (p1.Y + p2.Y) / 2; > y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y)); > y6 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y)); > y7 = Math.Max(p1.Y, p2.Y); > } >>823 続き↓↓ > else > { > k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y)); > k7 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); > k2 = Math.Abs(k1 - k7) * 0.764 + k7; > k3 = Math.Abs(k1 - k7) * 0.618 + k7; > k4 = (k7 + k1) / 2; > k5 = Math.Abs(k1 - k7) * 0.382 + k7; > k6 = Math.Abs(k1 - k7) * 0.236 + k7; > y1 = Math.Min(p1.Y, p2.Y); > y2 = (float)pricetrans.TransValue(k2); > y3 = (float)pricetrans.TransValue(k3); > y4 = (float)pricetrans.TransValue(k4); > y5 = (float)pricetrans.TransValue(k5); > y6 = (float)pricetrans.TransValue(k6); > y7 = Math.Max(p1.Y, p2.Y); > > } > DrawTheLine(hdc, m, l, y1, k1, out pt); > DrawTheLine(hdc, m, l, y2, k2, out pt); > DrawTheLine(hdc, m, l, y3, k3, out pt); > DrawTheLine(hdc, m, l, y4, k4, out pt); > DrawTheLine(hdc, m, l, y5, k5, out pt); > DrawTheLine(hdc, m, l, y6, k6, out pt); > DrawTheLine(hdc, m, l, y7, k7, out pt); > } ここまで、、、改変後、お陰様で問題なく機能しているようです。 大変お手数をお掛けしました、解説等ありがとうございます。 Fibonacciリトレースメント //☆Fibonacci、について。 フィボナッチレベルゲージの左端部へラインのネームを表示することは可能でしょうか。 例えば、、、仮に、0.618レベルに”F5”、0.382レベルに”F3”という識別記号を付けたとします。 右端部分(レベル識別記号)+中央部分(フィボナッチライン)+左端部分(計算値) F5--------------------------------618 F3--------------------------------382 このように二本のライン描画の例を書いてみましたが伝わるでしょうか。 仮に、こんな描画にして分析ポイントの重なりと混線時の視認性を緩和できればと考えてます。 いろいろとすみません。 >>825 イメージの説明の日本語の左右が逆になりました。 左端部分(レベル識別記号)+中央部分(フィボナッチライン)+右端部分(計算値) >>825 今の仕様は、0.382と0.618を特定してないものなので、かなり書き換えないと難しいですね >>827 と思ったけど、_pivotのyの値と、_destinationのyの値の大小をみれば、簡単にできそうですね。 >>825 OmegaChart Fibonacciリトレースメント Fibonacci.cs 新規追加 ※フィボナッチの位置情報(61.8%とか)も描画 https://osdn.net/users/omegachartuser/pastebin/5833 Fibonacci.csだけを上記内容で上書きすれば動くと思います。差分追加修正ポイントには//20180731 のコメントを書き入れました。 要望では”F5”のような文字描画でしたが、サンプルコードでは、”61.8%”のようなフィボナッチ数値にしました。 >>829 何度もすみませんお世話になります、ありがとうございます。 差し替えられたコードをフルコピペして、問題なく動作確認できました。 些細なことながら、Fibonacci.cs,#5833、210行目と213行目の記述。 レベルゲージのラベル表記の序列について、自分の認識として上昇値幅の計測では、 「高値へ向かって0.618→半値→0.382」と小さくなり、下降値幅の計測ならこの逆ではないでしょうか。 表現例、、、買われすぎからの38.2%押し→61.8%押し、、逆に売られすぎ反発上昇では、、38.2%戻り→61.8%戻り、、など。 場所、Fibonacci.cs,#5833.txt、209行目以下の部分を > //20180731 追加 > var s = new string[] { "Hi", "61.8%", "50%", "38.2%", "Lo" }; > if (_pivot.Y > _destination.Y) > { > s = new string[] { "Hi", "38.2%", "50%", "61.8%", "Lo" }; > } 自分の例として、このように短く記号を記述してみました。 公開下さったコードは自分の要望以上の仕様です。 上昇値幅観測と下降値幅観測の違いによって、レベルゲージのラベル表記が可変することは自分の頭から抜けてました。 ほんとに素晴らしいご対応、ありがとうございます。 一つだけ確認した注意点としては、OmegaChartのチャート反転表示中は正常に機能しません。 >>830 >レベルゲージのラベル表記の序列 マケスピがこの表記だったので合わせてみましたが、SBIのチャートやMT4は逆でした。 チャート反転機能はまったく忘れてました。反転中は機能させなくするか、それとも解決方法があるのか。 時間があれば考えてみたいと思います。 >>831 チャート反転時にフィボナッチ・リトレースメントがうまく動作しない件 異常動作は2つのケース ・反転時かつ対数チャートではないときに、38.2%と61.8%のラインが変な位置に出る → 今回修正 ・反転時に38.2%と61.8%の案内表示がマウスを動かすたびにクルクル変わる → 修正不可能なので反転時は案内表示をやめる https://osdn.net/users/omegachartuser/pastebin/5833 194行目を以下のように修正 k2 = Math.Abs(k1 - k5) * 0.618 + Math.Min(k1,k5); 196行目を以下のように修正 k4 = Math.Abs(k1 - k5) * 0.382 + Math.Min(k1, k5); 210行目〜214行目を以下のように修正 var s = new string[5] { "", "", "", "", "" }; if (!Env.Preference.InverseChart) { if (_pivot.Y > _destination.Y) { s = new string[] { "0%", "38.2%", "50%", "61.8%", "100%" }; } else { s = new string[] { "100%", "61.8%", "50%", "38.2%", "0%" }; } } >>833 何度も大変ご苦労さまです。 動作確認できました。チャート反転してもちゃんとついて来ます。 ツールの使い勝手は反応機敏で安定して軽やか、書いて消して何度でも繰り返せてストレスを感じません。 フォボナッチ系テクニカルやツールをかなり使い込んでますが、これは良好で楽しいです。 フォボナッチツールのラインについて。 フリーライン描画機能では、OmegaChart画面右側に指標と凡例の表示枠を表示すると、 その表示枠の左端部分を表示エリアの限度として線が消えますが、このフィボナッチラインはモニターの右端までとことん消えませんね。 今のところ邪魔になっているわけではありませんが、一応のご報告です。 それから、厚かましいにも程があると思いますが。 このツールは値幅を自動で取得する仕様で素晴らしいですが。 作者様の言われるように既存コードに簡単な改変を施すだけで実現可能な範囲という前提として。 OmegaChart起動パネルから、あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか。 欲をかいてそんなこを思ったりもしております。 一般的に現状のままでスキがないと思います。本当にありがとうございます。 使いまくってます。 >>834 >あえてフリーハンドモードへ一時的に切り替わるなどが実現可能でしょうか これ、自分も考えたことがあるんですが、結構難しくてですね、実現に至っていません。 まだまだ ほぼ毎日スクリーニングに使っております。 フィボナッチリトレースメント凄い。 (妄想) もしそのフリーハンドでも描ける機能が実現するなら、 値幅メジャー表示への切り替えも可能になれば利用の幅が広がります。 切替機能1(標準)自動モード→フリーハンドモード(臨時) 切替機能2(標準)フィボナッチ計算値表示→値幅メジャー表示(臨時) リスクリワードのだいたいの目安を見るのに便利です。 日付を固定して表示する機能追加の件、便利に利用させて頂いております 有り難うございます 特定の銘柄で表示固定が うまく行かない場合に遭遇しましたので確認して頂ければと思います 4381 ビープラッツ、6571 キュービーネット、9271 和心等で起こりましたが私だけでしょうか >>839 それ全部データ量が少ない今年のIPOばかりですね。 自分の環境では、オシレータ表示を消しておけば問題ありません。 「日付固定」機能は、オメガチャート画面下に表示される、左右に動くスクロールバーを操作する機能です。 なので、直近IPOみたいに足の数が少ない銘柄は、スクロールバー自体が表示されないので機能しないという話になります。 >>833 OmegaChart Fibonacciリトレースメント Fibonacci.cs どうでもすみません。 フィボナッチ拡張レベルを追加してみたんですが上手くいきません。 一見は描けてるように見えますが。 過去に、フリーライン描画が頼りないことがありましたが、あのように日付ルーラーが交差すると消えることがあります。 記述は下記の通りです。 改変箇所の主要部分(独自に多くレベルを追加してます、すみません) ↓↓ >>844 > if (Env.Preference.LogScale) > { > k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y)); > k2 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル > k3 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル > k4 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y)); > k5 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y)); > k6 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.500 + Math.Min(p1.Y, p2.Y)); > k7 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y)); > k8 = pricetrans.Inverse(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y)); > k9 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル > k10 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル > k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); >>845 > y1 = Math.Min(p1.Y, p2.Y); > y2 = (float)(Math.Abs(p1.Y - p2.Y) * 2.618 + Math.Min(p1.Y, p2.Y));//拡張レベル > y3 = (float)(Math.Abs(p1.Y - p2.Y) * 1.618 + Math.Min(p1.Y, p2.Y));//拡張レベル > y4 = (float)(Math.Abs(p1.Y - p2.Y) * 0.236 + Math.Min(p1.Y, p2.Y)); > y5 = (float)(Math.Abs(p1.Y - p2.Y) * 0.382 + Math.Min(p1.Y, p2.Y)); > y6 = (p1.Y + p2.Y) / 2; > y7 = (float)(Math.Abs(p1.Y - p2.Y) * 0.618 + Math.Min(p1.Y, p2.Y)); > y8 = (float)(Math.Abs(p1.Y - p2.Y) * 0.764 + Math.Min(p1.Y, p2.Y)); > y9 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 0.618);//拡張レベル > y10 = (float)(Math.Min(p1.Y, p2.Y) - Math.Abs(p1.Y - p2.Y) * 1.618);//拡張レベル > y11 = Math.Max(p1.Y, p2.Y); > } >>846 > else > { > k1 = pricetrans.Inverse(Math.Min(p1.Y, p2.Y)); > k11 = pricetrans.Inverse(Math.Max(p1.Y, p2.Y)); > k2 = Math.Abs(k1 - k11) * 2.618 + Math.Min(k1, k11);//拡張レベル > k3 = Math.Abs(k1 - k11) * 1.618 + Math.Min(k1, k11);//拡張レベル > k4 = Math.Abs(k1 - k11) * 0.764 + Math.Min(k1, k11);//修正20180801 > k5 = Math.Abs(k1 - k11) * 0.618 + Math.Min(k1, k11);//修正20180801 > k6 = (k11 + k1) / 2; > k7 = Math.Abs(k1 - k11) * 0.382 + Math.Min(k1, k11);//修正20180801 > k8 = Math.Abs(k1 - k11) * 0.236 + Math.Min(k1, k11);//修正20180801 > k9 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 0.618;//拡張レベル > k10 = Math.Min(k1, k11) - Math.Abs(k1 - k11) * 1.618;//拡張レベル >>847 > y1 = Math.Min(p1.Y, p2.Y); > y2 = (float)pricetrans.TransValue(k2); > y3 = (float)pricetrans.TransValue(k3); > y4 = (float)pricetrans.TransValue(k4); > y5 = (float)pricetrans.TransValue(k5); > y6 = (float)pricetrans.TransValue(k6); > y7 = (float)pricetrans.TransValue(k7); > y8 = (float)pricetrans.TransValue(k8); > y9 = (float)pricetrans.TransValue(k9); > y10 = (float)pricetrans.TransValue(k10); > y11 = Math.Max(p1.Y, p2.Y); > ここまでにしときます、、、たぶん以下はいいかと思うのですが。 こんなやり方ではダメでしょうか。 修正のアドバイスお願いします。 フィボナッチを完全にエラーなく再現するのは難しいところがあるからある程度のところで妥協したほうがいいのかもしれないね この調子で4.236相当レベルをこれに追加して総数13個を登録しました。 どんなときに何が原因で不安定になるのか分かりませんが、この状態で使ってます。 ヤフーCS機能について、0値埋め機能に株価0円はあり得ないという仕様に変更するとかどうにか 上場前の銘柄コードに0円の株価DATAを格納しないようになりませんか。 Yahoo.csの一番下の方に、「出来高がない日の株価データがないので値が0のデータを補う」とあります。 このforeach文を丸ごとコメントアウトすればいいように見えますが、試してません。 0201の円・ドルデータで週足表示にすると表示がおかしくなりませんか あと指数類(0202,0501〜0533)も週足や月足へ表示を切り替えると変になる困った ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる