使用自定义指标时的EA加速理论(功能-iCustom)。 - 页 6 123456789 新评论 Aleksey Vyazmikin 2015.05.18 12:06 #51 亚历山大-劳尔,也就是说,只要脚本/顾问在运行,内存就会被保留,不能被清除--可悲的结论。 一个脚本是否可以运行另一个脚本,然后关闭正在运行的脚本应该导致内存被清空,或者说这将被认为是一个复杂的处理环境? Andrey Khatimlianskii 2015.05.18 13:04 #52 -Aleks-:亚历山大-劳尔,也就是说,只要脚本/顾问在运行,内存就会被保留,不能被清理--可悲的结论。 是否可以运行另一个脚本,然后关闭正在运行的脚本应该会导致内存清空,还是会被认为是一个复杂的数据处理环境?我立即建议" 在专家顾问运行的情况下打开图表",这可以做到 - ChartOpen + ChartApplyTemplate唯一的问题是,在关闭它(删除专家顾问)时是否会释放内存。看看吧。 Aleksey Vyazmikin 2015.05.18 14:09 #53 Andrey Khatimlianskii:我立即建议" 在专家顾问运行的情况下打开图表",这可以做到 - ChartOpen + ChartApplyTemplate唯一的问题是,在关闭它(删除专家顾问)时是否会释放内存。检查。 我已经手动试过了,把有很多指标的模板改成几乎是空的--效果是有的(但缓存仍然存在--我想这不是关键)。但如何通过一个模板脚本进行打开和关闭 - 我不知道。我理解的疑点是,只要脚本在运行,内存就不会被清除......。安德烈,请帮忙做一下实验。 Aleksey Vyazmikin 2015.05.18 14:28 #54 还有一个问题,指标内计算 的实际缓冲区类型的选择是否影响图形缓冲区的大小?类型字节大小最小正值最大值表达的准确性C++中的模拟浮动41.175494351e-383.402823466e+387位有效数字浮动双82.2250738585072014e-3081.7976931348623158e+30815位有效数字双还有一个疯狂的想法,如果我们用TextOut 来代替图形缓冲区,会怎么样呢--只是不知道如何从中读取数据。 Denis Kirichenko 2015.05.18 14:52 #55 -Aleks-:还有一个问题,为指标内的计算 选择真实的缓冲区类型是否影响图形缓冲区的大小? 你说的 "图形缓冲器 "是指普通指标的图形显示吗? Aleksey Vyazmikin 2015.05.18 14:59 #56 Dennis Kirichenko: 你所说的 "图形缓冲器 "是指常规指标的图形显示吗?问题是,如果你在指标代码中使用 float 而不是double 进行计算,是否有可能影响分配给图形缓冲区的内存大小一栏。//---- buffersdouble Vy[];double bufDirSoft[];extern int n=3; extern int BarsN=100;//---- int ExtCountedBars=0; Aleksey Vyazmikin 2015.05.18 15:00 #57 另外,如何判断内存是否用完,是否有什么功能? Denis Kirichenko 2015.05.18 15:09 #58 -Aleks-:问题是,如果你在指标代码中使用float而不是double进行计算,是否有可能影响分配给图形缓冲区的内存大小一栏?不,有一个神奇的功能,可以取代所有的尝试。 bool SetIndexBuffer( int index, // индекс буфера double buffer[], // массив ENUM_INDEXBUFFER_TYPE data_type // что будем хранить );这种机制是内置于终端语言本身的。这是个有趣的想法,虽然... Denis Kirichenko 2015.05.18 15:11 #59 -Aleks-:另外,如何判断内存是否用完,是否有什么功能?你说内存用完了是什么意思?:-)这里有一些东西。https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer在我看来,管理指标资源内存的最有效方法是最小化 "历史最大条数 "参数(设置-->图表)。在我的记忆中,该参数的最小值是5K。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vladimir Karputov 2015.05.18 15:23 #60 -Aleks-: 另外,我怎样才能知道内存是否用完了,是否有什么功能?有可能检索到有关终端的信息终端内存总数终端(代理)进程可用的内存大小,单位:MB䵮䵮终点站_内存_可用终端(代理)进程的可用内存大小,单位:MB䵮䵮已使用的终端内存终端(代理)使用的内存大小,单位:MB䵮䵮 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亚历山大-劳尔,也就是说,只要脚本/顾问在运行,内存就会被保留,不能被清除--可悲的结论。
一个脚本是否可以运行另一个脚本,然后关闭正在运行的脚本应该导致内存被清空,或者说这将被认为是一个复杂的处理环境?
亚历山大-劳尔,也就是说,只要脚本/顾问在运行,内存就会被保留,不能被清理--可悲的结论。
是否可以运行另一个脚本,然后关闭正在运行的脚本应该会导致内存清空,还是会被认为是一个复杂的数据处理环境?
我立即建议" 在专家顾问运行的情况下打开图表",这可以做到 - ChartOpen + ChartApplyTemplate
唯一的问题是,在关闭它(删除专家顾问)时是否会释放内存。
看看吧。
我立即建议" 在专家顾问运行的情况下打开图表",这可以做到 - ChartOpen + ChartApplyTemplate
唯一的问题是,在关闭它(删除专家顾问)时是否会释放内存。
检查。
还有一个问题,指标内计算 的实际缓冲区类型的选择是否影响图形缓冲区的大小?
类型
字节大小
最小正值
最大值
表达的准确性
C++中的模拟
浮动
4
1.175494351e-38
3.402823466e+38
7位有效数字
浮动
双
8
2.2250738585072014e-308
1.7976931348623158e+308
15位有效数字
双
还有一个疯狂的想法,如果我们用TextOut 来代替图形缓冲区,会怎么样呢--只是不知道如何从中读取数据。
还有一个问题,为指标内的计算 选择真实的缓冲区类型是否影响图形缓冲区的大小?
你所说的 "图形缓冲器 "是指常规指标的图形显示吗?
问题是,如果你在指标代码中使用 float 而不是double 进行计算,是否有可能影响分配给图形缓冲区的内存大小一栏。
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
问题是,如果你在指标代码中使用float而不是double进行计算,是否有可能影响分配给图形缓冲区的内存大小一栏?
不,有一个神奇的功能,可以取代所有的尝试。
这种机制是内置于终端语言本身的。这是个有趣的想法,虽然...
另外,如何判断内存是否用完,是否有什么功能?
你说内存用完了是什么意思?:-)
这里有一些东西。
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
在我看来,管理指标资源内存的最有效方法是最小化 "历史最大条数 "参数(设置-->图表)。在我的记忆中,该参数的最小值是5K。
另外,我怎样才能知道内存是否用完了,是否有什么功能?
有可能检索到有关终端的信息
终端内存总数
终端(代理)进程可用的内存大小,单位:MB
䵮䵮
终点站_内存_可用
终端(代理)进程的可用内存大小,单位:MB
䵮䵮
已使用的终端内存
终端(代理)使用的内存大小,单位:MB
䵮䵮