首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在mql4中绘制曲线进度图?

在mql4中绘制曲线进度图,可以通过使用绘图函数来实现。MQL4是一种专门用于MetaTrader 4平台的编程语言,用于开发自动交易系统和指标。

要绘制曲线进度图,可以按照以下步骤进行:

  1. 创建自定义指标或脚本:在MetaEditor中创建一个新的自定义指标或脚本文件。可以使用#property indicator_chart_window指令将指标显示在图表上,或者使用脚本来执行特定的功能。
  2. 定义输入参数:使用input关键字定义需要的输入参数,例如曲线的颜色、宽度等。
  3. 定义初始化函数:使用OnInit函数来初始化指标或脚本。在该函数中,可以使用IndicatorBuffers函数来定义需要的缓冲区。
  4. 计算曲线数值:使用iCustom函数获取所需的数据,或者进行计算,将结果存储在缓冲区中。可以使用SetIndexBuffer函数将计算结果与缓冲区关联起来。
  5. 绘制曲线:使用Plot函数来绘制曲线。可以使用Plot函数的不同参数来设置曲线的样式、颜色等。
  6. 更新曲线:在每个新的价格更新时,使用OnCalculate函数来更新曲线的数值。可以使用CopyBuffer函数获取最新的数值,并使用PlotIndexSetDouble函数更新曲线。

以下是一个示例代码,用于在mql4中绘制曲线进度图:

代码语言:txt
复制
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue

input int period = 14;

double buffer[];

int OnInit()
{
    SetIndexBuffer(0, buffer);
    return(INIT_SUCCEEDED);
}

void OnCalculate(const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
{
    int limit = rates_total - prev_calculated;
    if (prev_calculated > 0)
        limit++;

    for (int i = 0; i < limit; i++)
    {
        // 计算曲线数值
        buffer[i] = iCustom(NULL, 0, "CustomIndicator", period, i);
    }
}

在上述示例中,我们使用了buffer作为缓冲区来存储曲线的数值。在OnCalculate函数中,我们使用iCustom函数获取自定义指标的数值,并将其存储在buffer中。然后,使用Plot函数将曲线绘制在图表上。

请注意,示例中的CustomIndicator是一个自定义指标的名称,需要根据实际情况进行替换。

这是一个简单的示例,用于演示如何在mql4中绘制曲线进度图。根据具体需求,可以根据自己的需要进行修改和扩展。对于更复杂的图表需求,还可以使用其他绘图函数和技术来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Qt编写自定义控件20-自定义饼

一、前言 上次在写可视化数据大屏电子看板项目的时候,为了逐步移除对QChart的依赖(主要是因为QChart真的太垃圾了,是所有Qt的模块源码最烂的一个,看过源码的人没有一个不吐槽,不仅不支持10W级别的数据量曲线展示...,居然一个饼控件,文字部分的展示还用QLabel来显示的,这么低效率的方式都有),起初曲线图和柱状等都用QCustomPlot替代了,就剩一个饼需要自己用无敌的QPainter来绘制了,绘制对应的背景区域难度不大...,稍微会用QPainter的人都可以实现,用的就是drawPie绘制即可,关键是如何在自己所在的区域绘制对应的文字和百分比,这个需要找到对应区域,然后找到合理的位置摆放文字,这个可能就需要用到一点数学知识了...、进度球、指南针、曲线图、标尺、温度计、导航条、导航栏,flatui、高亮按钮、滑动选择器、农历等。...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,不乱码,可直接集成到Qt Creator,和自带的控件一样使用

1.4K00
  • Android魔术系列:手把手教你实现水晶球波浪进度

    为上面的图形加上一个圆形的遮罩,遮罩设置为DST_IN,就可以得到想要的效果,如图 这样当我们有两条不同的曲线,经过(5)处理后区域叠加在一起的时候,就形成了(1)的波浪效果。...绘制分三个部分。 (1)第一部分绘制一个圆环,这是球的边缘。 (2)第二部分绘制4)区域。在这一部分通过判断isWaveMoving做两种不同的处理。...当false时表示不在运动,这时没有波浪,即水平线是平的,直接绘制两个矩形即可。 (3)第三部分绘制遮罩,产生(5)的效果。 遮罩是一个圆形的bitmap,遮罩模式我们使用DST_IN。...左右运动本质上是曲线的偏移,由参数c控制,在onDraw代码可以看到分别是mOffsetA和mOffsetB。...再回头看startProgress函数一开始,判断两个动画是否在进行,如果是cancle掉。保证在频繁改变进度的时候不会出现几个动画一起运行的情况。

    89810

    如何用燃尽进度管理?

    燃尽就是用来反映此类项目数据的工具,常用于敏捷软件开发Scrum。它可以呈现剩余工作量和可用剩余时间,并通过可视化的图示表述繁复文字无法表述的意思。 ? ? 1-燃尽是什么?...燃尽可以呈现团队处理用户故事进度,是一种对工作完成情况可视化展示的工具,燃尽可显示每次迭代工作总量仍需完成的工作余量。...实际曲线 燃尽图中还存在一条实际曲线,显示项目或迭代实际剩余的工作量。 在起点,计划剩余工作量和实际剩余工作量是相同的,但随着项目或迭代的进行,实际剩余工作曲线将在计划工作线的上下方波动。...如果实际工作线高于计划曲线,则意味着剩下的工作量比预期多,换句话说,意味着项目进度落后于计划。但如果实际曲线低于计划曲线,则意味着剩余工作量少于预计,项目进度快于既定计划。 ?...当时正在Fidelity Investments工作的Ken Schwaber创建了燃尽,来为Scrum团队提供一个可以帮助他们绘制项目进度的简单工具。

    1.7K40

    【PMP】六、项目进度管理

    本过程的主要作用是,为如何在整个项目期间管理项目进度提供指南和方向。...简单的网络不等于进度计划 进度网络绘制方法 紧前关系绘图法 箭线图法 条件绘图法 箭线图ADM 箭线法:ADB(Arrow Diagramming Method),又叫双代号法AOA。...详细的进度计划 列出具体的进度活动、活动之间的逻辑关系和各进度活动的进度安排 进度活动是详细的进度计划中所列出的最底层的活动 可用逻辑横道发或节点法来绘制 里程碑 化远景为近景,积小胜为大胜,变黑箱为明账...,截大限位小限 三种的比较 优势 作用 备注 项目进度网络 表示活动之间的逻辑关系 详细的进度计划,供项目团队实际执行使用 用节点法绘制,也可以采用时标进度网络绘制(逻辑横道) 横道 追踪概况性的活动进度...迭代燃尽 燃尽:在项目完成之前,对需要完成的工作的一种可视化表示 Y轴(工作)和X轴(时间) 理想情况下,该图表示一个向下的曲线,随着剩余的工作完成,燃尽至0, 向项目组成员和企业主提供工作进展的一个公共视图

    2K20

    使用GPT和Draw.io生成工作流程

    在现代工作环境,工作流程是一种常见的工具,用于可视化和传达复杂的流程和步骤。传统上,绘制工作流程需要手动绘制或使用专业的绘图工具,这可能会面临一些难点和挑战。...学习曲线:一些专业的绘图工具对于非专业用户来说可能具有陡峭的学习曲线。花费时间学习和掌握这些工具可能会影响工作效率。...时序:通过Mermaid语法,用户可以创建时序,展示系统不同组件之间的交互和通信顺序。它可以用于描述事件发生的顺序、交互的时间轴以及消息的传递和响应。...甘特图:Mermaid语法还支持创建甘特图,用于展示项目或任务的时间安排和进度。用户可以定义任务的开始时间、持续时间和依赖关系,以生成可视化的甘特图。...导出和嵌入:Mermaid图表可以导出为各种图像格式(PNG、SVG)或HTML代码,方便在网页、文档或演示文稿嵌入和共享。

    33010

    如何理解并应用贝塞尔曲线

    由公式(1)可知 将公式(2)(3)代入公式(4),可得 三阶贝塞尔曲线 同理,根据以上的推导过程可得 由此可以推导 n阶贝塞尔曲线 放上一个网址,随意感受一下贝塞尔曲线绘制过程:...http://myst729.github.io/bezier-curve/ 实际应用 贝塞尔曲线在前端主要有两方面的应用,一方面可以作为动画曲线应用于CSS3动画中;另一方面可以通过canvas来绘制曲线达到需要的效果...有个网站可以方便我们快速建立一个贝塞尔曲线:cubic-bezier 贝塞尔曲线与动画曲线的关联 先来一波动简单粗暴的感受一下: 例一: 例二: 例三: 左边的是贝塞尔曲线,横轴代表了事件,竖轴代表了进度...如何得知速度的变化 推导 例一,贝塞尔曲线为一条直线,当时间均匀变化时,进度也在均匀变大,由此可知速度恒定不变,时间和进度之间的关系可以用一个线性方程来表示: y=ax+b (a=1,b=0) 其中x...放上动画曲线以及动来验证一下我们的推测: 推导案例二 下图中的曲线部分在第四象限,部分在第一象限,这时对应的动画曲线该如何推导呢。

    1.3K20

    如何理解并应用贝塞尔曲线贝塞尔曲线原理实际应用总结

    放上一个网址,随意感受一下贝塞尔曲线绘制过程: myst729.github.io/bezier-curv… 实际应用 贝塞尔曲线在前端主要有两方面的应用,一方面可以作为动画曲线应用于CSS3动画中...;另一方面可以通过canvas来绘制曲线达到需要的效果。...左边的是贝塞尔曲线,横轴代表了事件,竖轴代表了进度,无法直观得感受出速度的变化。 右边的曲线是控制面板的动画曲线,横轴是时间,竖轴是速度,可以方面地看出速度的变化。...如何得知速度的变化 推导 例一,贝塞尔曲线为一条直线,当时间均匀变化时,进度也在均匀变大,由此可知速度恒定不变,时间和进度之间的关系可以用一个线性方程来表示: y=ax+b (a=1,b=0) 复制代码...放上动画曲线以及动来验证一下我们的推测: ? ? 推导案例二 下图中的曲线部分在第四象限,部分在第一象限,这时对应的动画曲线该如何推导呢。

    4.3K20

    绘图

    核心元素:方框(类,包含类名、属性、方法)、线条(关系,继承、关联)。 如何绘制:确定系统的类,定义类的属性和方法,确定类之间的关系并用线条表示。...如何绘制:定义对象可能的状态,确定触发状态变化的事件,用箭头连接状态表示转换。 甘特图(Gantt Charts) 作用:项目管理,用于规划和展示项目的时间线和进度。...核心元素:横轴(时间)、纵轴(任务)、条形(任务进度)。 如何绘制:列出所有任务,确定任务的开始和结束日期,用条形图表示任务的时间跨度和完成情况。...UML建模工具(对于用例、类、时序等) 每个工具都有自己的特点和学习曲线,但大多数都提供了拖放界面和预定义的图形元素,使得绘制上述图表变得更加容易。...你可以使用UML绘图工具来创建这样的时序Lucidchart、Draw.io或其他UML软件。

    13710

    Qt编写数据可视化大屏界面电子看板11-自定义控件

    也用到了四五个自定义的控件,比如那个环形百分比,多态进度条,合格率仪表盘,速度仪表盘等,这些控件在现有的类是没有的,需要用QPainter这个牛逼的工具来绘制,类似于神笔马良似的,给我一个画笔,可以画出任意你想要的图形...子控件包括饼+圆环+曲线图+柱状+柱状分组+横向柱状+横向柱状分组+合格率控件+百分比控件+进度控件+设备状态面板+表格数据+地图控件(包括动态闪烁点+迁徙等)+视频控件+其他控件等。...可设置多条曲线颜色,没有设置颜色的情况下内置15套精美颜色随机应用。 可设置标题栏背景颜色+文字颜色。 可设置曲线图表背景颜色+文字颜色+网格颜色。...曲线支持游标+悬停高亮数据点和显示值,柱状支持顶部(可设置顶端+上部+中间+底部)显示数据,全部自适应计算位置。 主界面直接鼠标右键切换布局+配色方案+关闭开启某个二级窗体。...drawBg(&painter); //绘制进度 drawRing(&painter); //绘制间隔,重新绘制一个圆遮住,产生间距效果 if (ringPadding

    1.1K30

    包教包会-贝塞尔曲线绘制原理与应用

    它的应用非常广泛,比如说PS的钢笔工具所绘画的曲线就是贝塞尔曲线绘制动画的运动轨迹等等,而最近一次想用到贝塞尔曲线是想做一个 路径动画 。...简易曲线图表 每两个点之间都是用3阶贝塞尔曲线连接(细节待完善) 过山车 1、在空白处绘制贝塞尔曲线 2、过山车沿着绘制的贝塞尔曲线行驶3、支持多个连接的贝塞尔曲线路径 Demo示例...这张,我只能说:什么鬼!!!...在这里我们要将整个曲线绘制量化为从0~1的过程,用progress为当前过程的进度,progress的区间即0~1。...根据进度点从起点向终点移动 下面是绘制一个二阶贝塞尔曲线过程,先给口诀: 点生线,线生点 ?。

    1K10

    项目经理必备——使用燃尽监控项目整体进度

    在《跳出任务管理的泥沼,拥抱甘特图的怀抱》一文,我谈到了使用甘特图来规划任务(关注公众号,回复: 甘特图获取本文)。甘特图更多的关注每一个任务的进度上。...此时的时间消耗,绘制为折线图如下图所示。 ?...纵坐标为任务剩余时间,横坐标为日期, 然而,在实际情况,可能有些任务能提前完成,有些任务时间又需要延迟,实际上的剩余时间和日期的折线图可能如下图橙色曲线所示。 ? 这就是 燃尽。...从这一幅燃尽图中,我们可以看到:在2018-12-01到2018-12-05时,我们的开发进度是领先于计划的,看起来任务应该能够提前完成,橙色曲线斜率负得越多,越陡,表示实际开发进度领先得越多。...前期落后进度,后期加速赶上 ? 如何绘制燃尽 燃尽是敏捷开发的一个概念,不少敏捷开发的相关的项目管理系统中都能够生成燃尽

    4.4K30

    大脑发育揭示脑发育的“黄金”期|研究速递

    这些曲线图直观体现了人类大脑如何在生命早期快速扩大,之后又随年岁增长而逐渐缩小。该研究成果2022年4月6日发表在《Nature》上,让那些苦于研究重复问题的神经科学家大为惊艳。...这些研究首次为全身至关重要的器官——大脑,绘制出了综合性的标准化生长曲线图:脑(BrainChart)。 这项研究成果直观地显示了人类大脑在生命早期如何快速膨胀,然后随着年龄增长慢慢萎缩。...脑涵盖大脑在整个人生过程的变化,不仅能像儿科医生用的生长曲线那样评估生命初期的大脑是否正常生长发育,还可以系统评估大脑的衰老,以及受到阿尔茨海默病等疾病的影响。...研究人员在超过12万张脑扫描的基础上绘制了覆盖人类整个生命周期的大脑发育。...研究人员最后按年龄绘制了多个主要大脑指标的曲线图。一些指标,灰质体积和平均皮质厚度(灰质宽度)在个体发育早期达到最大值,而白质(位于大脑更深处)体积在30岁左右达到最大值(见“大脑变化”)。

    83830

    项目管理工具之燃尽:动态考核团队工作能力

    从最早期,燃尽定位是为Scrum团队提供一个可以帮助他们绘制项目进度的简单工具,随着燃尽在Scrum社区越来越受欢迎,它开始运用于scrum之外的其他领域,成为管理者控制项目进度的有用工具。...燃尽的燃尽,表示随着工作项的逐渐完成,整体工作任务像燃烧的灰烬一样,逐渐烧尽至0,是工作量完成进度的可视化展现。燃尽由横轴和纵轴组成,随着剩余工作的逐渐完成,图表由一条向下的曲线,直到下降至0。...图片在敏捷开发类的项目管理,燃尽又得到了更多可以施展的空间,从简单的任务完成估算,到在项目中,进行观测和考核,来看到项目组成员的工作能力以及对应的工作量,燃尽也被提升到更重要的位置。...在国内外众多的项目管理工具,也经常见到燃尽的身影,例如 Jira的Agile组件的Report,即是把燃尽作为管理研发类项目的一个常用工具,国内的项目管理软件UniPro也可以在仪表盘内,通过选择项目...、查看类型、工作项类型、时间精度等,自动生成燃尽,它的特点是补充甘特图无法捕捉项目进度执行的流动性的缺失,为员工和管理者带来团队或个人项目进度实施情况的直观展现,从而帮助识别问题,并改善团队和个人的执行力

    36930

    【5分钟玩转Lighthouse】Python绘制图表

    本文将讲解如何在Lighthouse等云服务器上通过display、Python、Matplotlib等工具查看和绘制各类图表。...0x03 安装Matplotlib Matplotlib简介 Matplotlib,是用于绘制各种图表(包括静态、动、甚至交互)的Python库。...比较常用的折线图、条形、直方图、散点图,函数曲线图、饼甚至3D都可以用它来绘制。Matplotlib最开始诞生于2012年,并开源(BSD协议),支持Python2和Python3。...示例——多函数曲线 除了已有数据的统计,我们还可用Matplotlib绘制函数曲线图,并且同时绘制多个曲线。...其实Matplotlib功能非常强大,还有对散点图、热度、3D等多种支持,甚至还可以保存绘制过程为动/视频,更加直观的显示数据之间的关系。

    9.9K4617

    如何绘制完美的鼠标轨迹

    方案 如何通过离散坐标绘制平滑曲线? 如果你用过 Photoshop 的钢笔工具,答案其实就很简单,用贝塞尔曲线。...Photoshop 的钢笔工具其实就是一个贝塞尔曲线编辑器,通过起点、终点以及两个控制点,就可以在起点和终点间建立一条曲线。...如何在曲线上实现宽度的渐变?...这样一来,我们根据需要来调整红色线框的形状,就可以实现一个看起来画笔宽度渐变的曲线了,至于如何计算这个线框这里先按下不表。 如何在曲线上实现透明度的渐变?...也就是说,如果有一段曲线绘制时需要将画笔透明从 1 变为 0,我们就把这条曲线分割成 100 个曲线片段依次绘制,并且绘制这些片段时所用的透明度逐渐变化,这样就可以在视觉上实现透明度渐变的效果了。

    1.8K10

    Python 使用 matplotlib

    3D图形在数据分析、数据建模、图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点、3D表面、3D轮廓、3D直线(曲线...)以及3D文字等的绘制。...准备工作: python绘制3D图形,依旧使用常用的绘图模块matplotlib,但需要安装mpl_toolkits工具包,安装方法如下:windows命令行进入到python安装目录下的Scripts...2、3D直线(曲线)的绘制 ? 这段代码用于绘制一个螺旋状3D曲线,结果如下: ? 3、绘制3D轮廓 ? 绘制结果如下: ? 4、绘制3D直方图 ? 绘制结果如下: ? 5、绘制3D网状线 ?...绘制结果如下: ? 6、绘制3D三角面片 ? 绘制结果如下: ? 7、绘制3D散点图 ? 绘制结果如下: ?

    1.3K20

    纯 CSS 实现波浪效果

    使用 canvas 实现波浪效果 使用 canvas 实现波浪效果的原理与 SVG 一样,都是利用路径绘制出三次贝塞尔曲线并赋予动画效果。...使用 canvas 的话,代码如下: 主要是利用了动态绘制 ctx.bezierCurveTo() 三次贝塞尔曲线实现波浪的运动效果,感兴趣的可以自行研究。 好,接下来才是本文的重点!...是,我们没有办法直接绘制出三次贝塞尔曲线,但是我们可以利用一些讨巧的方法,模拟达到波浪运动时的效果,姑且把下面这种方法看作一种奇技淫巧。 so,重点来啦!...因为: 中间高,两边低的效果不符合物理学原理,看上去十分别扭; 4使用纯 CSS 实现波浪进度 好,既然掌握了这种方法,下面我们就使用纯 CSS 实现上面最开始使用 SVG 或者 CANVAS 才能实现的波浪进度...的值; 在动画过程,利用 transform 对旋转椭圆进行轻微的位移、变形; 上面也演示到了,多个椭圆同时转动,赋予不同时长的动画,并且添加轻微的透明度,让整个效果更佳逼真。

    1.3K20
    领券