Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 217
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Mmm, talvez.
Você é o primeiro que ainda não o teve))
Mas isso não importa, pode aparecer em qualquer pessoa - então você tem que consertar isso, infelizmente.
Tenho muitos deles, depende da versão do MT4 (eu tenho um da Alpari).
Tenho muitos deles de versões diferentes, estou programando para eles :-) mas o software continua o mesmo, eles diferem apenas em pequenas marcas e pequenos chips em indicadores/conselheiros.
Os truques de PS/ cor podem ser causados por ajuste errado do DPI do monitor, presença de "utilitários de correção de temperatura de cor", "extensões de jogos de vídeo". E assim por diante.
PPS/ pela maneira como nenhum DC superou (mais provavelmente devido à ganância, dinheiro) os próprios indicadores/conselheiros/convistas/totalão de ferramentas. No máximo um painel de controle com cores corporativas. Que tipo de dicas em
Olá!
Você pode me dizer por que OBJPROP_XSIZE dá 0?
Olá!
Você pode me dizer por que OBJPROP_XSIZE dá 0?
OBJ_LABEL é um objeto muito específico - após a colocação e antes da primeira atualização do gráfico, a largura (X_SIZE) não é definida.
Depende da fonte, dpi da tela. Até que as funções de renderização estejam totalmente habilitadas, não é possível dizer nada sobre a largura real.
OBJ_LABEL é um objeto muito específico - após a colocação e antes da primeira atualização do gráfico, a largura (X_SIZE) é indefinida.
Depende da fonte, dpi da tela em geral. Até que a renderização funcione plenamente, não podemos dizer nada sobre a largura real.
Tente redesenhá-la e depois verifique
Tente um redesenho e depois verifique
Obrigado, eu vou tentar!
Não funcionou.OBJ_LABEL é um objeto muito específico - após a colocação e antes da primeira atualização do gráfico, a largura (X_SIZE) é indefinida.
Depende da fonte, dpi da tela em geral. Até que as funções de renderização funcionem completamente, eu não posso dizer nada sobre a largura real.
Obrigado, a idéia é clara, vou fazer experiências com algo.
Obrigado, entendi a idéia, vou fazer experiências com ela.
O ChartRedraw não redesenha diretamente, ele apenas coloca uma marca em algum lugar nas profundezas do terminal "a carta deve ser redesenhada o mais rápido possível".
Para descobrir que largura a marca do texto (deve) ter, você pode tentar TextSetFont, TextGetSize - a diferença significativa só pode aparecer no HiDPI. Ou talvez não :-) Eu não tentei
ou obter a largura do OBJ_LABEL real já no próximo tick/chart_event, ou seja, exatamente após a repintura
O ChartRedraw não redesenha diretamente, ele apenas coloca uma marca em algum lugar nas profundezas do terminal "a carta deve ser redesenhada o mais rápido possível".
Para descobrir qual a largura que uma marca de texto (deve) ter, você pode tentar TextSetFont, TextGetSize - a diferença significativa só pode aparecer no HiDPI. Ou talvez não :-) Eu não tentei
ou obter a largura do OBJ_LABEL real já no próximo tick/chart_event, ou seja, exatamente após o redesenho
Já está funcionando, obrigado! Adicionado OnDeinit(), coloque um atraso lá, e então OBJPROP_XSIZE.
P.S. Eu não consegui pensar em nada melhor a ver com o atraso no roteiro:
for(int i=100000000; i>0; i--) {}
Obrigado, tudo deu certo! Eu adicionei OnDeinit(), coloquei um atraso lá, e depois OBJPROP_XSIZE.
P.S. Eu não consegui pensar em nada melhor a ver com o atraso no roteiro:
// задержка 500 милисекунд, годная для тестера
ulong timestamp=GetTickCount64();
do {
Sleep(500/4); // в тестере не сработает, зато спасёт GetTickCount
} while(GetTickCount64()-timestamp<500);
// задержка 500 милисекунд, годная для тестера
ulong timestamp=GetTickCount64();
do {
Sleep(500/4); // в тестере не сработает, зато спасёт GetTickCount
} while(GetTickCount64()-timestamp<500);
Obrigado, funcionou!