文章 "在 MQL5 中使用资源" - 页 2

[删除]  
谢谢。
 

在测试仪中使用资源 应该有效吗?不行,错误 4802。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1

#resource "\\Indicators\\Examples\\ADX.EX5"
#property tester_indicator "\\Indicators\\Examples\\ADX.EX5"
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\ADX.EX5");
   if(handle!=INVALID_HANDLE)
     {
      ChartIndicatorAdd(0,1,handle);
     }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| 自定义指标迭代函数
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  return(rates_total);}

	          
 
Karlson:

在测试仪中使用资源应该有效吗?不行,错误 4802。

你到底想做什么?

在一个有自己计算引擎的外部指标中覆盖该指标的计算函数OnCalculate?您不能这么做。

 
是的,我想让我的指标接收来自 Zigzag 的数据,并将其作为一种资源。
 

但要检查测试仪中的指示器,仍需要锁定装置本身的存在。

if(MQL5InfoInteger(MQL5_TESTING)==true) // 如果是测试人员,则从文件夹中获取
     {
      f_h=iCustom(_Symbol,_Period,"Examples\\Zigzag",5,5,3);
     }
   else                                 // 如果在图表上,我们使用内置的
     {
      f_h=iCustom(_Symbol,_Period,"::Indicators\\Examples\\Zigzag.EX5",5,5,3);
     }

另一种方法是完全嵌入安全锁。

 

关于交易、自动交易系统和测试交易策略的论坛

讨论文章 "在 MQL5 中使用资源"。

Renat, 2013.01.16 22:21

这是在 2012 年 11 月 24 日的 730 版本中添加的:

  • MQL5:添加了在 EX5 资源中存储指标的支持。资源中的指标将无法使用自己的资源。
请问如何在从资源加载的指标中创建OBJ_BITMAP_LABEL 类型的图形对象,并在其上叠加TextOut 的文本?
我们是否可以只为TextOut 规定一个例外 - 即可以使用从资源加载的程序自身的资源?
 
fyords:
请问如何在从资源加载的指示器中创建OBJ_BITMAP_LABEL 类型的图形对象,并在其上叠加TextOut 的文本?
只有TextOut 可以例外--能够使用从资源加载的程序的自有资源?
问题到底出在哪里?到底是什么地方出了问题?
 
Renat:
问题究竟出在哪里?到底是什么地方出了问题?

有一个指示器,通过资源启动子指示器。子指示器中使用了
TextOut,并通过 ResourceCreate 将结果加载到OBJ_BITMAP_LABEL,但无法在资源中使用资源。

结果是,对象出现了,属性中指定了资源,但文本本身没有输出。

 
fyords:


TextOut,并通过 ResourceCreate 将结果加载到OBJ_BITMAP_LABEL,但无法在资源中使用资源。

结果是,对象出现了,属性中指定了资源,但文本本身没有输出。

是的,目前无法从资源对象中加载资源。

事实上,情况是这样的:从第三方资源中 "提取 "的指示器开始在被调用模块中生存,它对资源的所有调用都会进入被调用模块的主体,而不是本地主体。我们目前正在考虑这个问题,很有可能会解决它。

 
Renat:

...我们正在考虑这个问题,也许会解决它。

谢谢您,我将拭目以待。