É possível distinguir um objecto gráfico criado manualmente de um objecto criado por um indicador ou EA?
Na função
OBJPROP_HIDDEN
Excepto o nome de um objecto gráfico do menu terminal "Gráficos" - "Objectos" - "Lista de Objectos". O valor verdadeiro permite esconder um objecto desnecessário da lista. Por defeito, true é definido para objectos que exibem eventos de calendário, histórico comercial, bem comoaqueles criados a partir do programa MQL5. Para ver tais objectosgráficos e aceder às suas propriedades, clique em "Todos" na janela "Lista de Objectos".
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д. Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
Era necessário descobrir dentro de uma mqh se alguma coisa era chamada antes de outra mqh. O mqh não está consciente da presença um do outro. Um deles pode estar dentro e um deles não.
Em suma, o problema é invulgar (para mim). Resolveu-o de uma forma bastante mutilada.
void f1()
{
SetUserError(0);
}
void f2()
{
if(_LastError == ERR_USER_ERROR_FIRST)Print("f1() была вызвана.");
elsePrint("f1() не была вызвана");
}
voidOnStart()
{
f1();
f2();
}
Era necessário descobrir dentro de uma mqh se alguma coisa era chamada antes de outra mqh. O mqh não está consciente da presença um do outro. Um deles pode estar dentro e um deles não.
Em suma, o problema é invulgar (para mim). Resolveu-o de uma forma bastante mutilada.
Penso que é uma prática muito má, mas funciona.
A utilização de _LastError tem um problema insolúvel, ao ligar bibliotecas de terceiros, há uma probabilidade não nula de colisão de códigos de erro do utilizador. Como alternativa para manter o seu próprio últimoError. Ou uma variável global, envolta em guarda em todos os mqh, ou uma única variável.
PS. A função Sleep( ) em MQL5 não é um redireccionamento para ganhar a função api ::Sleep(). Para ser mais exacto, se o valor for inferior a 100, trata-se de um redireccionamento. Mas acima de 100 é um laço com um escorregamento de api de ganho dentro dele para que possa ser interrompido por IsStopped.
Há mais um ponto subtil. Se milissegundos <=0, prependemos 1. Ou seja, nunca chamamos ::Sleep(0).
Já foi esquecido. Verdadeiro apenas para MT5. Em MT4 Sleep(0) pode suspender o terminal.
A variante typedef perde por um factor de três. Recusei-me a utilizá-lo onde é crucial. Por exemplo, para o TC o mesmo OrderTotal é chamado pelo menos uma vez a cada tick de passe de optimizador.
No modo de depuração, a situação inverte-se. Portanto, faz sentido utilizar o typedef em MT4 para a aceleração.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
É possível distinguir um objecto gráfico criado manualmente de um objecto criado por um indicador ou EA?
Na função
OBJPROP_HIDDEN
Excepto o nome de um objecto gráfico do menu terminal "Gráficos" - "Objectos" - "Lista de Objectos". O valor verdadeiro permite esconder um objecto desnecessário da lista. Por defeito, true é definido para objectos que exibem eventos de calendário, histórico comercial, bem comoaqueles criados a partir do programa MQL5. Para ver tais objectosgráficos e aceder às suas propriedades, clique em "Todos" na janela "Lista de Objectos".
bool
Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais
Bibliotecas: Perito
fxsaber, 2020.10.09 04:55
Destaquei um lugar importante no código. Sem ela não haverá aplicação do padrão até ao fim do guião.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
MT5 e Velocidade em Acção
Anton, 2020.10.08 11:00
Significado diferente e mecanismo de execução diferente. 0 - evento em fila de espera do "próprio" gráfico. -1 - evento na sua própria fila.
No final da semana, a minha cabeça já não é boa.
Tenho um bilhete de uma posição aberta numa sebe no mt5, por exemplo 123456
Quero calcular um lucro após o encerramento da posição, e não o posso fazer.
Faço-o, mas só recebo comissão...
Como posso obter o lucro de uma posição fechada com um bilhete?
Tente seleccionar melhor os negócios usando HistorySelectByPosition().
Era necessário descobrir dentro de uma mqh se alguma coisa era chamada antes de outra mqh. O mqh não está consciente da presença um do outro. Um deles pode estar dentro e um deles não.
Em suma, o problema é invulgar (para mim). Resolveu-o de uma forma bastante mutilada.
Penso que é uma prática muito má, mas funciona.
Era necessário descobrir dentro de uma mqh se alguma coisa era chamada antes de outra mqh. O mqh não está consciente da presença um do outro. Um deles pode estar dentro e um deles não.
Em suma, o problema é invulgar (para mim). Resolveu-o de uma forma bastante mutilada.
Penso que é uma prática muito má, mas funciona.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
MT5 e Velocidade em Acção
fxsaber, 2020.10.20 12:28
Total intermédio para uma máquina de descarga rápida.
A relevância dos dados sobre preços é muito ambígua para aqueles que negoceiam utilizando barras e indicadores.
As carraças e os tumblers são difíceis de ser em tempo real.
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Peculiaridades de mql5, dicas e truques
Slava, 2018.09.20 15:40
PS. A função Sleep( ) em MQL5 não é um redireccionamento para ganhar a função api ::Sleep(). Para ser mais exacto, se o valor for inferior a 100, trata-se de um redireccionamento. Mas acima de 100 é um laço com um escorregamento de api de ganho dentro dele para que possa ser interrompido por IsStopped.
Há mais um ponto subtil. Se milissegundos <=0, prependemos 1. Ou seja, nunca chamamos ::Sleep(0).
Já foi esquecido. Verdadeiro apenas para MT5. Em MT4 Sleep(0) pode suspender o terminal.
Mas decidi comparar primeiro o desempenho, usando um exemplo simples.
O resultado.
A variante typedef perde por um factor de três. Recusei-me a utilizá-lo onde é crucial. Por exemplo, para o TC o mesmo OrderTotal é chamado pelo menos uma vez a cada tick de passe de optimizador.
No modo de depuração, a situação inverte-se. Portanto, faz sentido utilizar o typedef em MT4 para a aceleração.