新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 960

 
Yevhenii Levchenko:

有东西在硬盘上硬生生地缩小了:D

我曾经下载报价单...AppData中的终端文件夹 重约5GB。磁盘上有超过150GB的可用空间。现在我查了一下--100GB。发生了什么事?

停止了测试...查了一下--60GB的文件夹。我一定是做错了什么...

找到了,测试员文件夹中的日志文件夹变大了。这就是出现的情况。


我在那里得到了大量的打印输出。我想是因为这个原因,还是有什么不同呢?

这很可能就是原因。
 

在MT4中,我如何知道一个键盘键(不是功能键,而是一个普通键,例如带有字母 "A "的键)是否被 "保持"?

它是持有的,而不仅仅是按下的。

 
这个错误可能意味着什么?当我按下 "开始 "时,我明白测试者在开始时准备了引号。在这段时间里,它一直像这样冒出来。
 
Yevhenii Levchenko:
这个错误可能意味着什么?当我按下 "开始 "时,我明白测试员在一开始就准备好了引号。在这段时间里,它不断地冒出来。

加载报价 F2

 
Artyom Trishkin:

下载 F2 报价

我怀疑这是否有帮助,最可能的是经纪人的历史记录是歪的,这是正常的,所有相同的在所有ticks模式将模拟ticks - 在大多数策略中这不是关键,在真实的测试时,通常是其他问题,而不是在ticks的质量测试;)

SZZY: 我曾经写过一个说明,如何为测试制作一个100%的历史记录,他们说这很复杂--所以我把它删掉了,想法是有一个单独的终端用于测试,在F2之后你删除所有的历史记录,除了M1,然后通过周期转换器从M1生成所有的TF,但不要忘记在F2之后注销终端--否则所有的工作都会出错。

--------------------------------------------------------------

是否有一个多平台的解决方案(MT4 / MT5)来测试保证金要求? 我正在使用文章中的代码https://www.mql5.com/ru/articles/2555#not_enough_money

我希望看到另一种解决方案,提前感谢!

 
Artyom Trishkin:

下载 F2 报价

从服务器下载的所有历史报价...

伊戈尔-马卡努

我怀疑这是否有帮助,最可能的是经纪人的历史记录是歪的,这是正常的,反正在所有的ticks模式下会模拟ticks--在大多数策略中这不是关键,在真实测试时通常有其他问题,而不是作为ticks测试;)

如何说...有时有信号,但机器人由于某种原因没有进入...而有时停顿的时候并没有抓到影子......

 
Yevhenii Levchenko:

怎么说呢...有时有信号,但机器人由于某种原因没有进入...而停车时有时会抓不到影子......

这不是来自于MT4测试器模拟的点数测试,而是来自于经纪人方面的交易订单的执行质量。

这就是为什么无从判断的原因!- 这就是我所说的

叶夫根尼-列夫琴科

我从服务器上下载了引文,整个故事...

在新的终端历史中生成一个周期转换器,并以99%的质量进行测试 - 准备终端进行10分钟的测试

 
Igor Makanu:

这不是来自于MT4测试器模拟的点数测试,而是来自于经纪人方面的交易订单的执行质量。

不,那是测试中的情况...我甚至还没有在经纪人的账户上检查。这里有一个这样的例子。


当红色从上到下越过75.0水平时,就是卖出信号。文字标签显示是否允许买入或卖出(这又是由上层tf决定的)。出售是允许的,而且有条件出售。但它并没有卖掉)

 
Yevhenii Levchenko:

但它没有卖出去)

那么,我必须说,屏幕是美丽的吗?)))

我写这样的专家顾问。

enum ENUM_CMD{CMD_NO,CMD_BUY,CMD_SELL};

void OnTick()
  {
   ENUM_CMD CMD1,CMD2;
   CMD1 = ind1();
   CMD2 = ind2();
if(NewBar())
     {
      if(CMD1==CMD_BUY && CMD2==CMD_BUY)
        ....
  }

//1.Рабочий таймфрейм Фильтр EMA с периодом 13.
//Если свеча закрылась выше ЕМА считаем тренд растущим и работаем только на покупку. 
//Если свеча закрылась ниже ЕМА считаем тренд понижающимся и работаем только на продажу.
//2. Фильтр MACD с стандартными настройками 12,26,9.
//Если бар гистограммы индикатора за закрытии свечи выше предыдущего бара работаем на покупку.
//Если бар гистограммы индикатора за закрытии свечи ниже предыдущего бара работаем на продажу.
ENUM_CMD ind1()
  {
   double  ind=iMA(symbol,PeriodMain,indEMAPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   if(Close[1]>ind) return(CMD_BUY);
   if(Close[1]<ind) return(CMD_SELL);
   return(CMD_NO);
  }
//+------------------------------------------------------------------+
ENUM_CMD ind2()
  {
   double  ind1=iMACD(symbol,PeriodMain,indMACDfast_ema_period,indMACDslow_ema_period,indMACDsignal_period,PRICE_CLOSE,0,1);
   double  ind2=iMACD(symbol,PeriodMain,indMACDfast_ema_period,indMACDslow_ema_period,indMACDsignal_period,PRICE_CLOSE,0,2);
   if(ind1>ind2) return(CMD_BUY);
   if(ind1<ind2) return(CMD_SELL);
   return(CMD_NO);
  }


这是用指标工作的整个逻辑:我们等待一个新的条形图,并决定什么将打开,关闭,平均 - 不是一个原则问题,主要是分离TC的逻辑和独立的指标及其缓冲区的工作。

每个论坛上都有指标线(或称МА--这是同一件事)的交叉,这里已经讨论了一百次,从上到下的交叉:第2条线的1号线高于2号线,而在第1条线上,1号线将低于2号线....- 把字行改成指标缓冲区,然后写代码,一般在论坛和QB上搜索如何写指标的专家,有很多材料--你只需要阅读即可

 
Igor Makanu:

那么,我是否必须说,这个屏幕很美?)))

我写这样的专家顾问。


这是用指标工作的整个逻辑:我们等待一个新的条形图,并决定什么将打开,关闭,平均 - 不是一个原则问题,主要的是将TC的逻辑与指标及其缓冲区的工作分开。

每个论坛上都有指标线(或称МА--这是同一件事)的交叉,这里已经讨论了一百次,从上到下的交叉:第2条线的1号线高于2号线,而在第1条线上,1号线将低于2号线....- 把字行改成指标缓冲区,然后写代码,一般在论坛和QB上搜索如何写指标的专家,有很多材料--你只需要阅读即可

我要说的是:这种情况是否发生,是否也是由于某种引用错误或我写错了什么?

原因: