任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 665

 
创建
nikitasa1997:

日安,亲爱的论坛用户,请帮助一个新手。我做了一个自定义指标,下面是一个代码片段,像原始代码一样有1000多行,这就是为什么我没有粘贴整个代码。

'+'-程序过于复杂。它给出了这个错误。

我看了论坛的帖子,这个错误是在函数太长时发生的。如何将一个函数分成几个子函数?请让我看一下我的代码的例子。


用这个函数创建filter.mq4 文件并将其保存在\MQL4\Include\ 中。


然后从指标中调用它 #include <filter.mq4>.

如果变量响应 在指标中,你不需要声明它,只需在必要时使用它。

 
evillive:
创建

用这个函数创建filter.mq4 文件,并将其保存在\MQL4\Include\ 中。


然后从指标中调用 #include <filter.mq4>

如果变量响应 在指标中,你不需要声明它,只需在必要时使用它。



非常感谢!)
 
Chiripaha:

我的眼角余光看了看别人早先提供给你的解决方案。你在加载模板时可能有权限限制。这反映在ChartApplyTemplate() 的描述中。但这只是作为一种选择。或类似的东西。因此,当你通过可视化加载时,所有的权限都被保存,但当以编程方式加载时,它们被限制。

引自功能描述

当你保存模板时,在图形上运行的程序的权利也会被记住:交易权和使用DLL的权利。出于安全考虑,当模板应用于图表时,这些权利可能会受到限制。

当使用ChartApplyTemplate()函数应用模板启动EA时,不能增加交易和DLL使用权。

如果调用ChartApplyTemplate()的mql4程序没有交易权,那么使用该模板加载的EA也将没有交易权,不管模板设置如何。

如果调用ChartApplyTemplate()的mql4程序有交易权限,但模板设置没有,那么通过模板加载的EA就没有交易权限。


我试着关闭和打开它们。 我改变了模板,既使用了带有指标的简单图表,也使用了已经加载的EA。但结果是一样的:在没有可视化的测试器中,EA什么都不做,有了可视化--一切按计划进行))我不知道...可能开发人员真的应该写或想出一些没有模板的其他东西。

 

这里有一个问题。

假设我们有一个全文搜索服务器,它有一个查询结果的缓存。我们需要计算在给定缓存时间内的缓存效率(最大缓存大小和命中率)。

输入数据

该程序输入一个文本文件,其中包括服务器收到的查询,以及时间和搜索字符串,还有以秒为单位的缓存保持时间。

输出数据

程序执行后应输出以下数值:处理的查询次数,唯一的查询次数,最大的缓存大小(以记录数计),进入缓存的概率。



我不明白 "最大缓存大小(以记录数计)"是什么意思,如何计算?

 
先生们好,我有一个非常重要的问题,是否可以配置机器人在某些时间不进行交易,如果可以,如何做到?
 
当价格变化一个刻度(1或2)时,标准外汇成交量指标会增加多少?
 
Mavellol:
先生们好,我有一个非常重要的问题,是否可以配置机器人在某些时间不进行交易,如果可以,怎么做?


我需要在我的专家顾问中实现这样一种可能性。
 

大家好!

请帮助我使用MarketInfo(Symbol(),MODE_MARGINREQUIRED)。

double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
变量One_Lot将包含当前货币的一手价值。
欧元兑美元(价格=1.3606)的手数计算示例:
标准合约大小(1手)=100000
如果我们买入100000欧元,我们必须支付100000*1.3606=136060美元
我们的杠杆率=100,所以我们将支付One_Lot=136060/100=1360.6美元

(我理解所有这些计算使MarketInfo(Symbol(),MODE_MARGINREQUIRED)和我们的One_Lot=1360.6)

但在脚本中的结果是不同的。

double Price = Ask;
Print ("Price =",Price);

double One_Lot = MarketInfo ( Symb, MODE_MARGINREQUIRED ) ; // 一手的成本
Print ( "One_Lot =",One_Lot);

在输出中

17:10:30 通知 EURUSD,H1: 价格 =1.3606

17:10:30 通知 EURUSD,H1: One_Lot =1600.0

我的错误在哪里?

 
谁是Symb,你在代码中如何定义它?当直接调用One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED)时,工作正常。
 
evillive:
谁是Symb,你在代码中如何定义它?当调用One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED)时工作正常。

谢谢您的回复

在我的剧本中。

Symb =符号( )。

我按你的方法试了一下--结果是一样的:One_Lot =1600.0

你的结果是什么?