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

 
valeryk:


不,我刚刚检查过。这是真的,当互联网关闭时,定时器就会关闭。
在那里!)我以为我是唯一有故障的人。)你会如何解决这个问题?
 
这是件好事,我没有使用更多知识分子还没有弄明白的任何创新!"。:)
 
Megan:
在那里!)我以为我是唯一有故障的人。)你会如何解决这个问题?



如果开发者并不打算将定时器的这种行为作为 "万无一失",那么这个错误是明确无误的。毕竟,定时器是从初始阶段开始的,从这一点来说,应该是自主地工作。你需要向Servicedesk提出请求。
 
主持人似乎已经看过了。barabashkakvn- 他 确认有问题吗,他应该写信给servicedesk?
 
Megan:
EventSetTimer(1); stands.在OnInit()中没有卸载 ,而在有连接的情况下,一切都正常。我不知道为什么会这样(......

MetaTrader 4 build 660.事实上,如果在终端启动的 时候没有连接,OnInit()就不会发生。

补救措施:重新连接专家或切换时间框架两次。


 
barabashkakvn:

MetaTrader 4 build 660.事实上,如果在终端启动的时候没有连接,OnInit()就不会发生。

这可以通过一个半措施来治愈:重新连接专家顾问或切换两次时间框架。


有一个问题)我的EA被设计为离线工作(
 
Megan:
我有一个为独立操作设计的EA(


你需要给servicedesk写一份请求。
[Deleted]  

你好。朋友们,请帮助一个新手。我不知道如何将预先编辑好的.xls文件中的引文加载到终端。我整天都在纠结这个问题。

我可以下载终端的报价吗?

[Deleted]  

又见面了。自己问,自己答:在编辑名字时,我选择了任何名字,而不是原来的那个。更正为 - RTSI1440.csv并上传。

谢谢你。

[删除]  
Top2n:

日安!

我们的目标是编写一个平均交易的算法。

我决定通过将开仓价格值填入一个数组来实现。结果是,它填满了数组而没有变化。我在什么地方错过了一些东西。

在开始之前对数组进行清零。

  if (ArrayResize(array, 0) != 0) {
    return false;
  }

顺便说一下,如果OrderSelect()在循环的至少一个迭代中返回错误,那么结果是不可信的。换句话说,如果有些订单失败了,我们就不应该尝试处理剩余的订单。如果马上返回错误,反而会更合理。例如,更高级别的代码可以对一个错误做出如下反应:尝试用这个tick再重复几次,或者取消这个tick上的动作,推迟它们,然后用下一个tick再试。

将Usred()和Zapis()联合起来更符合逻辑,过滤条件应以如下方式组合:"如果(OrderSymbol() == Symbol() && OrderType() == type)"。总之,没有必要在Zapis()中重复OrderSelect()。

为了计算单个订单的平均价格,我们不必将所有的东西都放在一个数组中。我们可以在飞行中计算。

S1 = order1_lots * order1_openprice + order2_lots * order2_openprice + ...OrderN_lots * orderN_openprice。

S2 = order1_lots + order2_lots + ...。+ orderN_lots.

我们要找的位置的价格=S1 / S2。

如果我们创建两个变量,S1和S2,将它们设置为0,并且在循环中每次都给每个变量添加一个相应的值,那么在循环结束后,我们只需要用S1除以S2,并首先检查S2是否为0(在这种情况下--错误,即结果没有计算,它不存在)。也许产生的值还必须通过NormalizeDouble()进行归一化处理--这取决于算法是否需要归一化处理,也取决于程序惯例,即调用哪个函数或被调用归一化处理。

在这种情况下,你甚至不需要一个数组。

如果你需要除总头寸价格以外的计算,你可以 "返回 "值S1和S2到被调用的函数,通过引用传递变量本身,并从函数中返回错误符号。也就是说,被调用函数的原型可以是这样的:"bool fun(double &S1, double &S2);"。调用函数启动变量,将它们传递给fun(),如果fun()返回真,则使用传递的变量的值(它们本身可能有不同的名字)作为S1和S2。