初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1361

 
Dmitriy VC #:

这是可以理解的。它是这样做的。

问题是如何把它放在市场中。在发布专家时,是否可以同时指定资源文件...

套用一句话。

- 如果在专家顾问的代码中,有一个包含自定义指标的资源链接,系统也会提供下载吗?

资源是通过#resource"<资源文件路径>"命令插入的。

#resource "<путь_к_файлу_ресурса>"
常量字符串<resource_file_path>的长度不能超过63个字符。

资源中包含的所有文件和目录的名称必须是英文。

编译器按以下顺序按指定路径搜索资源。

  • 如果在路径的开头有一个反斜杠分隔符"\"(拼写为"\\"),那么资源就会相对于 terminal_data_directory\MQL4\ 进行搜索
  • 如果没有反斜杠,则相对于源文件的位置搜索该资源,该资源被写入源文件中。
 

这里是指标的连接,作为底部的一个资源

https://www.mql5.com/ru/docs/runtime/resources

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
Ресурсы - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
我们的想法是,如果 通过资源将指标连接 到EA,编译后会产生一个文件,你可以将其放在市场上。
 
Aleksei Stepanenko #:
在理念上,当 通过资源将指标连接 到专家顾问时,编译的结果是一个单一的文件,你可以放在市场中。

唉。一个指标就是一个指标,当通过资源连接时,专家顾问只参考它。他们的工作方式不同,不是吗?即使声音和图片都在资源中,你也只能得到一个文件。

 
Fast235 #:

这里是指标的连接,作为底部的一个资源

https://www.mql5.com/ru/docs/runtime/resources

伙计们,我在这里的帖子不多,但我知道 "朴素的真相"。

而问题不是如何将其作为一种资源连接起来,而是如何将一个由两个文件组成的产品上传到Market...

有没有人有这样的经验?

 
所有指标都包含在一个文件(EA)中,否则怎么能说是两个文件呢?
 
Fast235 #:
纳入一个文件,并将所有内容打包

不,指标可以处理专家不能处理的事件,反之亦然。因此,没有办法拥有一个文件。它们是不同的项目。

例如,指标处理OnCalculate()而不能处理OnTrade()。我怎样才能将所有这些功能结合到一个电子文件中?请教我!

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Dmitriy VC #:

不,指标可以处理专家不能处理的事件,反之亦然。因此,没有办法拥有一个文件。它们是不同的项目。

你可以继续这样想)

 
Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

这里有一个指标。

#property version   "1.00"
#property strict
#property indicator_chart_window

int OnInit()
   {
   
   return(INIT_SUCCEEDED);
   }

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[])
   {
   printf("preved medved!");
   return(rates_total);
   }

这里是专家。

#property version   "1.00"
#property strict
#resource "\\Indicators\\Res_Ind.ex4"

int OnInit()
   {
   return(INIT_SUCCEEDED);
   }

void OnDeinit(const int reason)
   {
   
   }

void OnTick()
   {
   double val=iCustom(Symbol(),0,"::Indicators\\Res_Ind.ex4",0,0);
   }

这里的一切都在一个文件中。

四是真的,但五也是真的。
附加的文件:
Res_Exp.ex4  12 kb