Discussão do artigo "Uso dos Recursos no MQL5"

 

Novo artigo Uso dos Recursos no MQL5 foi publicado:

Os programas MQL5 não apenas automatizam os cálculos de rotina, mas também podem criar um ambiente gráfico com muitos recursos. As funções para criar controles realmente interativos são agora virtualmente de mesmo valor que aqueles nas linguagens clássicas de programação. Se você quiser escrever um programa independente completo no MQL5, use recursos nele. Programas com recursos são mais fáceis de manter e distribuir.

Autor: MetaQuotes Software Corp.

 

Agora é ainda mais fácil incluir recursos em seus programas MQL5, pois um comando padrão especial "Inserir recurso" foi adicionado ao MetaEditor 5 para essa finalidade:



Вставка ресурсов

Para facilitar o uso de arquivos de recursos em aplicativos desenvolvidos, o comando "Inserir recursos Insert Resources" é fornecido no menu "Service ". Esse comando permite que você insira a declaração de arquivos de recursos selecionados de uma pasta especificada no arquivo atual usando a diretiva #resource.

Após a execução desse comando, é exibida uma caixa de diálogo padrão do sistema operacional, na qual você deve selecionar um ou mais arquivos de recursos a serem declarados no arquivo.

  • Os arquivos de recursos podem ser localizados somente dentro do diretório /MQL5 do terminal do cliente. Os arquivos fora dessa pasta não podem ser usados.
  • Somente arquivos *.wav e *.bmp podem ser usados como arquivos de recursos.

Depois disso, as diretivas correspondentes do seguinte formato serão adicionadas ao início do arquivo atual:

#resource "\Images\example.bmp"
ou
#resource "resources\example.bmp"

O caminho para os arquivos de recursos pode ser especificado de duas maneiras:

  • Relativo ao arquivo atual (sem o símbolo "\" no início do caminho)
    Esse método é usado se os arquivos de recursos estiverem localizados na mesma pasta que o arquivo atual ou em uma de suas subpastas.
  • Em relação ao diretório /MQL5 do terminal do cliente (com o símbolo "\" no início do caminho)
    Esse método é usado em todos os outros casos.
 

Agora, incluir recursos em seus programas MQL5 ficou ainda mais fácil. Para fazer isso, o MetaEditor 5 tem o comando especial Inserir recursos.


Resources Inserting

Para facilitar o uso de arquivos de recursos em aplicativos desenvolvidos, o comando "Inserir recursos Insert Resources" foi implementado no menu "Tools". Esse comando permite declarar arquivos de recursos de uma pasta selecionada no arquivo atual usando a diretiva #resource.

Quando esse comando é executado, a janela de diálogo padrão do seu sistema operacional é exibida. Nela, você deve selecionar um ou vários arquivos de recursos a serem declarados no arquivo.

  • Os arquivos de recursos podem ser localizados somente no diretório /MQL5 do terminal do cliente. Os arquivos fora desse diretório não podem ser usados.
  • Somente arquivos *.wav e *.bmp podem ser usados como arquivos de recursos.

Quando as ações acima forem executadas, as diretivas correspondentes serão adicionadas ao início do arquivo. Por exemplo:

#resource "\Images\example.bmp"
ou
#resource "resources\example.bmp"

O caminho para os arquivos de recursos pode ser especificado de duas maneiras:

  • Relativamente ao arquivo atual (sem o símbolo "\" no início do caminho)
    Essa forma é usada caso os arquivos de recursos estejam localizados no mesmo diretório do arquivo atual ou em uma de suas subpastas.
  • Relativamente ao diretório /MQL5 do terminal do cliente (o símbolo "\" é especificado no início do caminho)
    Essa forma é usada em todos os outros casos.
[Excluído]  

MetaTrader 5 Client Terminal build 730
MQL5: Added support for storing indicators in EX5 resources. 

#resource "Examples\Fractals.ex5"

Alguém poderia dar um exemplo de como usar o indicador.

 
Quando será possível inserir arquivos de indicadores chamados no arquivo principal por meio do iCustom() como um recurso? Há tanto lixo nas pastas do terminal que nem mesmo fica claro o que pertence a quê. Isso não é seguro. Gostaria de aprender a reunir um projeto em um único arquivo ex5.
 
MoneyJinn:
Quando será possível inserir arquivos de indicadores chamados no arquivo principal por meio do iCustom() como um recurso? Há tanto lixo nas pastas do terminal que nem mesmo fica claro o que pertence a quê. Isso não é seguro. Gostaria de saber como reunir um projeto em um único arquivo ex5.

Isso foi adicionado na compilação 730 em 24 de novembro de 2012:

  • MQL5: Adicionado suporte para armazenar indicadores em recursos EX5. Os indicadores em recursos não poderão trabalhar com seus próprios recursos.


Aqui está um exemplo simples. Primeiro, compile o indicador CHO padrão no caminho especificado, depois esse Expert Advisor e, em seguida, solte-o no gráfico.

#resource "\\Indicators\\Examples\\CHO.EX5"
//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5");
   if(handle!=INVALID_HANDLE)
     {
      Print("Indicator created!");
      IndicatorRelease(handle);
     }
//---
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
  }

Preste atenção na escolha correta dos caminhos, no modificador de área :: e no uso correto das barras.

Tornamos especificamente possível empacotar indicadores em recursos para que você possa criar produtos completos e autossuficientes.

 
Renat:

Isso foi adicionado na compilação 730 em 24 de novembro de 2012:

  • MQL5: Adicionado suporte para armazenar indicadores em recursos EX5. Os indicadores em recursos não poderão trabalhar com seus próprios recursos.

...

Como perdi esse momento? Estou esperando por esse recurso, mas ele já existe há muito tempo. Obrigado. ))
 
Renat:

Muito obrigado. Isso é exatamente o que eu preciso.

 
É possível incluir recursos em produtos ex4 (mt4) ou esse recurso de "recursos" é exclusivo do ex5 (mt5)?
 
FinGeR:

Alguém poderia dar um exemplo de como usar o indicador.

Exemplo: https://www.mql5.com/ru/forum/3409#comment_408123

#resource "\\Indicators\\Examples\\CHO.EX5"
//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5");
   if(handle!=INVALID_HANDLE)
     {
      Print("Indicator created!");
      IndicatorRelease(handle);
     }
//---
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
  }
Обсуждение статьи "Использование ресурсов в MQL5"
  • www.mql5.com
Программы на MQL5 позволяют не только автоматизировать рутинные вычисления, но и создавать полноценную графическую оболочку.
 
4evermaat:
É possível incluir recursos em produtos ex4 (mt4) ou essa coisa de "recursos" é um recurso exclusivo do ex5 (mt5)?
Somente para MQL5.