Erros, bugs, perguntas - página 1258

 

A propósito, quem sabe como fazer isso quando se clica no botão, seria apertado se o LKM fosse premido e libertado se o LKM fosse libertado?

e o que é que premia o botão para clicar e soltar e o que é que solta o botão para clicar e soltar, disparate)

ZS: claro que pode mudar uma propriedade logo após libertar o LKM, mas é assim que se faz? )

 
sanyooooook:

A propósito, quem sabe como fazer isso quando se clica no botão, seria apertado se o LKM fosse premido e libertado se o LKM fosse libertado?

e o que é que premia o botão para clicar e soltar e o que é que solta o botão para clicar e soltar, disparate)

ZS: claro que pode mudar uma propriedade logo após libertar o LKM, mas é assim que se faz? )

Sim. Terá de controlar o estado dos objectos por si próprio se quiser fazê-lo à sua maneira. )
 
tol64:
Sim. Terá de controlar o estado do objecto você mesmo, se quiser fazê-lo à sua maneira. )

tudo estaria bem, mas o botão não é premido quando o LKM é premido, e premido apenas quando o LKM é libertado, disparate )

ZS: quer carregar no botão? solte-o )

Mas se fizer o contrário, dado queOnChartEvent não funciona no testador, então, em geral, nenhuma maneira no testador com as cópias das cópias pode não funcionar.

 
sanyooooook:

tudo estaria bem, mas o botão não é premido quando o LKM é premido, e premido apenas quando o LKM é libertado, disparate )

ZS: quer carregar no botão? solte-o )

Mas se fizer o contrário, dado queOnChartEvent não funciona no testador, então, em geral, de modo algum no testador com lops.

Até agora, o provador tem muitas coisas que não funcionam. Permanece para escrever em servicedesk e depois seguir as actualizações. )

E, fora do testador, tem de escrever os seus próprios manipuladores para que os controlos funcionem da forma que deseja.

 
sanyooooook:

tudo estaria bem, mas o botão não é premido quando o LKM é premido, e premido apenas quando o LKM é libertado, disparate )

ZS: quer carregar no botão? solte-o )

Mas se fizer o contrário, dado que OnChartEvent não funciona no testador, então de modo algum no testador com cópias de não funcionar.

OnChartEvent() trata de eventos típicos e de utilizadores. No que diz respeito a eventos personalizados, este manipulador no Testador funciona!!! Ver o meu artigo Prescrições na MQL5 - Manuseamento de eventos de cartas personalizadasExiste aí um robô CustomEventProcessor. Comercializa no Testador.

O problema do testador - são os gráficos... Escrevi anteriormente ao Service Desk sobre gráficos, até agora só promessas...



Рецепты MQL5 - обработка пользовательских событий графика
Рецепты MQL5 - обработка пользовательских событий графика
  • 2014.10.10
  • Dennis Kirichenko
  • www.mql5.com
В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.
 
denkir:

OnChartEvent() trata de eventos gráficos típicos e eventos personalizados. No que diz respeito a eventos personalizados, este manipulador no Testador funciona!!! Ver o meu artigo Prescrições na MQL5 - Manuseamento de eventos de cartas personalizadasExiste aí um robô CustomEventProcessor. Comercializa no Testador.

O problema com o testador são os gráficos... Já escrevi anteriormente ao Service Desk sobre gráficos, só promessas até agora...



Ok, obrigado, vou dar uma vista de olhos, até agora fi-lo verificando a propriedade do botão.
 

A situação é a seguinte: Eu crio um objecto OBJ_TEXT no gráfico. Depois apago manualmente este OBJ_TEXT do gráfico. Depois tento encontrar o objecto eliminado no gráfico e obtenho um erro (isto é lógico: o objecto foi eliminado, por isso não pode ser encontrado). Depois tento mover o ponto de ancoragem do objecto OBJ_TEXT eliminado com ObjectMove, mas não recebo nenhum erro.

Pergunta: deve ObjectMove dar um erro ao tentar mover o ponto de ancoragem de um OBJ_TEXT eliminado?

Arquivos anexados:
 

Avisar quem sabe: ao tentar exibir um indicador no visualizador (testador), aparece um erro 4014, embora tal erro não ocorra ao executar o mesmo código na janela do terminal.

O código é o seguinte:

            Indic_Handle[Indic_Total-1]=iMA(NULL,0,MA_Period,MA_Shift,MODE_LWMA,PRICE_CLOSE);

            if(Indic_Handle[Indic_Total-1]==INVALID_HANDLE)

              {Error_Message;return(false);}


            if(F_If_Indic_Exist(Indic_Handle[Indic_Total-1])==false) // Проверяем есть ли уже индикатор с таким хендлом. Если нет - добавлем новый индикатор

               if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false) 

                 {Error_Message;return(false);}


O comando "Error_Message" é definido por uma macro:

#define Error_Message_Exp Alert(__FILE__+": "+__FUNCTION__+": Error at line "+(string)__LINE__+". Last Error code: "+(string)GetLastError())


Quando executado no terminal: O código funciona como deveria, sem erros. O indicador é traçado no gráfico, à variável"Indic_Handle[Indic_Total-1]" é atribuído um valor de manípulo.

Mas quando executado no testador e/ou no visualizador. É impresso um erro no registo:

2014.12.15 21:16:10 Core 1 2014.01.01 00:00:00   Alert: GA_Incl.mqh: F_Offspr_Init: Error at line 149. Last Error code: 4014

(linha "149" - é a linha"{Error_Message;return(false);}" sob a linha "148":"if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false)".

O erro ocorre obviamente quando se executa a função "ChartIndicatorAdd" que é executada de forma diferente no ambiente de teste e no ambiente terminal.

A descodificação do código de erro não o torna claro:

ERR_FUNCTION_NOT_ALLOWED

4014

A função do sistema não pode ser chamada

No fórum, encontrei uma menção deste erro ocorrendo na mesma situação por outro utilizador, mas a sua pergunta continua sem resposta. (https://www.mql5.com/ru/forum/1111/page763#comment_208678)

Descobri que se eu continuar a executar o programa no testador apesar do erro, o indicador requerido será aplicado ao gráfico. Mas o cabo indicador não corresponde ao valor da variávelIndic_Handle[Indic_Total-1]. (Mas o próprio indicador é criado após alguns ticks, depois de chamar o comando ChartIndicatorAdd.

Por favor, ajude-me

Obrigado.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
a notificação de methaqvot idi não chegou, estou à espera da segunda hora. Há três horas estava a funcionar...
 
valeryk:

Certo, não se imprime. Mas funciona. Tente acompanhar o evento com gráficos.

Não está a funcionar para mim. Clicar sobre um objecto no testador não desencadeia um evento. Sobre a demonstração/real - funciona. O que é que está errado? (MT4)