表示一个新的酒吧 - 页 3

 

嗨,阿兰。

谢谢你的评论和改进。

我应该回到我的第一个版本,在这个版本中,"bool NewBar "是一个全局变量,通过OnTick()中的一个函数调用 来切换。

或者我把它做成一个小对象。也许这是最聪明的选择。


还有--当然--"永远不要做两次相同的计算"。

赫尔穆特

 
datetime iTime[];
datetime recent;
datetime projection;
int OnInit()
  {
//---
  int pull=CopyTime(NULL,0,0,1,iTime);
  recent=iTime[0];
  projection=recent+PeriodSeconds();
//---
   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
//---
  if(TimeCurrent()>=projection)
   {
   Print("New Bar "+TimeToString(projection,TIME_DATE|TIME_MINUTES));
   projection=projection+PeriodSeconds();
   }
  }
 

@ Doerk Hilger

语言是相同的,但它们有一小部分功能是不相同的<br / translate="no">。

哦,我的天哪......肯定不是!

正如MQ在产品描述中指出的

MetaQuotes Language 5是基于众所周知的、流行的 С++编程语言概念 。MQL5也是一种高级的面向对象的编程语言。

https://www.metatrader5.com/en/automated-trading/mql5

除了在处理结构、指针和地址方面的一些差异外,最大的一点是。MQL5提供了面向对象程序语言的所有功能,它允许一个完全不同的编程范式。从这个角度来看,MQL5显然属于另一类语言,也是比MQL4多的另一代语言。

另一个优势是速度。我不记得我在哪里读到过这个。MQL5的执行速度是MQL4的100倍。

但缺点也来了:它的执行速度快,但如果你需要 先熟悉专业水平的编程概念创建程序就会非常非常慢

这就导致了MQ的问题。一方面,他们需要提供一个现代化的专业开发环境,以获得或保持专业人士的市场,另一方面,他们不能让自己失去所有的私人和半专业的客户,他们对交易而不是对编程科学感兴趣。




 
在这一点上,MQ做了很多事情来产生混乱。

也许你是对的。

让我们看看,我们能做些什么,使这个问题更加清晰。

我认为,如果人们能在MQL4论坛上发表他们的MQL4问题,,而那些有MQL5问题的人,应该在MQL5论坛上发表,这将是非常有帮助的。

听起来很容易......你怎么看?

在开始的时候,如果版主将错误的帖子移到正确的论坛,留下 "对不起,错误的论坛--见...... "的提示,这将是可行的。

威尔伯

 

@Lorentzos Roussos

越来越容易了;-)

我担心的是TimeCurrent()是否在所有情况下都与条形图同步的问题。

我打算在周一 做一些2小时的测试。

威尔伯



 
应该是。 24 h
 
Willbur:

@Lorentzos Roussos

越来越容易了;-)

我担心的是TimeCurrent()是否在所有情况下都与条形图同步的问题。

我打算在周一 做一些2小时的测试。

威尔伯



Alain可以纠正我的说法,但是你可能会发现,在一个条形图的时间范围内,没有ticks,所以没有条形图的情况下会出现缺口。
 
Willbur:

@ Doerk Hilger

哦,我的天哪......肯定不是

正如MQ在产品描述中指出的

除了在处理结构、指针和地址方面的一些差异外,最大的问题是。MQL5提供了面向对象程序语言的所有功能,允许完全不同的编程范式。




绝对是的 :)但 我知道你的意思,我一直认为我是在为MQL5编程,因为我只编写面向对象的代码,但正如我现在所了解的,它的 "增强型 "MQL4自从建立600以来,根本就不是MQL5的东西,但正如所告诉的那样,在功能 子集上有一些小的差异--自从建立MQL4以来,就不再是另一种语言了。事实上,增强型MQL4是MetaTrader4的MQL5。这就是我所说的混乱部分的意思。对我来说,MQL5一直是OOP,MQL4只是自上而下的意大利面条。而我不喜欢意大利面条;)

编辑:你上面的说法来自哪里,他们是什么时候发布的?因为实际上这意味着,第一个假设是正确的:它是MQL5 .... 最高水平的混乱;)

 
我喜欢意大利面条。
 
Doerk Hilger:

绝对是的 :)但 我知道你的意思,我一直认为我是在为MQL5编程,因为我只编写面向对象的代码,但正如我现在所了解的,它的 "增强型 "MQL4自从建成600以来,根本就不是MQL5的东西,但正如所告诉的,在功能子集上有小的差异 - 自从这个建成的MQL4不再是另一种语言了。事实上,增强型MQL4是MetaTrader4的MQL5。这就是我所说的混乱部分的意思。对我来说,MQL5一直是OOP,而MQL4只是自上而下的面条。而我不喜欢意大利面条;)

编辑:你上面的说法来自哪里,他们是什么时候发布的?因为实际上这意味着,第一个假设是正确的:它是MQL5 .... 最高水平的混乱;)

增强型MQL4?

从未听说过这个。

也许你应该在说服自己知道自己在做什么之前,先阅读这两个平台的文档。