错误、漏洞、问题 - 页 1142

 
ierehon:

大家好!

问题,如何使一个变量值在一分钟内的每一个刻度上都得到更新,然后这个和被写入一个单独的值,当下一分钟关闭时,这个和的值被新的值所取代?

阅读这篇文章! 还有其他人也是如此。

作为你的算法的一个例子,我画了一个指标 "tick counter "的草图。如果你在每次打勾时给变量b分配所需的值,你就会得到你所问的东西。

附加的文件:
TickSum.mq5  4 kb
 
MigVRN

谢谢你的文章和指标!我将处理它。


 
harbor:

人们,谁能告诉我如何在mql5中计算出打开1手某些符号所需的自由资金的数量

在mql4中我知道怎么做,但在mql5中我找不到了

double marg;
OrderCalcMargin(ORDER_TYPE_BUY, sym, 1, tick.ask, marg);
 
Youtube视频没有插入HTTPS。
 
MigVRN:

1) 不要在每个tick上创建指标!

2) 在访问指标值之前,检查指标是否被创建。

3) 检查要求的值是否从指标中复制出来。

4)在专家完成后,一定要删除指标的计算部分,否则可能在某些时候耗尽内存。

这个问题是因为你试图从尚未创建的指标中复制数值。制定一个规则--检查你所调用的函数的结果。

谢谢你,我知道了!

但我 "随心所欲 "地改变指标BP_var_s、BDev_var_s和MA_var_s的输入参数。在这种情况下,该怎么做?根据....,每次创建和删除

 
Alvin1976:

谢谢,我知道了!

只有我 "随心所欲 "地改变指标BP_var_s、BDev_var_s和MA_var_s的输入参数。在这种情况下,该怎么做?根据....,每次创建和删除

这里有几个选择。

1)指标参数根据一些标准(条件)随时间变化。因此,没有必要在每次打勾时重新创建手柄。检查条件,如果条件得到满足,就重新创建它。

假设条件是在一分钟的时间框架内发生 "新条形 "事件。关于 "新酒吧 "事件定义的例子有很多--请在网站上搜索。我最喜欢 这个变体

2) 如果仍然需要在每次打勾时--等待循环中的CopyBuffer()检查的终止(使用sleep())。但最有可能的是,蜱虫会被跳过。作为一种选择--不计算整个历史的刻度,而是计算最后几百个柱子的刻度(为了进入标准指数的代码并纠正代码)--它将跳过更少的刻度。

 

又出现了一个问题。

long Min_Dist;

bool Inf=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL,Min_Dist));
      if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 

测试仪中的Min_Dist变量一直都是零。我还没有在实时市场上检查过。

为什么是零?它的内容是:成功.....

 
Alvin1976:

又出现了一个问题。

测试仪中的Min_Dist变量一直都是零。我还没有在实时市场上检查过。

为什么是零?它的内容是:成功.....

像这样试试吧。
long Min_Dist;

Min_Dist=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
      //if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 
检查SYMBOL_TRADE_STOPS_LEVEL 的真实值
 
barabashkakvn:
试试这个:检查SYMBOL_TRADE_STOPS_LEVEL的实际值

这是同一件事。零。 :(.

在测试器中。

我周一会去市场看看。

我想明白了。这就是经销商的问题。而且不仅仅是一个:-)。我一下子没有明白,因为谷歌在SYMBOL_TRADE_STOPS_LEVEL 上没有给出任何有用的信息,但MODE_STOPLEVEL却给出了很多信息。

我将使用SYMBOL_SPREAD。

 
Roffild:
Youtube视频没有插入HTTPS。
为什么Youtube有HTTPS?以下是视频的常用代码 -http://youtu.be/KG0PIVuJ2kU