Perguntas sobre a MQL4.

 
Slawa 08.11.05 17:51 <br / translate="no">.
É aceitável usar a funçãoMessageBox() nos indicadores de acordo com as regras do MQ4?
não. E GetLastError devolverá o erro correspondente
É aceitável usar a função MessageBox() no deinit()?

Há uma necessidade de informar o usuário quando ele fecha a EA. E acionar eventos dependendo de suas respostas. Como fazer isso?
 
deinit funciona por 2,5 segundos - o usuário deve responder tão rapidamente? =)
Você pode escrever o que precisa ser feito em um arquivo e, em seguida, escrever um roteiro para lê-lo, exibir MessageBox e, dependendo da resposta, fazer algo a respeito.
Não está muito claro o que você precisa fazer. E por quê?
 
komposter,
você tem que...
Bem, em 2 palavras.
Primeiro, deinit() não funciona por 2,5 segundos, ele funciona indefinidamente. Pelo menos no meu roteiro.
Em segundo lugar, toda esta cozinha só é necessária para lidar com as coordenadas de objetos entre carrapatos. Por esta razão, não faz sentido colocar o código de processamento em Start, porque ele começa a fazer tic-tac, ou seja, ele funcionará apenas uma vez e ficará ocioso pelo resto do tempo.

Depois disso, os problemas começam e a programação se torna uma atividade criativa, porque (bem, não sei por que) Slip não funciona em indicadores, MB é proibido, etc. etc. Parece ser apenas uma questão de tempo antes de começarmos a trabalhar nisso. No entanto, em alguns casos, meus loops consistem apenas em chamadas da GlobalBar e meu código não deve ser iniciado até que algumas condições sejam cumpridas. Sem um deslize, estes laços congelariam o Traida.

E como quero fazer tudo bem, tenho que gastar dinheiro em soluções ornamentadas.
Aparentemente, você não ficará muito bem, mas como na Microsoft - "suficientemente bom" (é o slogan deles).
E depois há imagens na web com a imagem da Microsoft de um teclado com 3 teclas: Ctrl, Alt e Del.

É melhor sermos guiados pelo Linux...:)
 
Então faça um loop infinito no início - que diferença faz "onde" se você não se importa com os carrapatos?
 
Eu tenho este ciclo no indicador e em nenhum outro lugar pode ser usado.
Isto se deve ao fato de que no roteiro as funções comerciais são permitidas, há também seus próprios circuitos, e não há lugar neles para tarefas secundárias (mas também necessárias). Mas o roteiro é permitido apenas um. Portanto, temos que dividir a solução em:
1 especialista, 1 roteiro e (até agora) 2 indicadores.
E esses indicadores também têm seus próprios ciclos de processamento de gráficos entre carrapatos.
Além disso, eu não posso descarregar desde o início. Se eu tiver apenas inyte e deinit em índices, então é suficiente sair do loop, e eles descarregarão da janela - eles reagem em algum evento, por exemplo, descarregando a EA.
É uma pena, eles não podem ser carregados.

Mas não importa. Fá-lo-ei de qualquer forma:) Terei apenas que criar alguns problemas.
 
SKif:
Isto se deve ao fato de que as funções comerciais são permitidas no roteiro, ele também tem seus próprios laços, e não há lugar para tarefas secundárias (mas também necessárias).
Por que não? Se já funciona no modo "infinito", insira algumas linhas no loop já criado, e se seu script for "único", faça outro que capture movimentos de objetos.
Ou você tem uma questão principal de quantidade?)))
 
Por que não um lugar? Porque há muita informação a ser processada. Enquanto os ciclos estão quase vazios, entre carrapatos consigo folheá-los na maioria das vezes de 10 a 200 vezes, mas em intervalos curtos - 2 a 3 vezes cada um. E as informações serão acrescentadas - tenho medo de ir além do intervalo entre as barras.
 
Por que depender deles entre carrapatos? Por que depender deles?
É um pouco complicado, não vou entrar nisso.... Você vai descobrir ;)
 
О! (186)). (186)
 
Por que entre carrapatos
?!) Você me dirá por que mais tarde. Eu tenho dificuldade, mas isso é um absurdo. O principal é o resultado:)
Como está indo para você?
 
Como vai isso para você?
Especialista aqui, especialista ali... indo um pouco ;)