Erros, bugs, perguntas - página 255

 
Tente usar "Perfis" - dão uma funcionalidade semelhante às tabelas/folhas
 
Renat:
Tente usar "Perfis" - dão uma funcionalidade semelhante às tabelas/folhas

Obrigado. A única coisa é que, é uma pena não se poder colocar um botão de gestão de perfil no painel, seria muito fixe.
 

Após a compilação:

erro de optimização da árvore 1 1

A eliminação até de um bloco de código maior do que aquele em que as alterações foram feitas não resolveu a situação.

E a que altura pode esta árvore de optimização "crescer"?

Como evitá-lo?

 

Surgiram três questões:

1) Qual é a optimização sobre a qual a pessoa acima escreve, e afecta a velocidade de cálculo e a velocidade do programa (criação e inicialização do objecto)? Em Basics 6m, por exemplo, foi possível activar a opção de compilação de "código rápido". É possível em MKL5?

2) A respeitada Renat disse que os cálculos são rápidos agora e que não é necessário dll. Alguém comparou a velocidade com a dll C++ - qual é a diferença? A questão não é ociosa, porque o primeiro bloco do meu TS é calculado para várias horas, e eu queria ter tempo para calcular em tempo real entre as aparências de 2 candelabros. Vale a pena transferir os cálculos para um dll?

3) Como é que se pode acelerar o programa?

Ficaria grato a todos os que responderam. Feliz Natal e um Feliz Ano Novo!

 
// входные параметры индикатора
input bool            inp_FLine        = true;
input int             inp_FLine_width  = 1;
input ENUM_LINE_STYLE inp_FLine_style  = STYLE_SOLID;
input color           inp_FLine_col    = DeepPink;  

// клоны входных параметров
bool              FLine;
int               FLine_width; 
ENUM_LINE_STYLE   FLine_style;
color             FLine_col;

int OnInit()
{
// инициализация клонов входными параметрами
PLine           = inp_PLine;
FLine_width     = inp_FLine_width;
PLine_style     = inp_PLine_style;
PLine_col       = inp_PLine_col; 
}

int OnCalculate()
{

if(PLine)
{
FLine_width     = Func(FLine_width);
PLine_style     = Func(PLine_style);
PLine_col       = Func(PLine_col); 
}

// применение новых значений
SetParam(FLine_width,PLine_style,PLine_col);
}


// Такой код с большим кол-вом параметров может привести к
// 
// tree optimization error  ?


Tal código com tantos parâmetros pode causar

erro de optimização da árvore ?

Utilizei esta forma para gerir as propriedades dos objectos gráficos devido à impossibilidade de alterar os valores dos parâmetros de entrada do indicador.


P.S.

Comentei quase todos os códigos em partes. Só quando me restavam algumas linhas é que a compilação foi bem sucedida.

Depois retirei TODOS os comentários e tudo continuou a funcionar.

Então o que foi isso?

 
zloymudvin:
Obrigado. A única coisa é que é uma pena que não se possa colocar um botão de gestão de perfil no painel, isso seria óptimo.

Veja o comando para mudar os perfis na barra de estado:


 

Vi tais erros muito frequentemente no mt5 há um ano e meio atrás, não disse nada pois é impossível não os notar. Parece ter sido corrigido.

A propósito, tenho visto tais erros no mt4 com muita frequência.

Agora vejo novamente o mesmo erro. Mais uma vez a história está a ser descarregada com erros. Penso que é impossível adicionar o botão de apagar o histórico do símbolo em caso de erro, pois é a principal razão de todos os inconvenientes.

Um erro muito frequente merece um botão separado.


 
vicondi:

Após a compilação:

erro de optimização da árvore 1 1

A eliminação até de um bloco de código maior do que aquele em que houve alterações não resolveu a situação.

E a que altura pode esta árvore de optimização "crescer"?

Como evitá-lo?


Criar um pedido ao balcão de serviço e trazer o código fonte, relatar a construção do terminal e a taxa de bits.

Muito provavelmente, o erro está do nosso lado, mas precisamos do código fonte para o reproduzir e corrigir.

 

Boa tarde! Uma pequena ajuda aqui para um novato.

// eliminação das prateleiras


anular anularAllOrder()
{
for(int i = 0; i < OrderTotal();i++)
{
order_ticket = OrderGetTicket(i);
HistorySelect(0,TimeCurrent());

Resultado MqlTradeResult;
Pedido MqlTradeRequest;

request.order = encomenda_ticket;
request.action = TRADE_ACTION_REMOVE;
OrderSend(pedido,resultado);

Como corrigir o código que remove não todas as ordens pendentes, mas apenas as ordens pendentes para um símbolo seleccionado. Não o consigo obter neste momento(

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

Boa tarde! Uma pequena ajuda aqui para um novato.

// eliminar ordens pendentes


void deleteAllOrder()
{
  for(int i = 0; i < OrdersTotal();i++)
   {
      order_ticket = OrderGetTicket(i);
      HistorySelect(0,TimeCurrent());             //зачем?
      
      MqlTradeResult result;
      MqlTradeRequest request;
      
      request.order = order_ticket;
      request.action = TRADE_ACTION_REMOVE;
      OrderSend(request,result);

Como posso ajustar o código para eliminar todas as ordens pendentes, mas apenas as ordens para um símbolo seleccionado. Não o consigo encontrar neste momento.

Veja a descrição da função OrderGetString() e o seu parâmetro ENUM_ORDER_PROPERTY_STRING
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5