記事"可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ"についてのディスカッション - ページ 2

 
-Aleks-:

グラフ上に2つ以上の目盛りを作ることは可能でしょうか。定規のように、区切りがセンチメートルとインチで与えられ、その値がグラフのプロットに使用された場合にのみ与えられます。

MarksToAxisAdd メソッドを使って、タスクのコンテキストに新しいマークアップを追加するのはとても簡単です。

#include <Graphics\Graphic.mqh>
//+------------------------------------------------------------------+
//| スクリプト番組開始機能|
//+------------------------------------------------------------------+
void OnStart()
  {
   double x[]={-11,-11,11,11};
   double y[]={-10,10,-10,10};
//--- グラフィック
   CGraphic graph;
   graph.HistoryNameWidth(80);
   graph.Create(0,"Graph",0,30,30,830,430);
//--- ポイント
   CCurve *curve=graph.CurveAdd(x,y,CURVE_LINES);
   graph.CurvePlot(0);
//--- X軸にマークを加える
   graph.MarksToAxisAdd(x,8,MARK_INTERNAL,0);
   graph.Update();
   Sleep(1000);
  }‌

P.S. MarksToAxisAddメソッドは新しいオブジェクトを作成しないことに注意してください。つまり、Redrawメソッドを使ってチャートを再描画すると、このマークアップは失われます。

P.P.S. 新しいセリフの追加だけでなく、サインも必要な場合は、より複雑な作業になる。TextAdd メソッドを使って各セリフを手動で書き込む必要がある。

 
Roman Konopelko:

タスクのコンテキストに新しいマークアップを追加するには、MarksToAxisAdd メソッドを使用すると非常に簡単です。

#include <Graphics\Graphic.mqh>
//+------------------------------------------------------------------+
//| スクリプト番組開始機能|
//+------------------------------------------------------------------+
void OnStart()
  {
   double x[]={-11,-11,11,11};
   double y[]={-10,10,-10,10};
//--- グラフィック
   CGraphic graph;
   graph.HistoryNameWidth(80);
   graph.Create(0,"Graph",0,30,30,830,430);
//--- ポイント
   CCurve *curve=graph.CurveAdd(x,y,CURVE_LINES);
   graph.CurvePlot(0);
//--- X軸にマークを加える
   graph.MarksToAxisAdd(x,8,MARK_INTERNAL,0);
   graph.Update();
   Sleep(1000);
  }‌

P.S. MarksToAxisAddメソッドは新しいオブジェクトを作成しないことに注意してください。つまり、Redrawメソッドを使ってチャートを再描画すると、このマークアップは失われます。

P.P.S. 新しいセリフの追加だけでなく、サインも必要な場合は、より困難な作業となる。TextAdd メソッドを使って各セリフを手書きする必要がある。

ご回答ありがとうございます。

ノッチが平行であることが必要です - ゴールは1つのポイントの2つの値を見ることです - そのため、ポイントの署名が必要です。つまり、ナビゲーション・ウィンドウでポインティングすると、目盛りによってチャートの値が表示されるということです。

 
-Aleks-:

回答ありがとう。

ノッチが平行である必要があります - ゴールは1つのポイントの2つの値を見ることです - そのため、ポイントの署名が必要です。つまり、ナビゲーション・ウィンドウでポインティングしたときに、目盛りによってチャートの値を取得するということです。

グラフィック・ライブラリの一部として、この機能はまだ計画されていません。しかし、グラフィックス・ライブラリに関する 同じトピックで、あなたが話している機能のカスタム実装がすでに紹介されています)。

 
Roman Konopelko:

この機能はGraphicsライブラリの一部として計画されたものではありません。しかし、同じGraphicsライブラリのスレッドで、あなたが話している機能のカスタム実装をすでに見ました)。

リンクをありがとう。計画されていないのは残念です - グラフィックスを使った実際の作業には非常に便利だと思います。

チャートの作成に多くの時間を費やしてきたあなたなら、おそらく答えをご存知でしょうが、私はまた自転車を発明してしまったようです。人間的には(物理的に実行すると)次のようになります - グラスを取り、それをセルに区別し、各セルでyからxに依存するインデックスを作成し、指標の正規化を行い、1色のグラデーションでグラス上のセルの指標に応じてペイントします。分析結果はパレットになり、それが判明する - それは色の陰影と光を透過する能力によって、あなたは別の指標の影響のパターンを識別することができると仮定されています。(どちらかというと、これは私のノウハウです :))ターミナルにも似たようなものがあるが、両極端のグラフがあり、これは同じではないが、もしかしたら私のアイデアのヒントになったかもしれない。

 
-Aleks-:

リンクをありがとう。グラフを使った実際の作業には非常に便利だと思います。

チャートを作る方法として、データをマトリックス状に重ね合わせるような方法はありますか?人間的には(物理的に実行すると)、次のようになります - グラスを取り、それをセルに区別し、各セルでyからxに依存するインデックスを作成し、指標の正規化を行い、1色のグラデーションでグラス上のセルの指標に応じてペイントします。分析結果はパレットになり、それが判明する - それは色の陰影と光を透過する能力によって、あなたは別の指標の影響のパターンを識別することができると仮定されています。(どちらかというと、これは私のノウハウです :))ターミナルにも似たようなものがありますが、極端なグラフを表示するもので、全く同じものではありませんが、私のアイデアのヒントになったかもしれません。

私はおそらくあなたを誤解していると思いますが、あなたが説明していることは、機械学習の古典的なクラスタリング手法に最も関連しています。特にコホネン・マップの ように見えます。
 
Roman Konopelko:
私はおそらくあなたを誤解していると思いますが、あなたが説明していることは、機械学習の古典的なクラスタリング手法に最も関連しています。特に、コホネン・マップの ようなものに見えます。

コホネン・マップは正確にはそうではなく、原理が違うのですが...。ただ、このアプローチは機械学習に役立つのではないかと思っていたのですが...。とにかく、私が考えている方向が正しいのか、それともまだそこまで行っておらず、評価するために行う必要があるのか、どちらかです。ありがとう。

 
もし難しいことでなければ、OHLCにローソク足や棒グラフを描けるようになりませんか?これらのキャンバスがとても好きなので、その上に本格的なチャートを構築できるようにしたいです。
 
Maxim Dmitrievsky:
もし難しいことでなければ、OHLC上にローソク足や棒グラフを描けるようにしていただけないでしょうか?私はこのキャンバスがとても好きなので、本格的なチャートを描けるようにしたいです。
DRAW_COLOR_CANDLES が 必要なだけでは?
 
Rashid Umarov:
DRAW_COLOR_CANDLESが 必要なだけでは?


いや、ただ、インジケーターがなくても、分布の情報を追加でチャートに表示することはできるし(それで問題はない)、同じグラフ・ライブラリーを通して、別のTFのチャートの一部、たとえば棒グラフの形で他の情報を表示することもできるといい。もちろん、4種類の価格をすべて線で出力することもできるが、見栄えはよくない。

 
Maxim Dmitrievsky:


いいえ、正確には、インジケータなしで、分布の情報を追加チャートを表示することが可能であろう(これには何の問題もありません)、別のTFからのチャートの一部、例えば、同じグラフライブラリを介して、バーの形で他の情報を表示することができるようになるとうれしいです。もちろん、4種類すべての価格を表示することもできますが、エースには見えません。

こんにちは!

CustomPlotFunction モードは同様の目的でライブラリに実装されています。

P.S. これについての詳細はフォーラム 書かれています。