O que atualiza o RefreshRates()

 
Eu queria saber exatamente quais são as atualizações de atualização de dados e de tempos() e quando é verdade?
 
Uma função tão secreta que os desenvolvedores nem sabem disso))))
 

Eu simplesmente não tenho paciência para responder a tais perguntas.

RefreshRates

Осуществляет обновление данных в предопределенных переменных и массивах-таймсериях.


E o que são variáveis predefinidas e conjuntos de séries temporais podem ser encontrados na documentação.

Предопределенные переменные - Справочник MQL4
Предопределенные переменные - Справочник MQL4
  • docs.mql4.com
Предопределенные переменные - Справочник MQL4
 
Alexey Viktorov:

Eu simplesmente não tenho paciência para responder a tais perguntas.


E você pode ler sobre variáveis predefinidas e conjuntos de séries temporais na documentação.

Isto é, os dados da função iClose() não são afetados de forma alguma pela função RefreshRates(). Então, como podemos fazer com que a funçãoiClose() produza informações atualizadas?

 
Mikhail Nazarenko:

Portanto, os dados em iClose() não são afetados por RefreshRates(). Então, como posso fazer com que a funçãoiClose() produza informações atualizadas?

Qual é a barraiClose()?

 
Alexey Viktorov:

iClose() qual barra?

Zero. Prazo arbitrário.

 
Mikhail Nazarenko:

Zero. Um cronograma arbitrário.

Honestamente, estou surpreso... e isso é dizer de forma branda. Pensei que iClose() recebia valores do servidor do corretor, mas não... RefreshRates(); atualiza valores obtidos por iClose()

/********************Script program start function*******************/
void OnStart()
 {
  for(int i = 0; i < 10; i++)
   {
    Print(Bid, " *** ", iClose(_Symbol, PERIOD_CURRENT, 0));
    Sleep(1000);
    RefreshRates();// Без RefreshRates(); значения iClose(_Symbol, PERIOD_CURRENT, 0) не меняются…
                   // То, что без RefreshRates(); не меняются значения Bid, это понятно и нормально…
   }
 }/******************************************************************/

Aqui está o resultado da execução do roteiro

2021.02.15 11:39:35.559 00 EURUSD,M5: 1.21375 *** 1.21375
2021.02.15 11:39:34.559 00 EURUSD,M5: 1.21375 *** 1.21375
2021.02.15 11:39:33.559 00 EURUSD,M5: 1.21375 *** 1.21375
2021.02.15 11:39:32.559 00 EURUSD,M5: 1.21375 *** 1.21375
2021.02.15 11:39:31.559 00 EURUSD,M5: 1.2138 *** 1.2138
2021.02.15 11:39:30.559 00 EURUSD,M5: 1.21378 *** 1.21378
2021.02.15 11:39:29.559 00 EURUSD,M5: 1.21379 *** 1.21379
2021.02.15 11:39:28.559 00 EURUSD,M5: 1.21378 *** 1.21378
2021.02.15 11:39:27.559 00 EURUSD,M5: 1.21379 *** 1.21379
2021.02.15 11:39:26.559 00 EURUSD,M5: 1.21379 *** 1.21379

Bem, ok... Vou apenas ter em mente este recurso e inserir RefreshRates() se necessário;


ps; E iClose(_Symbol, PERIOD_CURRENT, 0) muda em MT5.

 
Alexey Viktorov:

Francamente falando, estou surpreso... e isso é dizer de forma branda. Eu pensava que iClose() recebia valores do servidor do corretor, mas não... RefreshRates(); atualiza valores recebidos por iClose()

Aqui está o resultado da execução do roteiro

Bem, OK... Pessoalmente, vou apenas ter em mente este recurso e inserir RefreshRates() quando necessário;

Se eu mudar o cronograma para outro diferente do atual, os dados deixarão de ser atualizados a tempo, mesmo com RefreshRates(). Assim, o iClose e outras funções fundamentais no MT4 produzem um absurdo irrelevante. Tenho certeza de que 80% das informações não levam em conta estas características únicas do MT4. Como viver?)))

 
Alexey Viktorov:

Francamente falando, estou surpreso... e isso é dizer de forma branda. Eu pensava que iClose() recebia valores do servidor do corretor, mas não... RefreshRates(); atualiza valores recebidos por iClose()

Aqui está o resultado da execução do roteiro

Bem, ok... Vou apenas ter em mente este recurso e inserir RefreshRates() se necessário;


ps; E iClose(_Symbol, PERIOD_CURRENT, 0) muda em MT5.

Sempre os valores iXXXXXX em quádruplo se revelaram corretos. Não se verifica o resultado da função. Quatro também o exigem (por mais estranho que possa parecer a alguns adeptos de absoluta simplicidade)
 
Qual é a solução? Mais muletas? Tipo, manter um histórico de carrapatos e recalcular todos os prazos em EAs por conta própria. Isto está além do bem e do mal)).
 
Mikhail Nazarenko:
Qual é a solução? Mais muletas? Tipo, manter um histórico de carrapatos e recalcular todos os prazos em EAs por conta própria. Isto está além do bem e do mal)))).
Não, não é. O que diz na função ajuda sobre o valor de retorno?