void Fun_New_Bar() // Ф-ия обнаружения нового бара
{
staticdatetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет if(New_Time!=Time[0]) // Сравниваем время
{
New_Time=Time[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
日安,亲爱的论坛用户。
请帮助我完成以下任务。
我需要在mt4中使用mql获得指标数据,例如1d时间框架的MA5,截止到前天14.30的数据。
也就是说,如果我在前天14:30运行iMA脚本,不会出现任何问题,但今天我如何得到它。
至少告诉我哪里可以挖
这非常简单。你需要设置7个参数来计算iMA。第一个参数,即符号的名称,是很明显的。作为第二个,时间框架,设置为M1。第三个参数--周期--根据需要设置多少次,多少天是超过一分钟的。第四个参数 - shift = 0。接下来的两个参数--平均数的方法和价格类型--你知道。最后一个是栏位号,如果你知道你需要的时间,请计算栏位号。就这样吧!通过对M5和M15的时间框架进行计算,对其进行反复检查。也许甚至是为了M30。
这非常简单。为了计算iMA,需要7个参数。第一个参数,即符号的名称,是很明显的。作为第二个参数,时间框架,设置为M1。第三个参数--周期--根据需要设置多少次,多少天是超过一分钟的。第四个参数 - shift = 0。接下来的两个参数--平均数的方法和价格类型--你知道。最后一个是栏位号,如果你知道你需要的时间,请计算栏位号。就这样吧!通过对M5和M15的时间框架进行计算,对其进行反复检查。也许甚至是为了M30。
不幸的是,这并不容易。如果我们采取MA5,时间框架1440(1天),选择第2条(前天),我们将得到最后一根蜡烛的开盘或收盘的MA5,但不是14.30时刻。而这正是我们需要说明的。再一次。技术指标是由几个蜡烛图计算出来的,它们在00.00开盘(如果我们说的是一天),它们在23.59收盘,但最后一个蜡烛图(如果是0条)没有收盘,我们取0条的最后价格来计算它。如果MA是在零条上,这很容易,但如果不是零条而是前一天的中间,我们应该怎么做?在TF1440中,我们如何计算前一天的МА?
非常感谢您!我将着手写代码 :)我会让你知道结果的。
不幸的是,这并不容易。如果我们采取MA5,时间框架1440(1天),选择第2条(前天),我们将得到最后一根蜡烛的开盘或收盘的MA5,但不是14.30时刻。而这正是我们需要说明的。再一次。技术指标是由几个蜡烛图计算出来的,它们在00.00开盘(如果我们说的是一天),在23.59收盘,但最后一个蜡烛图(如果是0条),并没有收盘,0条的最后价格被用来计算它。如果MA是在零条上,这很容易,但如果不是零条而是前一天的中间,我们应该怎么做?如何在TF1440中计算前一天的МА?
它非常简单
像这样
是否知道如何通过脚本来组织信号的发送?
我需要有识之士的帮助
我有一个EA的源代码,它在2014年编译过,一切正常。
我决定写一个新的账户并在上面编译EA,但它不想编译。
我得到了23个像这样的错误 ( } )
我应该做什么,自2014年以来有什么变化?
不幸的是,这并不容易。如果我们采取MA5,时间框架1440(1天),选择第2条(前天),我们将得到最后一根蜡烛的开盘或收盘的MA5,但不是14.30时刻。而这正是我们需要说明的。再一次。技术指标是由几个蜡烛图计算出来的,它们在00.00开盘(如果我们说的是一天),它们在23.59收盘,但最后一个蜡烛图(如果是0条)没有收盘,我们取0条的最后价格来计算它。如果MA是在零条上,这很容易,但如果不是零条而是前一天的中间,我们应该怎么做?如何在TF1440中计算前一天的МА?
你好。感谢STARIJ 和Artyom Trishkin 的最后咨询。但由于我仍然是个新手,所以出现了其他问题。例如,以下内容。我使用以下函数只在一个栏里开一个头寸。
而一个问题立即出现了:为什么我每次访问函数时都需要将一个静态变量"发送到时间的起点"?毕竟,它在第一次调用时就自己接受了零值,然后让它存储上一个零条的值直到下一次调用,而不是被重置为零。也许这个简单的功能可以被简化。然而,我自己也害怕把它搞砸了。关于这个函数还有一个问题:是不是表达式New_Time=Time[0]; 并没有捕捉到新条形图打开时的毫秒? 然后会发生什么? 谢谢。
你好。也感谢STARIJ 的最后一次咨询。但由于我仍然是个新手,所以出现了其他问题。例如,以下内容。我使用以下函数只在一个栏里开一个头寸。
随即产生了一个问题:为什么我每次访问函数时都需要将一个静态变量"发送到时间的起点"?毕竟,它在第一次调用时就自己接受了零值,然后让它存储上一个零条的值直到下一次调用,而不是被重置为零。也许这个简单的功能可以被简化。然而,我自己也害怕把它搞砸了。关于这个函数还有一个问题:是不是表达式New_Time=Time[0]; 并没有捕捉到新条形图打开时的毫秒? 然后会发生什么? 谢谢。
你好。感谢STARIJ 和Artyom Trishkin 的最后咨询。但由于我仍然是个新手,所以出现了其他问题。例如,以下内容。我使用以下函数只在一个栏里开一个头寸。
而一个问题立即出现了:为什么我每次访问函数时都需要将一个静态变量"发送到时间的起点"?毕竟,它在第一次调用时就自己接受了零值,然后让它存储上一个零条的值直到下一次调用,而不是被重置为零。也许这个简单的功能可以被简化。然而,我自己也害怕把它搞砸了。关于这个函数,我还有一个问题:New_Time=Time[0]; 这个表达式不可能捕捉到新的条形图打开时的毫秒吗? 然后会发生什么? 谢谢。
关于第二个问题。
如果第一个钩子没有抓住,第二个钩子就会抓住。