新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 45

 
Vitalie Postolache:
这有什么大不了的?一直以来都是这样的。
我不知道,我以前没有做过这些。如果我从代码库中随机抽出一个机器人,通过同样的片段运行,它会有所作为,但这个机器人在启动时就死了,尽管我可以看到代码是工作的,而且我修复了之前的错误,没有什么可抱怨的,编译器也没有发誓。但通过任务管理器杀死终端是很烦人的,而且没有任何意义。找到一个错误并修复它比较容易。
 

trader781:
Ну не знаю, я раньше ими не занимался.  Если брать случайного бота из кодебазы и прогнать по тем же отрезкам, то он что - то будет делать, этот же просто дохнет при запуске, хотя смотришь - вроде код рабочий и прошлую ошибку я поправил, придраться особо не к чему и компилятор не ругается. Но убивать терминал через диспетчер задач надоедает, да и смысла нет. Проще найти косяк и исправить.

专家选项卡的日志怎么说?还是测试员日志?
 
Vitalie Postolache:
专家顾问选项卡的日志怎么说?还是测试员的日志?

也没有什么可疑的地方(除了上述情况)。

在一个演示中运行,让它工作,如果我不能修复它,我会让你知道原因。

采取参数仍然被完全忽略

如果它不等于零,它应该显示一个错误或被设置为
 
trader781:

也没有什么可疑的地方(除了上述情况)。

在一个演示中运行,让它工作,如果我不能修复它,我会让你知道原因。

到目前为止,采取的参数被完全忽略了

如果它不等于零,它应该失败或被设置。
测试员是否开单?它至少能打开一个吗?日志中没有错误吗?你应该打印错误代码 和传递给交易函数 的计算参数,这使你更容易抓住逻辑错误。
 
Vitalie Postolache:
它是否在测试器中打开订单?它甚至能打开一个吗?日志中是否没有错误?你应该打印错误代码 和传递给交易函数 的计算参数,这使你更容易捕捉到逻辑错误。
当我试图在策略测试器中打开一个订单时,我得到了一个错误,但在打开第二个订单后,CPU负载为29%,并不断增加,直到挂起。
 
trader781:
在测试器中,打开一个,然后是第二个,然后挂起,在演示中也是如此,在打开第二个CPU负载29%后,不断增加,直到挂起。
日志在哪里?奇迹不会发生。
 
Vitalie Postolache:
日志在哪里?没有什么奇迹。
2016.12.22 22:16:32.249 '14041396': 订单#161405291卖出0.01 AUDUSD at 0.72067 sl: 0.00000 tp: 0.00000 closed at price 0.72116
2016.12.22 22 22:16:32.162 '14041396': 关闭订单#161405291 卖出0.01 AUDUSD at 0.72067 sl: 0.00000 tp: 0.00000 at price 0.72116
2016.12.22 22 22:16:31.507 '14041396': 订单#161415692卖出0.02 AUDUSD at 0.72086 sl: 0.00000 tp: 0.00000 close at price 0.72115
2016.12.22 22 22:16:31.278 '14041396': 平仓单#161415692 卖出0.02 AUDUSD at 0.72086 sl: 0.00000 tp: 0.00000 at price 0.72115
2016.12.22 22:16:17.002 Expert count AUDUSD,M5: 删除

2016.12.22 22:16:32.249 '14041396': 订单#161405291卖出0.01 AUDUSD at 0.72067 sl: 0.00000 tp: 0.00000 closed at price 0.72116

2016.12.22 22 22:16:32.162 '14041396': 关闭订单#161405291 卖出0.01 AUDUSD at 0.72067 sl: 0.00000 tp: 0.00000 at price 0.72116

2016.12.22 22 22:16:31.507 '14041396': 订单#161415692卖出0.02 AUDUSD at 0.72086 sl: 0.00000 tp: 0.00000 close at price 0.72115

2016.12.22 22 22:16:31.278 '14041396': 平仓单#161415692 卖出0.02 AUDUSD at 0.72086 sl: 0.00000 tp: 0.00000 at price 0.72115

2016.12.22 22:16:17.002 Expert count AUDUSD,M5: 删除


(通过终端止损删除,现有订单用手抹去,一个日志第二个专家标签)


 
mila.com:

需要指标值,在第一个闭合的条形H1上。

因此,得到的通常是。
 
trader781:

(通过终端关机删除,现有的订单被手动覆盖,一个日志第二个专家标签)

我采取了我所知的最后一个变体,并修复了最明显的错误,但订单只打开了一个,就是这样。总的来说,我不明白这个EA的逻辑,它是以一种奇怪的方式写的。

总的来说,我希望下一步是清楚的。 我必须为所有能找到和不能找到的东西在代码中填上打印,并捕捉逻辑错误,而且可能不止一个。还有很多。

附加的文件:
count.mq4  17 kb
 
Vitalie Postolache:


谢谢你,这很清楚该怎么做了

而这一点很简单。

- 开立订单

- 设置止盈点

- 如果价格下跌,在这一步之后,以平均价格开出第二个有补货的。

- 镶嵌式外卖

- 如果单次拍摄已经触发,请关闭所有的拍摄。

我刚刚运行了你扔掉的,所以是真的)几乎所有的代码都被忽略了
原因: