Erros, bugs, perguntas - página 384

 

Bug em MT5 construir 441:

Ao depurar uma EA, se nenhuma janela de ferramentas for aberta antes da depuração, então após fechar a EA, a posição das janelas Market Watch e Navigator muda - elas alinham-se da esquerda para a direita, independentemente da sua posição inicial. Além disso, neste caso, as barras de ferramentas alinham-se de cima para baixo, independentemente das suas posições iniciais:

MT5

O que não é conveniente. Depois tenho de voltar a trocar tudo manualmente.

Ah, e mais uma pergunta: pode-se usar citações do testador de estratégias no modo de depuração do Expert Advisor? Se for possível, como?

Obrigado!

 
IgnatyevName:

Bug em MT5 construir 441:

Aodepurar uma EA, se nenhuma janela de ferramentas for aberta antes da depuração, então após fechar a EA, a posição das janelas Market Watch e Navigator muda - elas alinham-se da esquerda para a direita, independentemente da sua posição inicial. Além disso, neste caso, as barras de ferramentas são alinhadas de cima para baixo, independentemente da sua posição inicial:

1. este é um bug em todas as construções de MT4/5 das iniciais.

2) O bug aparece frequentemente quando se vai rapidamente para o terminal por F4 durante a compilação.

3. o bug aparece com menos frequência quando se levanta o terminal da barra de tarefas.

A impressão é que de alguma forma o ficheiro(?) das definições do windows é bloqueado no momento do carregamento e o terminal coloca as definições de localização dos painéis por defeito.

Ficaria contente se os criadores também resolvessem este incómodo.

 

Boa tarde!

Pode dizer-me porque é que não há nenhum evento de rolagem de gráficos entre a lista de eventos OnChartEvent()?

A primeira coisa que me vem à mente como alternativa - verificar o número da primeira barra visível no OnTimer,

mas tendo em conta o período mínimo de actualização do temporizador de 1 segundo, esta opção parece ser demasiado lenta.

Existem outras alternativas mais adequadas e é possível acrescentar directamente um evento de rolagem?

Tanto quanto me apercebi, a plataforma de programação mql5 está a desenvolver-se de forma semelhante a outros ambientes de programação populares,

mas todos eles têm um evento de rolagem.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

Boa tarde!

Estou a tentar descobrir a quantidade degarantia necessária para abrir 1 lote para uma moeda.

Estou a utilizar a função:

SymbolInfoDouble(m_symbol.Name(),SYMBOL_MARGIN_INITIAL);

E quaisquer moedas que eu não tenha verificado, seja "EURUSD", "GBPUSD", etc... função retorna 0.

Como pode isto ser?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
bobsley:

Boa tarde!

Estou a tentar descobrir a quantidade degarantia necessária para abrir 1 lote para uma moeda.

Estou a utilizar a função:

E quaisquer moedas que eu não tenha verificado, seja "EURUSD", "GBPUSD", etc... A função retorna 0.

Como pode isto ser?

Tanto quanto sei, a alternativa a este código também devolve 0 em MQL4.

//MQL5
SymbolInfoDouble(m_symbol.Name(),SYMBOL_MARGIN_INITIAL);
//MQL4
MarketInfo(Symbol(),MODE_MARGININIT);

Pelo menos, não importa o quanto tentei obter um valor diferente.

O criador deve explicar-lhe isto e fornecer-lhe um exemplo de trabalho com SYMBOL_MARGIN_INITIAL.

 

Portanto, preciso então de um analógico MT4.

MarketInfo("EURUSD",MODE_MARGINREQUIRED);

Há algo no MT5 como isto, ou tenho de contar à mão?

 

As margens iniciais e de manutenção não são utilizadas em símbolos cambiais.

Use OrderCalcMargin para verificar a margem.

 
alexey_petrov:

As margens iniciais e de manutenção não são utilizadas em símbolos cambiais.

Use OrderCalcMargin para verificar a margem.

É isto!!! obrigado!
 
alexey_petrov:

As margens iniciais e de manutenção não são utilizadas em símbolos cambiais.

Use OrderCalcMargin para verificar a margem.

Tentou utilizá-lo. Apanhei um erro:

ERR_FUNCTION_NOT_ALLOWED

4014

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


O que é que estou a fazer mal?

double  margin;
bool   res = OrderCalcMargin( ORDER_TYPE_SELL, "EURUSD", 1.00, Bid, margin );
 
Dima_S:

Tentou utilizá-lo. Apanhei um erro:

ERR_FUNCTION_NOT_ALLOWED

4014

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


O que é que estou a fazer mal?

Está a chamar um indicador?