if (!GlobalVariableSetOnCondition(GL_Var, 2.0, 1.0)) {
// здесь код обработки, если функция вернула false// false она вернёт в случае, если переменная GL_Var не была равна 1.0 во время вызова этой функции
// или если вообще ещё нет глобальной переменной GL_Var
}
要么计算所有的左括号,然后计算所有的右括号,然后比较数量,要么逐一注释函数,直到你找到错误。每个人的品味和颜色(源代码设计)都是不同的。
有4个开头括号和4个结尾括号,好的。但评论如何能帮助我不太明白
你可以先注释掉自定义函数,然后再注释掉循环、逻辑结构......。我可以向你保证,你会通过顺序切断找到与你的支架相匹配的。或者你也忘了在某个地方写上";"......。
你不是把IF误认为FOR吗?
对不起,我没有一下子注意到它。
将其与这个片段进行比较。这只是一个变体。
谁能解释一下为什么第6笔订单没有在蜡烛图上打开,以及如何做才能使其打开?
日志。
2011.11.04 19:42:21 1999.11.04 20:00 RLB_FLAT GBPUSD,H4: Open #7 sell stop 0.10 GBPUSD at 1.62233 sl: 1.64443 tp: 1.57089 ok
2011.11.04 19:42:21 1999.11.04 20:00 Tester: #6 因过期而被删除
2011.11.04 19:42:10 1999.11.04 12:00 RLB_FLAT GBPUSD,H4: Open #6 sell stop 0.10 GBPUSD at 1.63373 sl: 1.64570 tp: 1.62652 ok
2011.11.04 19:42:09 1999.11.04 08:00 Tester: #5因过期而被删除
2011.11.04 19:42:06 1999.11.04 00:00 RLB_FLAT GBPUSD,H4: Open #5 sell stop 0.10 GBPUSD at 1.63622 sl: 1.64702 tp: 1.63411 ok
2011.11.04 19:42:00 1999.11.02 04:00 测试人员:#4 因过期而被删除
2011.11.04 19:41:53 1999.11.01 20:00 RLB_FLAT GBPUSD,H4: Open #4 sell stop 0.10 GBPUSD at 1.63365 sl: 1.64917 tp: 1.61097 ok
第四、第五和第六个挂单因过期而被删除。
增加其寿命或设置为0(零),见。 订单修改()
第四、第五和第六次递延由于到期而被删除。
增加他们的到期日或将其设置为0(零),见OrderModify()。 订单修改()
让我困惑的是,在第6个订单过期之前(它在20:00过期),在16:00有一根蜡烛下跌。这可以从图片中看出。
1.该函数找到历史上最高的股票订单,这意味着最后一个关闭的订单(当然,除非有一个特殊的情况,对于这种情况,你的选项有最大的关闭时间是最好的)。
2.根据条件, 第一笔订单以指定的TP/SL开仓,只有第二笔订单可能以新的TP/SL开仓,这意味着只有当第一笔交易为零时,该函数才能返回零,但如果历史上没有平仓订单,则不能返回。
最后一件事。在你的变体中,函数中j和另一个SELECT的使用是多余的。
这就够了。
1.你可以100%地信赖你的经纪人(或客户的 经纪人),关于他的票号?时间还是一个比较稳定的数值--在这里他只能通过调整历史记录来手动改变时间。IMHO - 更好地利用时间。
2.如果客户 需要改变逻辑,那么你的函数可能要重写。
3.你是否建议
在 一个循环中使用它?为了什么?你只能对已经找到的最后一个订单使用一次。
А...你的客户 将不会进行测试和优化。我明白了...
GlobalVariableSetOnCondition() - 你能用简单的语言解释这个函数的作用吗?帮助中的描述非常混乱,我无法理解一些要点?
如果现有全局变量的当前值等于第三个参数check_value 的值,则为该变量设置一个新值。如果该变量不存在,该函数将产生错误 ERR_GLOBAL_VARIABLE_NOT_FOUND(4058)并返回FALSE。如果执行成功,该函数将返回TRUE,否则将返回FALSE。要获得错误信息,必须调用函数GetLastError()。如果全局变量的当前值与check_value 不同,该函数将返回FALSE。
这个函数允许对全局变量的原子访问,因此它可以用来创建一个信号 ,以便在同一客户终端的几个Expert Advisors之间进行并发通信。
GlobalVariableSetOnCondition() - 你能用简单的语言解释这个函数的作用吗?帮助中的描述非常混乱,我无法理解一些要点?
为现有的全局变量设置一个新的值,如果该变量的当前值等于 check_value的 第三个参数。如果该变量不存在,该函数将产生错误 ERR_GLOBAL_VARIABLE_NOT_FOUND(4058),并返回FALSE。如果执行成功,该函数将返回TRUE,否则将返回FALSE。要获得错误信息,必须调用函数GetLastError()。如果全局变量的当前值与check_value 不同,该函数将返回FALSE。
这个函数允许对全局变量的原子访问,因此它可以用来创建一个信号 ,以便在同一客户终端的几个Expert Advisors之间进行并发通信。
假设你有一个全局变量GL_Var。
它目前的数值为1.0。
你需要检查这个变量的值是否为1.0,如果是,将这个变量设置为2.0
它将是这样的。
为了处理这个函数的返回值,你可以通过if调用它
在调用函数之前,你可以检查全局变量GL_Var是否存在,以避免错误ERR_GLOBAL_VARIABLE_NOT_FOUND。
请帮助解决一个小的几何学 问题。有一条坐标为p1和p2的直线(图中以红色显示)。我需要找到p3的坐标,它是p2坐标的38.2%。我已经做了以下工作。
如果(p2>p1) p3=p2-(p2-p1)*0.382; 图中顶部为真。
如果(p1>p2) p3= p2+(p1-p2)*0.382; 图中下部为真。
有什么方法可以把这些写成一个没有 "如果 "的方程式吗?
那么,就这样写吧。
p3=p2-(p2-p1)*0.382
那么,就这样写吧。
p3=p2-(p2-p1)*0.382
而且确实如此!谢谢你的帮助。