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

 
Oleg Kolesov:
你好!在 "如何正确向市场提交产品 "一文中,只指定了1个EX5-EX4文件?问题基于指标的顾问,在顾问功能iCustom(2个文件)中的指标文件计算,如何提交给市场?服务台3天都不回答?
指标与EA 连接起来作为资源
 
Artem 谢谢你的回答,我怎么做呢?有一个指标文件,有一个带有iCustom功能的EA文件。该文件是否要包括在内?
 
Oleg Kolesov:
Artem 谢谢你的回答,我怎么做呢?有一个指标文件,有一个带有iCustom功能的专家顾问文件。是否有一个文件要包括在内?

不要把你的问题分散在不同的论坛主题上--这对大家来说会更容易。

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

新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论

Igor Makanu, 2019.06.13 18:09

在MQL5问题线程中已经回答了你的问题--启用指标作为资源,不知道怎么做--开始搜索网站 "资源"

https://docs.mql4.com/ru/runtime/resources

服务台处理的是财务问题,而不是培训

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
В данном примере показано как проигрывать звуки из файлов Ok.wav и timeoit.wav, входящих в стандартную поставку терминала. Эти файлы находятся в папке означает папку, из которой запущен клиентский терминал MetaTrader 5.  Программным путем из mql5-программы каталог терминала можно узнать следующим образом: Расположение каталога данных терминала...
 

我理解这里的对话。MQL是很大的!我必须要读。谢谢你的帮助。

 
下午好。关于MT5遗传测试算法 的问题。在停止测试后(如重新启动电脑),运行的结果仍然存在,但完成测试所剩的运行次数会回到原来的水平。一切重新开始,但结果已经到位了?该算法的描述指出,停止不会影响测试,但当重新启动时(没有改变EA,没有重新编译),似乎又重新开始了。应该如何看待这个问题?已经谢谢你了。
 

不能谷歌或解决一个基本问题(()。

有一个以秒为单位保持时间的位置,我需要得到小时+分钟+秒的时间, (如何将所有的东西转换为日/月/小时/分钟/秒https://www.mql5.com/ru/code/353 - 不是我需要的。不需要日和月,只需要小时,至少1000小时)。

真相就在这里的某个地方,但几分钟后就会有很多人!

void OnStart()
  {
   int timeinsec=100000;
   int h,m,s;
   SecondsToHMS(timeinsec,h,m,s);
   printf("h = %d , m = %d , s = %d",h,m,s);
  }
//+------------------------------------------------------------------+
void SecondsToHMS(int seconds,int &hour,int &min,int &sec)
  {
   hour= int(seconds/3600);
   sec = seconds - (hour * 3600);
   min = int(seconds / 60);
   sec = seconds - (min * 60);
  }
//+------------------------------------------------------------------+
2019.06.18 10:22:48.245 tst EURUSD,H1: h = 27 , m = 1666 , s = 40
 
Igor Makanu:

我有很多分钟的时间!

在计算分钟的时候,你不使用更新的秒数。

 

你好,我想在第一根蜡烛的最大值等于第二根蜡烛的最大值这一条件下发出警报。也就是说,不完全相等,但大约是,5个百分点的误差。帮助。

  {
//---
   if(rates_total<3) return(0);
   int limit=rates_total-prev_calculated;
   if(limit>1)
     {
      limit=rates_total-3;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   for(int i=limit; i>=0; i--)
     {
      if (fabs(high[i+1]-high[i+2]) <= 5.0*_Point)

        {
         BufferDN[i+1]=high[i+1];
        }
     }
//--- return value of prev_calculated for next call

   return(rates_total);
  }

 
yiduwi:

这并不完全相等,但大约是5个百分点的误差。

if (fabs(high[i+1]-high[i+2]) <= 5.0*_Point)

fxsaber:

你在计算分钟时没有使用更新的秒数。

谢谢,这是其中一个错误,但还是搞不清楚如何从159,002秒44小时10分2秒(在线计算器 )得到。))


这是解决方案,但我认为我错过了一些东西。

//+------------------------------------------------------------------+
void OnStart()
  {
   int timeinsec=159002;
   int h,m,s;
   SecondsToHMS(timeinsec,h,m,s);
   printf("h = %d , m = %d , s = %d",h,m,s);
  }
//+------------------------------------------------------------------+
void SecondsToHMS(int seconds,int &hour,int &min,int &sec)
  {
   int s=seconds;
   sec = s%60;
   s-=sec;
   Print("s = ",s);
   min = int(s / 60)%60;
   hour= int(s/3600);
  }
//+------------------------------------------------------------------+
2019.06.18 11:46:22.691 tstss EURUSD,H1: h = 44 , m = 10 , s = 2
 
Igor Makanu:

谢谢你,你能告诉我为什么箭头出现在第二根柱子上而不是第一根柱子上吗?

      if (fabs(high[i+1]-high[i+2]) <= 0.0*_Point)
        {
         BufferDN[i+1]=high[i+1];
        }