ライブラリ: イージーキャンバス - ページ 6

 
Алексей Тарабанов:

点滅の原因は特定されているか?

どのような点滅ですか?

点滅はしていない

 
そうだね。
 
Nikolai Semko:

何の瞬き?

点滅はしていないよ。

349行目のキャンバスの再作成が原因だと思う。
 

便利で機能的なライブラリをテストした!

つの質問があります:

1. 矢印で終わるセグメントの実装はありますか?(C++の下に例があります。http://www.cyberforum.ru/qt/thread1534114.html 移植するのは問題ありませんが、もしかしたら既製品があるかもしれません。))

2. チャートを変更すると、キャンバス全体がクリアされるのですか?- もしそうなら、とても不便です。もしそうでないなら、私はそれがわかっていません。

 
Oleksii Chepurnyi:
349行目のキャンバスの再作成が原因だと思います。

それがフリーズの原因になっていることがわかったので、修正しました。しかし、iCanvasが動かなくなっただけで、点滅はしていない。

 
new version 1.35.
バージョン1.34で正弦波の例が動作しない原因となっていた小さなバグを修正。
 
Igor Makanu:

便利で機能的なライブラリをテストした!

つの質問

1. 矢印で終わるセグメントの実装はありますか?(C++の下に例があります。http://www.cyberforum.ru/qt/thread1534114.html 移植するのは問題ありませんが、もしかしたら既製品があるかもしれません。))

2. チャートを変更すると、キャンバス全体がクリアされるのですか?- もしそうなら、とても不便です。もしそうでないなら、私はそれを理解していません。

ありがとう、イゴール。

1.いいえ、まだ実装していません。平滑化されていない線では、それを行うのは非常に簡単です。実装していないことがたくさんあるし、まだ投稿していないこともたくさんある。

2.いや、もちろんそんなことはない。なぜそうするのか。私のプログラムでは、チャートを変更するとき、座標が画面のピクセルではなく、時間と価格に結びついているときは、強制的にすべてを再描画する。価格と時間で座標が変わるのに、そうでないわけがない......。

実は、このライブラリの最大の美点は、そのスピードにあります。
iCanvas でやっていることをすべて CCanvas でやろうとすると、スピードは大幅に落ちます。
その主な理由は、ChartXYToTimePrice() のようなひどく遅い非同期関数を使わなければならなくなり、5000マイクロ秒ほどかかるからです。これは信じられないほど長い時間です。

iCanvas の主な目的は、このような非常に高価な関数から解放されることでした。

https://www.mql5.com/ru/forum/1111/page2099#comment_6310826

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.01.06
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

CCanvasのLine関数は、2点の座標が画面内で保証されていない場合は使わないほうがよい。深刻なバグがあります。

#include <Canvas\iCanvas.mqh> //https://www.mql5.com/ja/code/22164

void OnStart() {
   Canvas.Erase();
   ulong t=GetMicrosecondCount();
   Canvas.LineD(-2000000000.0,-2000000000.0,800.0,800.0,0xFF0000FF);
   t=GetMicrosecondCount()-t;
   Print("LineDのランタイムは" + string(t)+「マイクロ秒);
   Canvas.Update();

   t=GetMicrosecondCount();
   Canvas.Line(-2000000000,-2000000000,800,800,0xFFFF0000);
   t=GetMicrosecondCount()-t;
   Print(「ライン・ラン・タイム + string(t)+「マイクロ秒);
   Canvas.Update();
   Sleep(3000);
}

実行結果

2020.02.07 19:08:28.030 TestLine (EURUSD,M1)    Время выполнения LineD - 4       микросекунд
2020.02.07 19:08:29.381 TestLine (EURUSD,M1)    Время выполнения Line  - 1349411 микросекунд
 

最終バージョン 1.35

https://www.mql5.com/ja/code/27733
3D Moving Average
3D Moving Average
  • www.mql5.com
CSetFileReader Class to provide simple reading mechanism from MetaTrader set files. Trade Copier - Open Source - Multiplatform - Transmitter Side Trade Transmitter will Transmit Trades from MT5 Demo or Real accounts using CSV Files. Each trade request created manually or by other EAs on MT5 terminal will be...
ファイル:
iCanvas.mqh  45 kb
 
Nikolai Semko:

これが原因でフリーズが起きているのを発見して修正した。しかし、点滅はせず、ただiCanvasが動かなくなっただけだった。

状況によって違うのかもしれないが)。キャンバスを再作成していたら、点滅しているように見えた。 その行を注意したかったが、時間がなかった )