Информация о типе транзакции содержится в поле type переменной trans. Типы торговых транзакций описываются в перечислении ENUM_TRADE_TRANSACTION_TYPE:
•TRADE_TRANSACTION_ORDER_ADD – добавление нового действующего ордера
•TRADE_TRANSACTION_ORDER_UPDATE – изменение действующего ордера
•TRADE_TRANSACTION_ORDER_DELETE – удаление ордера из списка действующих
•TRADE_TRANSACTION_DEAL_ADD – добавление сделки в историю
•TRADE_TRANSACTION_DEAL_UPDATE – изменение сделки в истории
•TRADE_TRANSACTION_DEAL_DELETE – удаление сделки из истории
•TRADE_TRANSACTION_HISTORY_ADD – добавление ордера в историю в результате исполнения или отмены
•TRADE_TRANSACTION_HISTORY_UPDATE – изменение ордера, находящегося в истории ордеров
•TRADE_TRANSACTION_HISTORY_DELETE – удаление ордера из истории ордеров
•TRADE_TRANSACTION_POSITION – изменение позиции, не связанное с исполнением сделки
•TRADE_TRANSACTION_REQUEST – уведомление о том, что торговый запрос обработан сервером и результат его обработки получен.
DF 016:03:13.543 Core 12018.08.0223:00:06 deal performed [#8571 sell 0.01 EURUSD at 1.15887]
PL 016:03:13.543 Core 12018.08.0223:00:06 order performed sell 0.01 at 1.15887 [#8571 sell 0.01 EURUSD at 1.15887]
OR 016:03:13.543 Core 12018.08.0223:00:06 CTrade::OrderSend: market sell 0.01 EURUSD tp: 1.15841 [done at 1.15887]
JM 016:03:13.543 Core 12018.08.0223:20:40take profit triggered#8571 sell 0.01 EURUSD 1.15887 tp: 1.15841 [#8572 buy 0.01 EURUSD at 1.15841]
CR 016:03:13.543 Core 12018.08.0223:20:40 deal #8572 buy 0.01 EURUSD at 1.15841 done (based on order #8572)
QM 016:03:13.543 Core 12018.08.0223:20:40 deal performed [#8572 buy 0.01 EURUSD at 1.15841]
MS 016:03:13.543 Core 12018.08.0223:20:40 order performed buy 0.01 at 1.15841 [#8572 buy 0.01 EURUSD at 1.15841]
FQ 016:03:13.543 Core 12018.08.0223:41:40take profit triggered#8570 sell 0.01 EURUSD 1.15868 tp: 1.15822 [#8573 buy 0.01 EURUSD at 1.15822]
CN 016:03:13.543 Core 12018.08.0223:41:40 deal #8573 buy 0.01 EURUSD at 1.15822 done (based on order #8573)
RQ 016:03:13.543 Core 12018.08.0223:41:40 deal performed [#8573 buy 0.01 EURUSD at 1.15822]
QG 016:03:13.543 Core 12018.08.0223:41:40 order performed buy 0.01 at 1.15822 [#8573 buy 0.01 EURUSD at 1.15822]
IF 016:03:13.543 Core 12018.08.0223:41:40 Закрыта позиция ---Тикет сделки--- 8573 --- записана в структуру ArrayDealOut ------------
ED 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#8079 sell 0.01 EURUSD 1.15860 tp: 1.15814]
KJ 016:03:13.543 Core 12018.08.0223:59:59 deal #8574 buy 0.01 EURUSD at 1.15858 done (based on order #8574)
KD 016:03:13.543 Core 12018.08.0223:59:59 deal performed [#8574 buy 0.01 EURUSD at 1.15858]
OK 016:03:13.543 Core 12018.08.0223:59:59 order performed buy 0.01 at 1.15858 [#8574 buy 0.01 EURUSD at 1.15858]
EN 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#7386 sell 0.01 EURUSD 1.15674 tp: 1.15628]
QD 016:03:13.543 Core 12018.08.0223:59:59 deal #8575 buy 0.01 EURUSD at 1.15858 done (based on order #8575)
JO 016:03:13.543 Core 12018.08.0223:59:59 deal performed [#8575 buy 0.01 EURUSD at 1.15858]
NQ 016:03:13.543 Core 12018.08.0223:59:59 order performed buy 0.01 at 1.15858 [#8575 buy 0.01 EURUSD at 1.15858]
NS 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#7385 sell 0.01 EURUSD 1.15691 tp: 1.15645]
在调试器中按蓝色按钮试试。
通过事先设置断点,检查数值的位置和预期的数值。好的,我没有看到任何错误,所以我必须检查,因此写下开仓,调整止损,使其不至于等待很长时间才关闭......
哦,伙计,这对我来说还是个新话题,但点状物背后的原理是什么?总之...谢谢,我会研究的。
还有,是否有办法从开发商那里引用某种pomaguer?有这样的服务吗?好吧,面对无法理解的事情,交易来了,一部分人是有条件的选择,而另一部分人是有条件的!好吧,在这里你甚至不需要太多的知识!
哦,伙计,这对我来说还是个新话题,但点状物背后的原理是什么?总之...谢谢,我会研究的。
有什么办法可以联系开发商的某种pomager吗?有这样的服务吗?好吧,面对无法理解的事情,交易来了,一部分人是有条件的选择,而另一部分人是有条件的!在这里,你甚至不需要太多的知识!
当然,你不能问任何开发人员。简而言之,其内容如下。
你把光标放在你想停止的行上,按F9,行号上出现一个蓝点
这就是断点。也可以通过双击行号进行设置。你也可以去掉它,你可以放一些。所有其他调试的细节都在手册中。
我根本就不明白什么。下面是我工作中的EA的一段代码
而且它还没有在DebugBreak()处停止;这意味着一切都在顺利进行,没有任何问题。
显然,你的订单是通过添加到历史记录中来实现的,你正在等待一张交易单。
它写得很清楚--我已经加上了DELIVERY,我甚至在PRINT 中错过了这个条件。但是,"交易票据 "并没有提供这个PRINT,或者说它不应该提供?
写得很清楚--增加了一个TRACT,甚至在PRINT中跳过了这个条件。但这个PRINT中的 "交易票据 "并没有提供,或者说不应该提供?
这里你有TRADE_TRANSACTION_HISTORY_ADD,我的回答正是考虑到了这一点。
关于交易、自动交易系统和策略测试的论坛
将开放的职位分成若干组
Sergey Voytsekhovsky, 2020.04.12 13:20
我会从头开始尝试,我的脑子已经乱成一团了。正如那部经典电影所说--"谁会像这样建造.....????"。
贸易交易已经存在,但交易票据还没有出现。我的理解是否正确?
我根本就不明白什么。下面是我工作中的EA的一段代码
而且它从未在DebugBreak()上停止;这意味着一切工作都没有任何问题。
显然,你有一个订单正在被添加到历史中,你正在等待一张交易单。
看来你那里有一个错误,也许这就是它 "没有停止 "的原因?
我根本就不明白什么。以下是我工作中EA的一段代码
我以你的一段代码为基础,稍加改动,出现了第一个结果。当然,如果你能把不稳定的外观称为所需的打印结果。现在,它在一些情况下起作用,而不是全部,只有不到一半的获利机会触发,我无法捕捉到模式。
你那里似乎有一个错误,也许这就是它 "没有安装 "的原因?
事实上,在我的代码中,为了测试和调试,它是这样的
而在复制到这里之前,我取消了尾部的注释,当编译失败时,我删除了错误的括号。然后我编译了它,没有检查它。
谢谢你的提示。我明天必须多次运行这段代码才能发现这个错误。
事实上,在我的代码中,为了测试和调试,它是这样的
而在复制到这里之前,我取消了尾部的注释,当编译失败时,我删除了错误的额外括号。然后我编译了它,没有检查它。
谢谢你的提示。我明天必须多次运行这段代码,以找出错误所在。
很高兴我能够提供帮助。
我以你的一段代码为基础,稍加改动,得到了第一个结果。如果你能调用结果不稳定的外观要求打印。现在,它在一些,而不是全部,不到一半的TakeProfit触发中起作用,我无法抓住这个规律。
我没有任何获利或止损。但是,这仍然是令人震惊的。我从未遇到过任何问题。而现在,当其中一个位置被关闭时,在你有Print() 的地方,有一条记录从数组中被删除。如果关闭没有被处理,记录没有被删除,你会在日志中看到一个错误信息。
当然,目前尚不清楚为什么,但通过改变头寸的方法在交易中的差异 - 不起作用。他们都
DEAL_ENTRY_IN