Erros, bugs, perguntas - página 1832

 
Vladislav Andruschenko:


em mt5?

Sim, mais ou menos,

Não utilizo o exterior no mt5 durante muito tempo.


Ok. Então como posso alterar os valores nos parâmetros de entrada do painel de negociação sem os abrir? Afinal de contas, se forem exibidos, significa que não podem ser alterados.
 
Alexander Fedosov:

Ok. Então como posso alterar os valores nos parâmetros de entrada do painel de negociação sem os abrir? Afinal de contas, se forem exibidos, significa que não podem ser alterados.

nenhuma ideia para ser honesto,


mas os externs não são mostrados nos parâmetros de entrada - é assim há muito tempo? poderia dizer-se desde o início do terminal mt5

 
Vladislav Andruschenko:

nenhuma ideia para ser honesto,


mas os externs não são mostrados nos parâmetros de entrada - tem sido este o caso desde o início do mt5?


Bem, então está na hora, provavelmente no SD, porque tenho uma versão compilada antes de 1550 e lá através das variáveis de mudança de painel como externas e são mostradas nos parâmetros de entrada.
 
Alexander Fedosov:

Bem, deve ser tempo, aparentemente no SD, porque tenho uma versão compilada antes de 1550 e lá através das variáveis de mudança de painel como externas e são exibidas nos parâmetros de entrada.

Talvez tenham sido introduzidos mais tarde e depois novamente removidos? desde 2012 compreendi que os externs foram substituídos por input e na realidade mudaram tudo para input
 

Olá tenho 2 terminais mt5 Alpari e o corretor mt5 Otkritie. \

Tenho 12 ferramentas em Otkritie + indicadores instalados. Carga de CPU 5-10%.

Existem 3 janelas abertas em Alpari com os mesmos indicadores e carga de CPU 25-30%.

Ambas têm 5000 barras em cenários históricos
mesmo com todos os gráficos fechados e a janela de símbolos de mercado fechada, a Alpari tem 14% de carga

Eu gostaria de abrir mais símbolos, mas esta falha com carga não me permite fazê-lo.

A carga da CPU é de 8-9% quando a janela é minimizada

Acho que é uma falha com a renderização dos gráficos? Mas então porque é que o Discover Broker não tem tais problemas?


 
Alexander Fedosov:

Bem, então é tempo, aparentemente em SD, porque tenho uma compilação na versão anterior a 1550 e lá através das variáveis de mudança de painel de tipo externo e mostradas nos parâmetros de entrada.


isto foi originalmente escrito para este tipo de dados, a razão pela qual os tinha a funcionar como parâmetros de entrada não é clara.

Variáveis externas

A palavra-chave externa é utilizada para declarar identificadores variáveis como identificadores de uma classe de memória estática com vida útil global. Tais variáveis existem no início da execução do programa e são atribuídas e inicializadas logo após o início do programa.

É possível criar programas que consistem em vários ficheiros-fonte - para este fim é utilizada a directiva #include preprocessor. As variáveis declaradas como externas com o mesmo tipo e identificador podem existir em diferentes ficheiros de origem do mesmo projecto.

Quando todo o projecto é compilado, todas as variáveis externas com o mesmo tipo e identificador são associadas com a mesma área de memória de variáveis globais. As variáveis externas são úteis para a compilação separada de ficheiros-fonte. As variáveis externas podem ser inicializadas, mas apenas uma vez - é inaceitável a existência de várias variáveis externas inicializadas do mesmo tipo e com o mesmo identificador.

 
O que é isso?
2017.03.14 09:51:34.866 Trades  use Hosting Service to speed up the execution - 0.31 ms via 'MQL5 Amsterdam 2 (MQL5 Ltd.)' instead of 72.36 ms
 
fxsaber:
O que é isto?
Publicidade:)
 

Nunca tinha reparado em 1554 estados de pedido

Curiosamente, mesmo antes do Estado requerido, os dados da margem estão totalmente disponíveis.

 

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

Características da linguagem mql5, subtilezas e truques

fxsaber, 2017.03.14 08:38

  • Em MT4/5 não é possível que ordens pendentes alterem a magia, os comentários e o volume.
Servidor de negociação FXOpen-MT5, lançar o guião
void OnStart()
{
  MqlTradeRequest Request = {0};
  
  Request.action = TRADE_ACTION_PENDING;
  Request.symbol = _Symbol;
  Request.volume = 1;
  Request.price = SymbolInfoDouble(Request.symbol, SYMBOL_ASK) - 100 * _Point;
  Request.type = ORDER_TYPE_BUY_LIMIT;
  Request.type_filling = ORDER_FILLING_IOC;
  Request.comment = "FirstComment";
  
  MqlTradeResult Result;
  
  if (OrderSend(Request, Result))
  {        
    Request.action = TRADE_ACTION_MODIFY;
    Request.order = Result.order;
    Request.type_time = ORDER_TIME_SPECIFIED;
    Request.expiration = TimeCurrent() + 1000;
    Request.comment = "NewComment";    

    OrderSend(Request, Result);  
  }
}

Coloca uma ordem pendente e modifica-a através da definição de um novo campo Request.comment.

Registo de execução do guião

2017.03.14 11:33:47.642 Trades  '10127': buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.775 Trades  '10127': accepted buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.777 Trades  '10127': buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:33:47.797 Trades  '10127': order #61938 buy limit 1.00 / 1.00 EURUSD at 1.06314 done in 154.608 ms (FirstComment)
2017.03.14 11:33:47.797 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': accepted modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000 placed for execution
2017.03.14 11:33:47.950 Trades  '10127': modify #61938 buy limit 1.00 EURUSD -> price: 1.06314, sl: 0.00000, tp: 0.00000) done in 154.566 ms (NewComment)

Exposições terminais

Agora eliminar manualmente a ordem pendente e obter os lançamentos de diário apropriados

2017.03.14 11:35:01.198 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.330 Trades  '10127': accepted cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.333 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:35:01.465 Trades  '10127': cancel #61938 buy limit 1.00 EURUSD at 1.06314 done in 268.415 ms (NewComment)

Exposições terminais




Ou seja, o comentário da ordem pendente mudou de facto. Mas o terminal só podia mostrar isto nos registos e na história - BAG!

Razão: