错误、漏洞、问题 - 页 3026

 
Сергей Таболин:

那么在哪个较高的TF上的蜡烛没有出现在较低的TF上的蜡烛?

M1的指标使用M5的另一个指标。

一般来说,如果不是在优化过程中增加了不合理的计算资源消耗,这不会是一个问题(在我的案例中,每一个新的M5都会导致在整个历史上重新运行指标,而且这个项目还没有完全完成,我计划使用来自不同TF的16个指标)。

 
Andrey Dik:

M1的指标使用M5的另一个指标。

一般来说,这不是一个问题,如果不是增加了不合理的计算资源消耗,在优化过程中很关键(在我的例子中,每一个新的M5都会导致在整个历史上重新运行指标,而这个项目还没有完全完成,我计划使用来自不同TF的16个指标)。

安德烈,但M5蜡烛与M1蜡烛同时打开。还是你指的是重新绘制(重新计算) 指标的负载?所以,如果我们禁止他们重画,那他们到底需要什么?那么你将不会从他们那里得到新的数据...

 

请修复搜索。

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

虫子,虫子,问题

fxsaber, 2021.05.25 16:12

搜索在网站上并不总是有效。

https://www.mql5.com/ru/search#!keyword=Oshibka

我看不到任何东西,尽管它应该 是这样。

 

编译错误。

#define  MACRO( X )      X##X
void OnStart()
{
    Print( 11 );        //(1) нормально
    Print( MACRO( 1 )); //(2) Error: '11' - undeclared identifier
}
以及(1)和(2)之间的区别是什么?
 
Сергей Таболин:

安德烈,但M5蜡烛与M1蜡烛在同一时刻打开。还是指重新绘制(重新计算) 指标的负荷?所以,如果我们禁止他们重画,那他们到底需要什么?那么你就不会从他们那里得到新的数据...

一旦出现新的 时间框架,并从中获得数据,prev_calculated计数器将被重置。这意味着,指标将被重新计算,就像它第一次启动 一样。

这样的结构你熟悉吗?

if (rates_total == prev_calculated) return rates_total;
  
int startInd = rates_total - prev_calculated;

for (int i = startInd; i >= 0; i--)
{
  //тут считаем индикатор, который обращается к другому индикатору на старшем ТФ
}

这不是关于EA的逻辑(重画、不重画、少画或其他),而是prev_calculated在没有人要求它这样做的情况下被重置的事实。

 
Andrey Dik:

一旦有一个新的 时间框架 获得数据,prev_calculated计数器就会被重置。这意味着整个指标被重新计算,就像它第一次被运行 一样。

这样的结构你熟悉吗?

这与EA的逻辑无关(重画、不重画、少画或其他什么),这与prev_calculated被重置的事实有关,因为没有人要求它这样做。

指标是我最薄弱的地方 ))))

但是!

要么我根本不懂,要么你有点错。

据我所知,prev_calculated是一个未计算数据的计数器。而一旦传入的数据被计数,该计数器就会被重置......。就像,就这样,伙计,没有更多的新数据可以计算....。)))

而在这种情况下,指标应该完全 重新计算的原因是什么--我不知道!

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

说了一个小谎 ))))

不是指标被重新计算,而是 "指数 "被重新绘制,只是为了在历史上看起来 "漂亮";)

 
Сергей Таболин:


我撒了一个小谎 ))))

指标没有被重新绘制,"指数 "被重新绘制只是为了让它们在历史上看起来更漂亮;)

这就是为什么它们像蛋糕一样热销。因为他们总是看起来很美,很美。

 
Vladislav Andruschenko:

这就是为什么它们像蛋糕一样热销。因为他们总是看起来很美,很美。

100500 ))))))

 
Сергей Таболин:


据我所知,prev_calculated是一个未计算数据的计数器。

唉,你的知识与文件不一致。

OnCalculate()

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

我怎么能在内部知道EX5是在调试模式下编译的?不是在Debug模式下运行,而是通过Debug编译一次后以正常方式运行。

找到了。

void OnStart()
{      
  #ifdef _DEBUG
    Alert("EX5 - debug.");
  #endif

  if (MQLInfoInteger(MQL_DEBUG))
    Alert("Debugging...");
}


那我怎么知道EX5受到了保护?