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

MQL4如何从init()调用OnChartEvent()

MQL4是一种用于MetaTrader 4平台的编程语言,用于开发外汇交易机器人和指标。在MQL4中,init()函数是一个特殊的函数,它在启动时被调用,并且只会被调用一次。而OnChartEvent()函数是一个事件处理函数,它在图表上发生特定事件时被调用。

要从init()函数中调用OnChartEvent()函数,可以使用以下步骤:

  1. 在init()函数中定义一个全局变量,用于标记是否已经初始化。例如,可以使用一个布尔类型的变量isInitialized,并将其初始化为false
  2. 在init()函数的开头,添加一个条件判断语句,检查isInitialized的值。如果isInitializedfalse,则执行以下操作:
    • isInitialized设置为true,表示已经初始化。
    • 调用OnChartEvent()函数。
    • 这样,当init()函数被调用时,OnChartEvent()函数也会被调用。

下面是一个示例代码:

代码语言:txt
复制
bool isInitialized = false;

void init()
{
    if (!isInitialized)
    {
        isInitialized = true;
        OnChartEvent();
    }
}

void OnChartEvent()
{
    // 在这里编写处理事件的代码
}

这样,当你在MetaTrader 4平台中编写并运行这段代码时,init()函数会在启动时被调用,并且会调用OnChartEvent()函数。

对于MQL4的更多信息和学习资源,你可以参考腾讯云的MQL4开发文档: MQL4开发文档

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

相关·内容

详解 | Linux驱动入口函数module_init如何调用

原因是按照一般的编程想法,各部分的初始化函数会在一个固定的函数里调用比如: void init(void) { init_a(); init_b(); } 如果再加入一个初始化函数呢,...那么在init_b()后面再加一行:init_c(),这样确实能完成我们的功能,但这样有一定的问题,就是不能独立的添加初始化函数,每次添加一个新的函数都要修改init函数。...(fn, lvl) / static initlist_t __init_##fn __init = { / magic: INIT_MAGIC, / callback: fn,...与此类似,内核中也是用到这种方法,所以我们写驱动的时候比较独立,不用我们自己添加代码在一个固定的地方来调用我们自己的初始化函数和退出函数,连接器已经为我们做好了。先来分析一下module_init。...我们看源码,init/main.c中start_kernel是进入kernel()的第一个c函数,在这个函数的最后一行是rest_init(); static void rest_init(void)

1.9K20
  • JavaScript引擎是如何工作的?调用栈到Promise你需要知道的一切

    你有没有想过浏览器是如何读取和运行 JavaScript 代码的吗?这看起来很神奇,但你可以学到一些发生在幕后的事情。让我们通过介绍 JavaScript 引擎的精彩世界在这种语言中尽情畅游。...当一个函数被调用时,JavaScript 引擎会为另外两个盒子腾出空间: 全局执行上下文环境 调用栈 全局执行上下文和调用栈 在上一节你了解了 JavaScript 引擎是如何读取变量和函数声明的,他们最终进入了全局内存...每个 JavaScript 引擎都有一个基本组件,称为调用栈。 调用栈是一个栈数据结构:这意味着元素可以顶部进入,但如果在它们上面还有一些元素,就不能离开栈。...在接下来的部分中,你将看到异步代码如何在 JavaScript 中工作以及为什么这样工作。...异步的进化: Promise 到 async/await JavaScript 正在快速发展,每年我们都会不断改进语言。

    1.5K30

    react hook的初步研究前言renderWithHooks的整个过程为什么要顺序调用hookrenderWithHooks开始currentupdateWorkInProgressHook如何

    以后每次更新,也是根据hook从头到尾执行,并根据第几个hook来拿到表里面的第几个state和它的dispatch函数 为什么要顺序调用hook 官方有句话,必须顺序调用hook。...再来一个反例,如果第二次调用组件函数的时候,前面少调用一个hook。...但是事实上,后面如果少了hook会报错 renderWithHooks开始 来到react-dom源码里面,crtl+f找到renderWithHooks: function renderWithHooks...return updateReducer(basicStateReducer, initialState); } function updateReducer(reducer, initialArg, init...dispatch = queue.dispatch; return [hook.memoizedState, _dispatch]; } 复制代码 updateWorkInProgressHook如何进行

    2.4K10

    TIOBE 6月编程语言排行榜:Python势不可挡

    导读:科技的发展日新月异、永无止境,在点点星辰的技术图谱中,如何找到适合自己的方向,当前我们或可从最新的编程语言榜单中探寻到些许的答案。...语言是最好的出路也是最基本的要求,毕竟它在系统应用的创建中占主导地位; 有人也表示,掌握一直没有落伍的 Java 语言才是王道,因为 Java 语言的健壮性和思想影响了很多其他语言; 还有人为此建议道,应用前景以及流行度来看...不过整体的趋势究竟如何,根据最新的 TIOBE 指数显示,如今 Python 正当道。...除此之外,广域上来看,TIOBE 也表示,这主要得益于软件工程的蓬勃发展,吸引了很多新人进入到该领域。...Lisp, Elixir, Erlang, Forth, Hack, Icon, IDL, Inform, Io, J, Korn shell, Maple, MAXScript, Monkey, MQL4

    95230

    TIOBE 3 月编程语言排行榜

    取代不了的 Java、挡不住势头的 Python、吐槽不尽的 C++......数百种编程语言中也仅有那么几种当属主流语言,而如今这些主流的编程语言局势如何?身处其中的开发者又需要了解哪些内容?...Python 从小众语言到主流的逆袭 榜单来看,曾经铁打的 Java、C、C++ 局势,早已在数月前被 Python 的闯入而打破。...部署时各种问题,Spring Boot 换成普通 Maven 再换成 J2EE 项目,Spring 5.7 换成 4.3 再到 3.1,JDK 8 降到 7,愣是没部署成功。...PowerShell 是面向 Windows 和 Windows Server 的自动化平台和脚本语言,诞生至今已经超过 12 年。...Emacs Lisp, F#, Forth, Icon, IDL, Inform, Io, Korn shell, LiveCode, Maple, Mercury, Modula-2, Monkey, MQL4

    1.2K40

    教程 | PyTorch内部机制解析:如何通过PyTorch实现Tensor

    PyTorch 如何通过扩展 Python 解释器来定义可以 Python 代码中调用的 Tensor 类型? 2. PyTorch 如何封装实际定义 Tensor 属性和方法的 C 的类库?...__init() 可调用的部分函数如下: ASSERT_TRUE(THPDoubleTensor_init(module)); ASSERT_TRUE(THPFloatTensor_init(module...但是我们仍然需要明白 THPTensor_(init)()函数是如何转换成我们在模块初始化中使用的 THPIntTensor_init()函数。...那么这个文件中的代码最终是如何成为最终产品的一部分呢? 回想前文所述,我们以上的 generic 目录中调用 THPTensor *函数(如 init)。...总而言之,让我们回顾一下我们的四个问题: PyTorch 如何通过扩展 Python 解释器来定义可以 Python 代码中调用的 Tensor 类型?

    2.7K50

    Servlet基础——快速了解什么是Servlet

    参数 name servlet的名称 urlPatterns servlet的访问URL value servlet的访问URL ---- 四、servlet的生命周期 1.初始化阶段,调用init(...)方法 2.响应客户请求阶段,调用servlet()方法。...servlet被装载后,servlet容器创建一个servlet实例并且调用servlet的init()方法进行初始化。在servlet的整个生命周期内,init()方法只被调用一次。...---- 五、servlet与九大内置对象 如何在servlet中获取jsp的九大内置对象 JSP对象 如何获取 out response.getWriter方法(类型并不一致,但功能一致) request...servlet获取jsp表单中的值与如何将值发送给jsp servlet获取jsp表单中的值: //获取单个值的时候 String context=request.getParameter("username

    56230

    js中数组Array.reduce方法介绍及使用场景

    这样说可能不好理解,下面来看下语法以及如何使用 2 语法 arr.reduce((accumulator, currentValue, index, array)=>{ } , init)...第一个参数是一个回调函数 有四个参数 accumulator 表示上一次调用回调时的返回值,或者初始值 init 最后成为最终的单个结果值 currentValue 表示当前正在处理的数组元素...index  表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1 array 表示调用reduce()的数组 第二个参数 init 作为第一次调用...如果没传递初始值数组就会索引1开始 有初始值就从0开始 callback 的第一个参数就是初始值 在没有初始值的空数组上调用 reduce 将报错。...解析各个参数 (1) 不传init初始值时 下面的代码 没有传递init初始值 currentIndex 索引默认1 开始 14.png (2)传递init初始值时 各个参数的打印情况

    2.3K10
    领券