来自一个 "傻瓜 "的问题 - 页 20

 

向大家问好。

问题 - 我想在我的EA中使用CTrade类的方法。为此,我应该在代码中添加什么命令?

我已经尝试了很多#include, #import......还没有任何结果:(

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
axmed0207:

向大家问好。

问题 - 我想在我的EA中使用CTrade类的方法。为此,我应该在代码中添加什么命令?

我尝试了很多#include, #import......到目前为止,没有任何效果:(


MACD 样本专家顾问的例子可能会帮助你。

按以下方式连接模块

#include <Trade\Trade.mqh>

以两种方式之一声明一个变量(取决于算法和对某些实现特性的需要)。

这可以作为一个独立的对象,或作为主类的一部分来做。

1. CTrade m_trade;  // trading object (автоматически создается и удаляется)
2. CTrade *m_trade; // trading object (указатель на динамический объект, требуется инициализация и деинициализация. В противном случая будут проблемы)

一个平仓的例子(在代码中详细说明)。

m_trade.PositionClose(Symbol())

修改位置的例子(见代码中的细节)。

m_trade.PositionModify(Symbol(),sl,tp)

PS

你也可以详细研究一下CExpert类。

 
非常感谢您的全面解答 :)
 
2011.07.15 13:30:35 2011.07.08 00:00:01 测试时检测到无限的睡眠 循环。
它是什么意思?
 
dentraf:
2011.07.15 13:30:35 2011.07.08 00:00:01 测试时检测到无限的睡眠循环。
这意味着什么?

理论上,这是一个取消冠军参与者资格的理由(至少,在自动测试EA期间出现问题), 但事实上,这是不正确的工作与睡眠()。

我建议更详细地研究 篇文章(也许还有其他文章)。

关于你的问题,以下是文章中的 引用。

测试器中的Sleep()函数

Sleep() 函数允许你在专家顾问或脚本中的图表工作期间暂停mql5程序的执行一段时间。当请求一些数据时,这可能是必要的,因为在请求时这些数据还没有准备好,你需要等到它们准备好。关于Sleep()函数使用的详细例子可以在数据访问组织 部分找到。

在测试器中,对Sleep()的调用不会延迟测试过程。 当Sleep()被调用时,产生的ticks在指定的延迟内被 "播放",其结果是挂单、止损可以触发,等等。在Sleep()被调用后,测试器中建模的时间被增加了Sleep函数参数中指定的时间间隔。

如果由于Sleep()的执行,测试器中的当前时间超过了测试期的结束,将收到一个错误 "Sleep中的无限循环"。如果发生这样的错误,测试结果不会被丢弃,所有的计算都会完成(交易数量、缩减等),结果会传给终端。

函数Sleep()在OnDeinit()中不会起作用,因为在它被调用后,测试者的时间被保证在测试间隔之外。

 

同志们!

我将在专家顾问中加入历史分析。你能告诉我如何组织数据输出吗?

比方说,在一年的历史中,最长的酒吧。如何获得数值是清楚的,但在哪里输出?直接将其输出到图表中会更方便。或者使用 日记中的打印功能,但我不知道该如何操作?它是否会不断重印价值?我是否需要为打印设置一些棘手的条件?您的一般建议是什么?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
AUser:

同志们!

我将在专家顾问中加入历史分析。你能告诉我如何组织数据输出吗?

比方说,在一年的历史中,最长的酒吧。如何获得数值是清楚的,但在哪里输出?如果直接输出到图表中会更方便。或者使用 日记中的打印功能,但我不知道该如何操作?它是否会不断重印价值?我是否需要为打印设置一些棘手的条件?您的一般建议是什么?


尝试使用Comment()函数。它将文本放在图表的左上角。

在这里你也可以使用 "n "符号传递到下一行。遗憾的是,"(t)"并不奏效。

 
voix_kas:

尝试使用Comment()函数。它将文本放在图表的左上角。

你也可以使用 "n "来移动到下一行。遗憾的是,"(t)"并不奏效。

就这样吧,谢谢你)
 

你能告诉我一个阵列可以塞进多少数据吗?MqlRates的 数组结构,我准备把2009年以来的所有历史小时线都放进去,合适吗?

p.s. 战略测试器还有一些问题,它在周末不工作,因为服务器不可用,或者是在我这里出现了故障?周五似乎还能正常工作))。

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 

1.整个事情似乎是这样的。如果有限制,那是在int或long的阈值水平。计算机中没有那么多的内存。=)

2.更准确地描述测试器不工作的问题。错误代码,屏幕截图...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5