記事"可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ"についてのディスカッション - ページ 4 1234567 新しいコメント -vallen- 2020.03.10 11:50 #31 Roman Konopelko:こんにちは、具体的にどのようにチャートを描き直そうとしたのですか?特定の曲線のデータを変更するだけなら、ここに例があります: #include <Graphics\Graphic.mqh>//+------------------------------------------------------------------+//| スクリプト番組開始機能|//+------------------------------------------------------------------+voidOnStart() {//--- データ 1 double x1[]={-10,-4,-1,2,3,4,5,6,7,8}; double y1[]={-5,4,-10,23,17,18,-9,13,17,4};//--- データ 2 double x2[]={-10,-10,10,10}; double y2[]={-10,10,-10,10};//--- グラフィック CGraphic graph; graph.HistoryNameWidth(80); graph.Create(0,"Graph",0,30,30,830,430);//--- ポイント CCurve *curve=graph.CurveAdd(x1,y1,CURVE_LINES); graph.CurvePlot(0); graph.Update(); Sleep(1000); curve.Update(x2,y2); graph.Redraw(true); graph.Update(); Sleep(1000); } P.S.グラフィックス・ライブラリについては フォーラムにトピックが あり、この質問はすでにそこで提起されています。 例えば、各ティックでランダムなチャートを作成するコードです: #include <Graphics\Graphic.mqh> double Xg[10]={0,1,2,3,4,5,6,7,8,9}; double Yg[10]={0,0,0,0,0,0,0,0,0,0}; //------------------------------------------ int OnInit() { graf(); //グラフを描く //--- return(INIT_SUCCEEDED); } //------------------------------------------ void OnTick() { for(int i=0; i<=9; i++){ Yg[i]=(int)MathRand()/1000; } ObjectDelete(0,"Graph");//このやり方が正しいとは思わないが、他に方法がないんだ。 graf(); //新しいチャートを描く } //------------------------------------------------------------- void graf(){ CGraphic graph; graph.HistoryNameWidth(80); graph.Create(0,"Graph",0,30,30,830,430); CCurve *curve=graph.CurveAdd(Xg,Yg,CURVE_LINES); graph.CurvePlotAll(); graph.Update(true); } //------------------------------------------------------------- チャートを削除せずにデータを更新する方法がわかりません。方法をご存知の方、教えてください。 הטרנסצנדנטלי בעל-חזון 2021.05.08 17:40 #32 このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。 fxsaber 2021.05.08 17:52 #33 transcendreamer:このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。 ライブラリのソースを開き、検索でフォントをタイプしてください。 הטרנסצנדנטלי בעל-חזון 2021.05.08 19:39 #34 fxsaber:biblaのソースを開き、検索でフォントを入力する。 そこで直接シャードコード?😁 何か既成の方法があるのかと思っただけです。 実はフォントで検索してFontSetを見つけたんだけど、これが連携拒否。 Aleksey Vyazmikin 2021.05.10 23:26 #35 transcendreamer:このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。 凡例のキャプションは? graphicL.HistorySymbolSize(Point_K);//シンボルのシンボル・サイズを取得/設定する。 הטרנסצנדנטלי בעל-חזון 2021.05.10 23:51 #36 Aleksey Vyazmikin:レジェンドのサインは? ありがとうございます。 実は軸にも。 Vladimir Pastushak 2022.10.17 17:22 #37 -vallen- #:スクリプトでは明確ですが、Expert Advisorではどのように更新するのでしょうか? 例えば、各ティックでランダムなチャートを作成するコードです:チャートを削除せずにデータを更新する方法がわかりません。方法をご存知の方、教えてください。 何か回答はありますか? Anatoli Kazharski 2023.07.31 11:08 #38 Изначально класс CCanvas содержал только два режима отрисовки графических примитивов — со сглаживанием (antialiasing, AA) и без него. Затем были добавлены новые функции для создания примитивов на основе алгоритма Ву: LineWu - 直線 PolylineWu- 折れ線 PolygonWu- 多角形 TriangleWu- 三角形 CircleWu- 円 EllipseWu- 楕円 Arc() とPie() のスムージングメソッドがありません。 Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas / Arc www.mql5.com Arc(int,int,int,int,int,int,int,int,const uint) - CCanvas - Пользовательская графика - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Anatoli Kazharski 2023.07.31 12:20 #39 また、エッジを平滑化した以下の塗りつぶしメソッドも必要である: void FillTriangle(int x1,int y1,int x2,int y2,int x3,int y3,const uint clr); void FillPolygon(int &x[],int &y[],const uint clr); void FillCircle(int x,int y,int r,const uint clr); void FillEllipse(int x1,int y1,int x2,int y2,const uint clr); void Fill(int x,int y,const uint clr); void Fill(int x,int y,const uint clr,const uint threshould); //--- 現在、最初にFillCircle() メソッドを使って塗りつぶしで円を描き、次にCircleWu() メソッドを使ってその周りをなぞったとしても、スムージングは部分的に失われる。 Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas / FillCircle www.mql5.com FillCircle(int,int,int,const uint) - CCanvas - Пользовательская графика - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Artyom Trishkin 2023.07.31 12:39 #40 Anatoli Kazharski #:また、これらの滑らかなエッジの塗りつぶし方法も必要だ://---現在、最初にFillCircle() メソッドを使って塗りつぶしで円を描き、その周りをCircleWu() メソッドを使ってなぞったとしても、スムージングは部分的に失われる。 すべてのスムージング・メソッドは線の不透明度に大きく依存します。不透明度が50%程度になると、すべてがアンエイリアスになり、アーティファクトが発生します。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、具体的にどのようにチャートを描き直そうとしたのですか?
特定の曲線のデータを変更するだけなら、ここに例があります:
//+------------------------------------------------------------------+
//| スクリプト番組開始機能|
//+------------------------------------------------------------------+
voidOnStart()
{
//--- データ 1
double x1[]={-10,-4,-1,2,3,4,5,6,7,8};
double y1[]={-5,4,-10,23,17,18,-9,13,17,4};
//--- データ 2
double x2[]={-10,-10,10,10};
double y2[]={-10,10,-10,10};
//--- グラフィック
CGraphic graph;
graph.HistoryNameWidth(80);
graph.Create(0,"Graph",0,30,30,830,430);
//--- ポイント
CCurve *curve=graph.CurveAdd(x1,y1,CURVE_LINES);
graph.CurvePlot(0);
graph.Update();
Sleep(1000);
curve.Update(x2,y2);
graph.Redraw(true);
graph.Update();
Sleep(1000);
}
例えば、各ティックでランダムなチャートを作成するコードです:
チャートを削除せずにデータを更新する方法がわかりません。方法をご存知の方、教えてください。
このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。
このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。
ライブラリのソースを開き、検索でフォントをタイプしてください。
biblaのソースを開き、検索でフォントを入力する。
そこで直接シャードコード?😁
何か既成の方法があるのかと思っただけです。
実はフォントで検索してFontSetを見つけたんだけど、これが連携拒否。
このライブラリで署名のフォントサイズとスタイルを変更する方法を知っている人がいたら教えてください。- FontSetを試してみましたが、うまくいきませんでした......。
凡例のキャプションは?
graphicL.HistorySymbolSize(Point_K);//シンボルのシンボル・サイズを取得/設定する。レジェンドのサインは?
ありがとうございます。
実は軸にも。
スクリプトでは明確ですが、Expert Advisorではどのように更新するのでしょうか? 例えば、各ティックでランダムなチャートを作成するコードです:
チャートを削除せずにデータを更新する方法がわかりません。方法をご存知の方、教えてください。
何か回答はありますか?
Изначально класс CCanvas содержал только два режима отрисовки графических примитивов — со сглаживанием (antialiasing, AA) и без него. Затем были добавлены новые функции для создания примитивов на основе алгоритма Ву:
Arc() とPie() のスムージングメソッドがありません。
また、エッジを平滑化した以下の塗りつぶしメソッドも必要である:
//---
現在、最初にFillCircle() メソッドを使って塗りつぶしで円を描き、次にCircleWu() メソッドを使ってその周りをなぞったとしても、スムージングは部分的に失われる。
また、これらの滑らかなエッジの塗りつぶし方法も必要だ:
//---
現在、最初にFillCircle() メソッドを使って塗りつぶしで円を描き、その周りをCircleWu() メソッドを使ってなぞったとしても、スムージングは部分的に失われる。
すべてのスムージング・メソッドは線の不透明度に大きく依存します。不透明度が50%程度になると、すべてがアンエイリアスになり、アーティファクトが発生します。