错误、漏洞、问题 - 页 647

 
谢谢你的留言,我们已经纠正了这个地方。我们将自行测试。
 

各位程序员!我们需要你的帮助。


我需要在MT4代码中做一个编辑。马丁专家顾问通过指定的delta将一系列订单按顺序排列,并从某个交易号码开始(例如第4个),开始以一个系数增加delta。
我需要这个三角洲不要被无限延长,直到整个系列结束。但只能达到我们在设置中设定的某个水平(例如,Max_delta = 50分)。而当delta变成>=Max_delta时,它将连续取这个值,直到系列结束。然后就会从头开始。

下面是拉伸delta的程序代码。


int Delta(int OrdNum){
如果(Start_order_delta>1){
如果(OrdNum>Start_order_delta){
int p=OrdNum-Start_order_delta。
返回(Take_profit*MathPow(Delta_exp,p))
}
}
return(Take_profit)。
}

请帮助我在这段代码中引入一个delta约束。
 

CHART_BRING_TO_TOP属性

它可以被设置,但不能确定当前值。

ChartSetInteger(0,CHART_BRING_TO_TOP,true) - 有效。

ChartGetInteger(0,CHART_BRING_TO_TOP,0) - 不起作用。

[删除]  
MoneyJinn:

CHART_BRING_TO_TOP属性

它可以被设置,但不能确定当前值。

ChartSetInteger(0,CHART_BRING_TO_TOP,true) - 有效。

ChartGetInteger(0,CHART_BRING_TO_TOP,0) - 不起作用。

嗯,一切都有道理。该调用有三个参数,还是我弄错了?

使用第二个选项,我们只是得到设置为false的值,而不是当前值。

至于获取数值--我们需要四个参数(最后一个将包含当前值)。

bool  ChartGetInteger(
   long    chart_id,     // идентификатор графика
   int     prop_id,      // идентификатор свойства
   int     sub_window,      // номер подокна
   long&   long_var      // сюда примем значение свойства
   );
 
Interesting:

嗯,这很有道理。该调用有三个参数,还是我错了?

使用第二个选项,我们只是得到SET值为false,而不是定义当前值。

至于获取数值--我们需要四个参数(最后一个将包含当前值)。


是的,你错了。允许多个ChartGetInteger 入口形式。

但无论ChartGetInteger记录形式如何,都不可能 获得CHART_BRING_TO_TOP 属性的当前值。

 
MoneyJinn:

可以有几种ChartGetInteger的输入形式。

无论 ChartGetInteger的 输入形式如何 ,都无法 获得CHART_BRING_TO_TOP 属性的当前值。

那么ChartGetInteger 函数的第二个变体(4参数) 返回的值是什么?错误代码呢?

 
Yedelkin:

那么ChartGetInteger 函数的第二个变体(4个参数) 会返回什么值?错误代码呢?

值为0;错误4109--即没有这个属性。
 
MoneyJinn:
值为0;错误4109 - 即不存在这样的属性。

根据《手册》,这个属性根本不被支持。

对于第二次调用,如果该属性被支持 并且该值已经被放置在long_var变量中,则返回true,否则返回false。

错误代码说的是同样的事情。为什么不支持CHART_BRING_TO_TOP图表属性 的问题是在开发人员的层面。如果该属性确实被支持,那么问题又出现在他们的层面上:为什么在这种情况下ChartGetInteger 函数会返回 错误?

 
为什么在策略测试器中 没有发生OnTick事件。建586。我起初以为我的程序有错误。开始使用Moving Average.mq5进行调试。在OnTick事件的第一个操作者处设置一个断点。一小时内没有看到任何反应。
 
tor30515:

为什么在策略测试器中 没有发生OnTick事件。建586。我起初以为我的程序有错误。开始使用Moving Average.mq5进行调试。在OnTick事件的第一个操作者处设置一个断点。我在一个小时内没有看到任何反应。

而测试器被卸下调试?