Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1038

 
Evgeny Dyuka:
É possível desactivar os registos do testador de estratégias no MT5? Não tenho nenhuma impressão de reserva, mas tenho 20Gb durante a noite, o VPS está encravado. Tenho estratégia em 7 pares e até 10 negócios por dia para cada...

Apenas um pensamento.
Se eu quiser monitorizar o directório de registos e apagar coisas desnecessárias do mesmo. Ou tentar proibir o terminal de escrever neste directório.
Francamente falando, ainda não experimentei, mas uma das opções deve ajudar. É claro que a proibição de escrita pode falhar por causa da probabilidade de erro terminal. Mas a limpeza do directório lateral é uma variante bastante inofensiva.

 
Konstantin Nikitin:

Uma limpeza do directório lateral, por outro lado, é uma opção inofensiva.

O mesmo não funcionará, MT "ocupa" o ficheiro e este não será apagado até que feche MT. Se, como toda a gente, os registos foram divididos em ficheiros por volume, então sim, mas MT escreve estupidamente num só até o teste terminar.

 
psyman:

Como posso mudar a cor de uma linha de encomenda ou de uma posição aberta?

Neste momento estão todos verdes, o que causa confusão, e não consigo encontrá-los pela força bruta

Apenas os objectos criados pelo utilizador estão disponíveis.

Devemos tentar todas as encomendas e posições, e para cada tipo, desenhar uma linha horizontal com a cor e estilo necessários.

 
Vitaly Muzichenko:

Tem de percorrer todas as encomendas e posições, e desenhar uma linha horizontal da cor e estilo desejados para cada tipo de preço.

É uma merda que duas linhas saiam em vez de uma.

Por vezes arrasto as encomendas com um rato, mas esta muleta não é uma boa solução :-)

 
psyman:

É uma porcaria receber duas linhas em vez de uma.

Por vezes arrasto e largo encomendas com o meu rato, não é muito de muleta :-)

Tudo vai arrastar e funcionar

 

Pergunta sobre a reacção OnChartEvent()
Rodando a roda do rato para longe de mim, fico: event = 9 lparam = 0 dparam = 0.0 sparam = 0.0 sparam = 0.0 sparam = 0.0 sparam
Girando-o na minha direcção, não recebo nada.

Por favor, dêem os vossos comentários.

 
User_mt5:

Pergunta sobre a reacção OnChartEvent()
Rodando a roda do rato para longe de mim, fico: event = 9 lparam = 0 dparam = 0.0 sparam = 0.0 sparam = 0.0 sparam = 0.0 sparam
Girando-o na minha direcção, não recebo nada.

Por favor, dêem os vossos comentários.

Porque o ID = 9 independentemente da direcção da roda.

 
User_mt5:

Por favor, dêem os vossos comentários.

onde está o seu código que não funciona?

aqui está o código que verifiquei na ajuda - funciona:https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents#chartevent_mouse_wheel

Já permitiu que as mensagens da roda de rolagem fossem aceites no seu código?

init OnInit() 
  { 
//--- включение сообщений о прокрутке колесика мышки 
   ChartSetInteger(0,CHART_EVENT_MOUSE_WHEEL,1); 
//--- принудительное обновление свойств графика гарантирует готовность к обработке событий 
   ChartRedraw(); 
//--- 
   return(INIT_SUCCEEDED); 
  } 
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom...
 
Alexey Viktorov:

Porque ID = 9, independentemente da direcção em que a roda é rodada.

Penso que o MT está longe de ser perfeito, mas não tão longe assim.

Obrigado.

 
Igor Makanu:

onde está o seu código que não funciona?

aqui está o código que verifiquei na ajuda - funciona:https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents#chartevent_mouse_wheel

Já permitiu que as mensagens da roda de rolagem fossem aceites no seu código?

Sim, eu deveria ter apresentado o código. Mas é simples: na função OnChartEvent() a primeira linha é impressa:
void OnChartEvent(const int     event, 
                  const long&   lparam,
                  const double& dparam,
                  const string& sparam 
                  )
   {
   Print(" event = ", event, "    lparam = ", lparam, "    dparam = ", dparam , "    sparam = ", sparam  ); 

Provavelmente não é suficiente...

Forneceu linhas de programa, cujo conteúdo irei analisar em pormenor e experimentar. Talvez isso resolva o problema.

Muito obrigado!

Razão: