Erros, bugs, perguntas - página 1787

 
fxsaber:
Seria até lógico adicionar o número do tick na fila actual.

Depois escrevo directamente para ServiceDesk#1666680

Por favor, considere mudar a forma como a função funciona

bool SymbolInfoTick( string symbol, MqlTick& tick );

para que nos Indicadores (incluindo o organismo OnCalculate) devolva os preços actuais de acordo com a sua descrição

ao mesmo tempo que complementa a língua com a função

bool SymbolInfoTick_OnCalculate( string& symbol, MqlTick& tick ); //(*)

que devolveria o símbolo e a marca que provocou a chamada OnCalculate à função OnCalculate

ou como alternativa (*): pode adicionar estes parâmetros à chamada OnCalculate.

OnCalculate( ..., const string& symbol, const MqlTick& tick );
 

Tenho uma pergunta: pode usar ferramentas mql5 para identificar todos os programas em execução nos gráficos e os seus nomes? Em particular, como posso obter os nomes de todos os indicadores no gráfico actual?

 
Alexey Kozitsyn:

Tenho uma pergunta: pode usar ferramentas mql5 para identificar todos os programas em execução nos gráficos e os seus nomes? Em particular, como posso obter os nomes de todos os indicadores no gráfico actual?

https://www.mql5.com/ru/docs/chart_operations/chartindicatorstotal

https://www.mql5.com/ru/docs/chart_operations/chartindicatorname

https://www.mql5.com/ru/docs/chart_operations/chartgetstring

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_string
Документация по MQL5: Операции с графиками / ChartIndicatorName
Документация по MQL5: Операции с графиками / ChartIndicatorName
  • www.mql5.com
Операции с графиками / ChartIndicatorName - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Por favor informe, se no MT4 Expert Advisor chamar em série um indicador personalizado que tenha mais do que um buffer gráfico, o recálculo é efectuado em cada chamada ou todos os buffers são calculados de uma só vez e pode aplicar ao indicador no código muitas vezes e não esperar que haja um desperdício de recursos. Outra questão interessante é o que acontecerá se o código não parar de ser executado (funciona mais tempo do que um tick) mas o valor do indicador mudar.

 
A100:

Depois escrevo directamente para ServiceDesk#1666680

Por favor, considere mudar a forma como a função funciona

bool SymbolInfoTick( string symbol, MqlTick& tick );

para que nos Indicadores (incluindo o organismo OnCalculate) devolva os preços actuais de acordo com a sua descrição

ao mesmo tempo que complementa a língua com a função

bool SymbolInfoTick_OnCalculate( string& symbol, MqlTick& tick ); //(*)

que devolveria o símbolo e a marca que provocou a chamada OnCalculate à função OnCalculate

ou como alternativa (*) : adicionar estes parâmetros à chamada para OnCalculate

OnCalculate( ..., const string& symbol, const MqlTick& tick );
Junto-me a esta insolência óbvia! ))
 
Alexey Kozitsyn:
Isto é muito pouco. Medir durante várias horas. Em vários instrumentos.
Oops
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486493406313 (2017.02.07 18:50:06), предыдущее = 1486493406315
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: Текущее время мс = 1486493406313 (2017.02.07 18:50:06), предыдущее = 1486493406315
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486495281212 (2017.02.07 19:21:21), предыдущее = 1486495281213
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: Текущее время мс = 1486495281212 (2017.02.07 19:21:21), предыдущее = 1486495281213
Problemas também no OnTick. De acordo com o registo durante várias horas , a OnCalculate tem problemas três vezes mais frequentemente do que a OnTick. O problema OnTick repete-se sempre na OnCalculate, mas não vice-versa.
 
fxsaber:
Oops
Problemas também no OnTick. De acordo com o registo de várias horas, a OnCalculate tem problemas três vezes mais frequentemente do que a OnTick. Ao mesmo tempo, o OnTick-problem repete-se sempre no OnCalculate também, mas não o inverso.
Acontece que SymbolInfoTick() é assíncrono...
 
-Aleks-:

Por favor informe, se no MT4 Expert Advisor chamar em série um indicador personalizado que tenha mais do que um buffer gráfico, o recálculo é efectuado em cada chamada ou todos os buffers são calculados de uma só vez e pode aplicar ao indicador no código muitas vezes e não esperar que haja um desperdício de recursos. Outra questão interessante é o que acontecerá se o código não parar de ser executado (funciona mais tempo do que um tick) mas o valor do indicador mudar.

Todos os amortecedores são calculados de uma só vez. Interrogar calmamente os valores indicadores - não haverá novo cálculo

Em MT4 o indicador, chamado do Expert Advisor, funciona no fluxo deste mesmo Expert Advisor e numa cópia dos seus dados históricos. Pode fazer um loop ao Expert Advisor, mas ao mesmo tempo receberá os dados indicadores calculados no momento da chamada OnTick. Até chamar a RefreshRates. RefreshRates actualiza os dados históricos do Consultor Especialista, após o que todos os seus dados serão recalculados na primeira chamada do indicador
 
Slawa:
Todos os amortecedores são calculados de uma só vez. Chamar silenciosamente os valores do indicador - não haverá recálculo

Em MT4 o indicador chamado do Expert Advisor funciona no fluxo deste mesmo Expert Advisor e numa cópia dos seus dados históricos. Pode fazer um loop ao Expert Advisor, mas ao mesmo tempo receberá os dados indicadores calculados no momento da chamada OnTick. Até chamar a RefreshRates. RefreshRates actualiza os dados do histórico do Expert Advisor, após o que todos os seus dados serão recalculados na primeira chamada do indicador

Obrigado pela resposta!

Anteriormente também estava interessado no indicador ZigZag a piscar em MT5 (não há tal efeito em MT4) - muito irritante - de que se trata?

Razão: