Erros, bugs, perguntas - página 2171

 
Anton Ohmat:


ENUM_POSITION_TYPE pos_type = PositionGetInteger (POSITION_TYPE);

Jura implicitamente enumerar a conversa, o que fiz de errado? (compreendo a essência do erro, pode ser executado de alguma forma diferente?)

ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger (POSITION_TYPE);
 
Alain Verleyen:
Obrigado!!!
 

Porque é que o terminal mostra um preço diferente para o mesmo objecto colocado horizontalmente?


 
Pode dizer-me como obter a paragem mínima no SymbolInfoDouble - Não consigo encontrar o que pedir aqui na ajuda
 
Anton Ohmat:
Por favor aconselhe como obter o valor mínimo de paragem para SymbolInfoDouble - não o encontro na ajuda, o que deve ser pedido aqui exactamente

Deve procurar em SymbolInfoInteger. Quando obtiver zero e um erro, vá para o tópico "perguntas para principiantes" e haverá as seguintes dicas.

NÍVEL_DE_COMÉRCIO_SÍMBOLO

Passo mínimo para trás em relação ao preço actual próximo para colocar uma ordem de paragem

int

 
Aleksey Vyazmikin:

Porque é que o terminal mostra preços diferentes para o mesmo objecto posicionado horizontalmente?


A ponta da ferramenta mostra a posição actual do cursor do rato, não o nível do objecto gráfico.

A ponta da ferramenta não aparece quando o cursor está precisamente posicionado sobre algum objecto, mas quando a proximidade é inferior a 5 pixels

 
Slava:

A ponta da ferramenta mostra a posição actual do cursor do rato, não o nível do objecto gráfico.

A ponta da ferramenta aparece não no posicionamento preciso do cursor sobre algum objecto, mas na proximidade de menos de 5 pixels

Mas qual é a sua utilidade para o comerciante? É muito mais útil saber o preço a que o objecto está localizado...

 

Quero compreender se o comportamento é correcto

O ficheiro principal chama-se TEST.mq5 que tem um ficheiro definido, esta definição é utilizada no ficheiro plug "test_file_.mqh".

//+------------------------------------------------------------------+
#define   file   __FILE__ 
#include  "test_file_.mqh"
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

O ficheiro plug-in simplesmente devolve o que está contido na definição.

//+------------------------------------------------------------------+
//|                                                   test_file_.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

string func()
{
return file;
}

Estava à espera que o nome do ficheiro principal TEST.mq5 fosse devolvido, porque a macro é declarada logo no início do código no ficheiro principal.

Esperava o nome do ficheiro em que a definição é declarada.


Mas devolve o valor do ficheiro include test_file_.mqh e o valor test_file_.mqh.

É correcto?


Na ajuda está escrito "Nome do ficheiro compilado actual", o ficheiro principal também é actual.

 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

MetaTrader 5 construir plataforma beta 1700: Projectos em MetaEditor e ferramentas sintéticas

Aleksey Vyazmikin, 2018.03.22 01:35

Por favor, ajudem!

Estou a receber um erro:

2018.03.22 03:29:06.834 Símbolo Sintético Si-Test: não encontra o símbolo "Si"

A fórmula "Si-9.18"-"Si-6.18" - o que é que estou a fazer mal?

 
Vladimir Pastushak:

Quero compreender se o comportamento é correcto

O ficheiro principal chama-se TEST.mq5 que tem um ficheiro definido, esta definição é utilizada no ficheiro plug "test_file_.mqh".

O ficheiro plug-in simplesmente devolve o que está contido na definição.

Estava à espera que o nome do ficheiro principal TEST.mq5 fosse devolvido, porque a macro é declarada logo no início do código no ficheiro principal.

Esperava o nome do ficheiro em que a definição é declarada.


Mas devolve o valor do ficheiro include test_file_.mqh e o valor test_file_.mqh.

É correcto?


Na ajuda diz "Nome do ficheiro compilado actual", o ficheiro principal é também o ficheiro actual.

Este comportamento parece-me lógico, porque na definição substitui-se a variável por __FILE__ macro, que é substituída e calculada independentemente dentro do ficheiro include.

É assim que funciona:

//+------------------------------------------------------------------+
string main_file_name=__FILE__;
#define  file main_file_name
#include  <test_file_.mqh>
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+