[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 51

 
vikon писал(а)>>

我知道用代码开单的事。

我需要创建一个具有管理属性的半自动系统。

我手动开仓,但EA监控手数,并在MT中默认改变手数(服务/设置/交易/默认量)。

有可能做到这一点吗?

没有,至少在MQL4中没有

 
granit77 >> :

参考资料会有帮助。

doubleiWPR( string symbol, int timeframe, int period, int shift)

因此,正确的是。

谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 
人们,在不使用价格图表的情况下,如何拉出MACD中某一列的形成时间?
 
Noterday >> :
人们,在不使用价格图表的情况下,如何在MACD中拉出某个特定条形的形成时间?

这一栏对应的是价格图上柱状体形成的时间。

也就是说,你需要知道某个特定条目的数量。

 

代码优化 的规则是什么? 我对写作的规则感兴趣,而不是算法。

为了更准确,让我给你举个例子。

有两个 "相同的 "脚本。

int start()
  {
//----
  int start=GetTickCount();
  int Massiv[100000000];
  int x=ArraySize( Massiv);
  for (int a=0; a<= x; a++)
    {
    Massiv[ a]= a;
    }
  Alert("прошло времени: ",GetTickCount()- start);
//----
   return(0);
  }

и

int start()
  {
//----
  int start=GetTickCount();
  int Massiv[100000000];
  for (int a=0; a<=ArraySize( Massiv); a++)
    {
    Massiv[ a]= a;
    }
  Alert("прошло времени: ",GetTickCount()- start);
//----
   return(0);
  }

前者的速度是后者的两倍。(对我来说是4秒)

很明显,一亿的数组并不经常使用:-)而且实际上,对于一个普通的数组来说,收益只是几毫秒,主要的问题在于错误的算法,而不是这些琐事,但尽管如此......。

 
beruk >> :

代码优化的规则是什么? 我对写作的规则感兴趣,而不是算法。

为了更准确,让我给你举个例子。

有两个 "相同的 "脚本。

и

前者的速度是后者的两倍。(对我来说是4秒)

很明显,一亿的数组并不经常使用:-)而且实际上,对于一个普通的数组来说,收益将是几毫秒,主要的问题是在错误的算法中,而不是在这种微小的细节中,但仍然...

没有这样的规则。也就是说,你可以按照你认为合适的方式来写,而且会成功。当然,它将以不同的效率工作。

对于每个操作,其在时间表达方面的成本是已知的--你可以在语言标准中找到它,以及循环和其他语言结构的工作流程(C标准--我提到它是因为我怀疑你是否试图理解它,从基础开始--制作者建议在所有未指定的情况下参考这个语言标准)。

在第二种情况下,你不断地调用ArraySize(Massiv)函数--这是最昂贵的操作(函数调用--任何,不是这个),而比较操作是在每个循环中调用。

在这种情况下:该循环

for (int a=ArraySize(Massiv)-1;a>0;a--)

将做同样的事情,但明显更快。我指的是环路的组织方式。如果你在一个循环里有大量的计算,就不会有很大的区别。

有一个 "但是"--如果你使用的是测试器或重新训练过的网络--差异会非常大,而且会显得非常、非常....。

是的,还有一件事:你在第一个脚本中有一个错误--超出了数组的边界。阅读手册--都写在那里。你应该这样写。

int x=ArraySize(Massiv)。
for (int a=0;a<x;a++)

好运。

 

下午好

请解释如何解释FileOpen 教程中的这段话

===

文件中的条目内容

在任何模式的组合下,数据记录都是无间隙地写入文件。当文件以FILE_BIN模式形成时,数据记录是连续写入的。根据写入文件的数据类型(以及用于此目的的记录功能),在记录组之间可能会写入行尾字符("\r\n")的组合。当文件以FILE_CSV模式生成时,数据记录用文件分隔符(通常是';')分隔,而记录组(由字符串组成)则用行尾字符组合("\r\n")分隔。

===

用 "int FileOpen(string filename, int mode, int delimiter=';') "一切都很清楚

我应该把("\r\n")放在哪里? 它可以和FILE_CSV一起使用吗? 请给我一个("\r\n")的例子,我太笨了。

 
你好!我需要为这个写一个专家顾问 :https://www.mql5.com/ru/code/8663 指标,我指的是HP.mq4(如果它上升买入,如果它下降卖出)。它确实会重绘,但如果是大周期,例如100-200个周期,是可以忍受的。或者你可以添加一个信号MA,如果信号低于这个指标--买入,如果高于--卖出。
 
teetrinker >> :

下午好

请解释如何解释FileOpen 教程中的这段话

===

文件中的条目内容

在任何模式的组合下,数据记录都是无间隙地写入文件。当文件以FILE_BIN模式形成时,数据记录是连续写入的。根据写入文件的数据类型(以及用于此目的的记录功能),在记录组之间可能会写入行尾字符("\r\n")的组合。当文件以FILE_CSV模式生成时,数据记录用文件分隔符(通常是';')分隔,而记录组(由字符串组成)则用行尾字符组合("\r\n")分隔。

===

用 "int FileOpen(string filename, int mode, int delimiter=';') "一切都很清楚。

但是"\r\n "应该用在哪里? 它可以和FILE_CSV一起使用吗?

无处可去。手册上用清晰的俄语说。"记录组(制作字符串)用行尾字符组合("\r\n")分开"。

 

你能给我一个提示吗?

在我的EA中,一个区块中连续出现几个警报,另一个区块中连续出现几个警报。

在测试的日志中,它们不是按顺序排列的,而是排序的--第一块有2个警报,第二块有3个,然后是第一块的3个和第二块的最后2个。

在每个人之后放一个500秒的滑块,即半秒内没有任何行动--所有的人仍然是随机的,在1秒内可以放置所有的10个。

原因何在?

如何使警报按顺序进行?

原因: