文章 "基于画布的指标:为通道填充透明度"

 

新文章 基于画布的指标:为通道填充透明度已发布:

在本文中,我将介绍一种创建自定义指标的方法,该方法利用标准库中的类 CCanvas 来完成绘图,并可查看图表属性以便坐标转换。 我将着手处理特殊的指标,其需要用透明度填充两条线之间的区域。

现在我们将进行一些小更新,从而令其正常工作。

  1. 更新我们的 Redraw 函数,删除先前指标中添加的参数,并添加 DrawFilling 函数。
  2. 在 OnComputing 中添加我们的 Redraw 函数,以便在指标值发生变化时更新绘图。
  3. 更改在调用 CreateBitmapLabel 时作为参数传递的对象名称。

这样就完成了。 您可以看到它现在有两个不同周期的轨道线,和一个矩形对象的外观。

利用 CCanvas 的轨道线 alpha = 128

作者:Samuel Manoel De Souza

 

您好!


在滚动图表时,框架会像对象一样无延迟地跟随烛台移动,这样做现实吗?

 
Petr Zharuk #:

美好时光

在滚动图表时,框架会像对象一样无延迟地跟随烛台移动,这样做现实吗?

当图片的左上角与价格时间绑定并与窗口本身重叠时,即画布的大小大于窗口本身的大小时,可以使用OBJ_BITMAP 进行操作。
在这种情况下,您几乎可以实现完全无延迟。

这就是我个人不愿意这样做的原因。
还有另一种选择--禁用本地图表并在画布上创建自己的图表。但如果您不需要在该图表上使用其他指标,那么这种方法是合适的。

 

塞缪尔干得漂亮!

但我在这里看到了一种情况:在我的指标中使用它时,每次 PRICES 轴重新缩放时,我们都会发现 CANVAS 并没有更新。

请看图片:


在这里,我手动调整了窗口大小,一切都已自动固定,但当当前蜡烛越过图表边界,导致蜡烛完全重新缩放时,CANVAS 并没有像它应该做的那样重新缩放:




此外,我还发现 DrawFilling 函数如果使用两次,就会消耗大量时间,我的意思是在三条线中绘制两种颜色(见上文)。我想,如果我们能优化例程以提高速度,那一定会很有趣。

总之,你的工作和文章都很棒--祝贺你!