帆布很酷! - 页 63

 
Renat Akhtyamov:

真漂亮!!!"。

尼古拉,请把彩虹调色板形成的代码列表扔在这里

如果它将是一个函数的形式,它将更加实用
我已经做过很多次了。我现在不在我的电脑前。
该函数被称为Grad。
你至少可以在3DSpiral的代码之后找到它。
 
Nikolai Semko:

三维移动平均数
我明天会把代码扔到 "购买更多 "中。


尼古拉,你从来没有停止过惊奇!

 

很好!

 
曾经在我的脑子里旋转)现在你可以看一下。有趣的想法,我想了几个小时。Z轴的行为可能意味着什么...?它看起来像山脉和前面的平原。像俄罗斯的高加索地区是目前的价格,其他高原地区是平均价格......)
但当从空间上看时,它变成了一个沿Z轴的距离。但距离是在什么地方?总之,我还没有想出什么解说词,但我想知道尼古拉是否完全按照我脑子里看到的那样做了。
 
Maxim Romanov:
但当从空间上看时,它变成了一个沿Z轴的距离。但在什么方面的距离?
Z是MA的周期。
在这种情况下,所有三个维度都有不同的量级。
x-时间
y - 价格
z是计算算术平均值的周期
它们的范围只是按比例调整以适应屏幕的大小。
 

关于交易、自动交易系统和策略测试的论坛

图书馆:Easy Canvas

Nikolai Semko, 2020.02.17 05:15

我想为感兴趣的程序员在测试器模式下操作kanvas时澄清一个重要问题。
这个社区的一个知名程序员带着这个问题来找我。

- 为什么在测试模式下,我在对象上创建的面板的重绘速度比在画布上的快得多,而在正常模式下,我的面板是以正常速度在画布上绘制的?

我已经设法了解了问题的原因和解决办法。

问题是,对象的重绘与整个屏幕的重绘同时进行,而测试器中的屏幕重绘频率不超过每秒30帧。

对象最终是同一个画布(内部),但是当你改变对象的属性 时,对象的画布并没有生成(没有重新计算),而是在屏幕更新时才生成(ChartRedraw),这在测试者中发生的频率(在正常模式下也是如此)不超过我们眼睛能分辨的变化,即不超过每秒~32帧的频率。

假设面板每一个刻度都在变化。然后,默认画布也会在每一次勾选中重绘,但在测试器中重绘的频率仍然不超过~30毫秒(~30帧)。

换句话说,画布被重新计算的频率将远远高于它在屏幕上实际显示的频率,这导致了资源的过度使用。

解决这个问题的办法是确保画布的重新计算和重新绘制的频率不超过每15-30毫秒的计算机时间,然后就不会出现不必要的空的重新计算周期。

例如,像这样。

void OnTick()
  {
  static uint lastCalc=0;
  uint cur=GetTickCount();
  if (cur-lastCalc>15) {
    ReDrawMyCanvas();
    lastCalc=cur;
   }
  }

 
Nikolai Semko:

这应该张贴在功能主题中--有用。
 

大家好,我想加深我对Canvas的了解

我甚至不知道该从何说起。现在我在想象,Canvas是复杂的对数公式之类的东西。

你能给我一个例子,如何在画布上做一个像下面这样的按钮。我需要代码来理解它。


 
Vladimir Pastushak:

大家好,我想加深我对Canvas的了解

我甚至不知道该从何说起。现在我在想象,Canvas是复杂的对数公式之类的东西。

你能告诉我如何在画布上做一个像下面这样的按钮为例。我需要代码来理解它。


使用一个现成的元素更容易。(作为一个Png图像)。

所以它是一条线,有一个转弯,另一条线更多的转弯,等等。- 然后是一个较小的,以梯度形式填充的(这是你定义填充的方式)。

在画布上,你只有一个原始的条纹矩形和圆形,可以画出我们的人物或线条的轮廓,也可以填充它。

因此,默认情况下,有一个矩形是可以立即填充的,.....

还有一个带点的画布,可以画出你的基元(扩展类)。

可能写了很多你已经知道的东西。


还有一个带有矢量矩阵的3D画布