MetaTrader 4 Build 529 beta lançado com novo compilador - página 21

 

Acrescento estas linhas ao código fonte indicador:

#property version             "1.00"
#property description         "This indicator looks for two consecutive fractal and puts signal pointers"
#property description         "Flag DrawArrowSig : true = Set signal arrow, false = No set signal arrow"
#property icon                "\\files\\FindTwoFractals32x32.ico";

Isto é o que temos no final:


Daí a pergunta:

  1. É possível utilizar recursos em indicadores?
  2. É o caminho para o arquivo de ícones "FindTwoFractals32x32.ico" especificado corretamente ; se a localização real do arquivo for D:NewMT4\MQL4\files e terminal com ME é lançado /portável
  3. Que tamanho em pixels é aceitável para um ícone?
Obrigado.
 
artmedia70:

Acrescento estas linhas ao código fonte indicador:

Isto é o que temos no final:


Daí a pergunta:

  1. É possível utilizar recursos em indicadores?
  2. É o caminho para o arquivo de ícones "FindTwoFractals32x32.ico" especificado corretamente ; se a localização real do arquivo for D:NewMT4\MQL4\files e terminal com ME é lançado /portável
  3. Que tamanho de pixel é aceitável para um ícone?
Obrigado.


1. é possível. mudaremos a janela para o mesmo tamanho do MT5

2. Veja em "Arquivo - Abrir diretório de dados". Aqui é de onde o caminho será lido

3. é melhor usar o conjunto completo (vários ícones em um arquivo) de 16x16 a 64x64 (128x128) arquivos .ico. Em breve os programas serão exibidos com seus ícones nativos diretamente na interface do sistema operacional.

Você também pode ler mais sobre recursos:

 

Você fez um truque muito útil ao criar parâmetros externos e de entrada, para substituir a variável com sua descrição após //.

É possível substituir as descrições das funções personalizadas, agora eu faço uma inicialização vazia de uma variável do tipo string em minhas funções para ver todos os parâmetros de valores passados

 
double  iBands(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          period,           // период
   int          deviation,        // отклонение
   int          bands_shift,      // сдвиг относительно цены
   int          applied_price,    // тип цены
   int          mode,             // индекс линии
   int          shift             // сдвиг
   );
У deviation тип double должен быть.
 

A maior parte do problema é resolvida pela nomeação explícita de variáveis no protótipo. Isto é, não digite1, digite2, mas digite transaction_type, trade_operation, etc.

Se houver valores numerados, é melhor descrevê-los com enumeração, o que então permite a substituição automática durante a edição.

 
Renat:
Estamos trazendo tudo para o mesmo ponto de vista em nome da compatibilidade UAC. A migração de diretórios na construção 534 está completa.

Ou seja, há mais de um 534 construídos? A questão surge por si só, porque tenho 534 build, o Terminal não está instalado em X:\Program Files (x86) e não em X:\Program Files, OS Windows 7, direitos no sistema administrador, apenas no caso de eu definir acesso completo em diretórios e subdiretórios do Terminal, mas "lixo" ainda é criado em X:\Users\xxxAppData\RoamingMetaQuotes Ao mesmo tempo, "lixo" em X:\ProgramData\MetaQuotes também é criado. Em 529 construídos com tudo o que foi mencionado acima, o lixo em X:\\xxxAppDataRoamingMetaQuotes não foi criado.

Eu esqueci, o parâmetro /portável está ligado.

 
O que é este misterioso parâmetro "/portável"? Onde deve ser incluído? Ou não é?
 
Zhunko:
O que é este misterioso parâmetro "/portável"? Onde deve ser incluído? Ou não?
O parâmetro inicia à força o terminal em sua caixa de areia e é ativado quando o terminal ou o unitor inicia. Em teoria, deve impedir que o programa crie lixo no sistema. Eu criei um arquivo batch - start terminal.exe /portable
 
Barbarian:

Ou seja, há mais de um 534 construídos? A questão surge por si só, porque tenho 534 build, o terminal não está instalado em X:\Program Files (x86) e não em X:\Program Files, OS Windows 7, direitos no sistema administrador, apenas no caso de eu ter definido acesso completo em diretórios e subdiretórios de terminal, mas "lixo" ainda é criado em X:\Users\xxxAppData\RoamingMetaQuotes. Ao mesmo tempo, "lixo" em X:\ProgramData\MetaQuotes também é criado. Em 529 construídos com tudo o que foi mencionado acima, o lixo em X:\\xxxAppDataRoamingMetaQuotes não foi criado.

Esqueci, o parâmetro /portável está habilitado.

Construa um.

Aplicações de 32 bits em Windows de 64 bits são instaladas exclusivamente em Arquivos de Programas (x86) - esta é a exigência de compatibilidade da Microsoft.

Os diretórios de dados na área Usuários/AppData não são mais lixo, e não são mais recomendações da Microsoft (com as quais todos os desenvolvedores não se importaram por muitos anos), mas a dura verdade da vida. Nos sistemas operacionais mais recentes, a Microsoft tem feito um martelo de forja para todos trabalharem corretamente, porque não há outra maneira de lidar com a UAC. No mercado de massa, este é o único caminho que resta. Pense nisso como tendo a UAC ativada em todos os lugares e nunca sendo desativada.

Para forçar o terminal a salvar a maioria dos dados em um diretório local, ou para trabalhar em modo portátil/transportável (por exemplo, em um flash), você precisa usar / bandeira portátil. Mas isto ainda não se aplica ao armazenamento de dados gerais não personalizados em Usuários/AppData.

 
Barbarian:
O parâmetro força o terminal a funcionar em sua caixa de areia e é ativado quando o terminal ou unicast é iniciado. É suposto impedir que o programa crie lixo no sistema. Eu criei um arquivo batch - start terminal.exe /portable
Estranho... Isto não deveria ser o padrão, como costumava ser?