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

 

komposter Aparentemente, falei mal do meu ponto de vista :). Você fica feliz quando vê que está "disponível". Depois de me atualizar para uma nova construção, em vez de diminuir a alegria, tenho mais esperança e crença na próxima:) Bem, é assim que é.... Tentei expressar minhas emoções da maneira mais correta possível.

Renat, obrigado por sua resposta. Estamos esperando por mais mudanças, espero que minhas observações (pelo menos 5 já foram) também sejam levadas em conta e não precisaremos lê-las todas novamente.

 

Fiz em todos os terminais (MT4/MT5) da pasta Arquivos uma subpasta MyCommon, mapeei todos eles para um disco virtual (o disco foi configurado para autostart). // Agora esta pasta é visível em todos os lugares.

Nesta pasta eu fiz uma subpasta Incluir (agora também visível em todos os lugares).

Nesta pasta (e subpastas) criei mql4/5 universal incluindo arquivos que são acessíveis em todos os terminais ao mesmo tempo. // as diretrizes da família #ifdef finalmente apareceram e agora funcionam perfeitamente.

É realmente muito conveniente agora. // Recomendo-o a todos.

MAS :

Encontrei um problema com a edição não-síncrona de arquivos. // Estou editando simultaneamente em MT4/ME4 e MT5/ME5, a fim de testar o código mql4 e mql5 simultaneamente, enquanto o escrevo.

O problema: Quando você muda um arquivo em um dos editores, o outro não percebe as mudanças. Não tem. Não detecta, não pega e nem sequer informa uma mudança "externa" de arquivo com uma escolha "recarregar/ignorar".

Isto é, para que o segundo reator veja as mudanças, o arquivo tem que ser fechado nele e depois reaberto. Isto é extremamente inconveniente.

Pedido muito grande aos desenvolvedores: favor fazer "autodetecção" e processamento de modificação externa do arquivo carregado em ME.

// Acho que costumava ser, apenas parou de funcionar ?

--

E outra pergunta: por que você não pode definir seus próprios símbolos para a compilação condicional? Mais uma vez, não é realmente uma característica de pleno direito. Ou simplesmente não estou procurando o suficiente?

 
MetaDriver:

Fiz em todos os terminais (MT4/MT5) da pasta Arquivos uma subpasta MyCommon, mapeei todos eles para um disco virtual (o disco foi configurado para autostart). // Agora esta pasta é visível em todos os lugares.

Nesta pasta, foi incluída uma subpasta (agora também visível em todos os lugares).

Nesta pasta (e subpastas) criei mql4/5 universal incluindo arquivos que são acessíveis em todos os terminais ao mesmo tempo. // diretrizes da família #ifdef finalmente apareceram e agora funcionam perfeitamente.

É realmente muito conveniente agora. // Recomendo-o a todos.

MAS :

Encontrei um problema com a edição não-síncrona de arquivos. // Estou editando simultaneamente em MT4/ME4 e MT5/ME5, a fim de testar o código mql4 e mql5 simultaneamente, enquanto o escrevo.

O problema: Quando você muda um arquivo em um dos editores, o outro não percebe as mudanças. Não tem. Não detecta, não pega e nem mesmo informa uma mudança "externa" de arquivo com uma escolha "recarregar/ignorar".

Em outras palavras, para que o segundo reator veja as mudanças, o arquivo tem que ser fechado nele e depois reaberto. Isto é muito inconveniente.

Um pedido muito grande para os desenvolvedores : por favor, faça "autodetectar" e trate da modificação externa do arquivo carregado em ME.

// Parece-me que foi antes, apenas parou de funcionar ?

Onde está escrito sobre o ifdef? Não consigo encontrar na ajuda da MQL

 
MetaDriver:

1. Fiz em todos os terminais (MT4/MT5) da pasta Arquivos uma subpasta MyCommon, mapeei todos eles para um disco virtual (coloquei o disco em autostart). // Agora esta pasta é visível em todos os lugares.

Eu fiz uma subpasta Incluir nesta pasta (agora visível em todos os lugares também).

Nesta pasta (e subpastas) criei mql4/5 universal incluindo arquivos que são acessíveis em todos os terminais ao mesmo tempo. // as diretrizes da família #ifdef finalmente apareceram e agora funcionam perfeitamente.

É realmente muito conveniente agora. // Recomendo-o a todos.

MAS :

2. Encontrei um problema com a edição não-síncrona de arquivos. // Estou editando simultaneamente em MT4/ME4 e MT5/ME5, a fim de testar o código mql4 e mql5 simultaneamente, enquanto o escrevo.

O problema: Quando você muda um arquivo em um dos editores, o outro não percebe as mudanças. Não tem. Não detecta, não pega e nem sequer informa uma mudança "externa" de arquivo com uma escolha "recarregar/ignorar".

Isto é, para que o segundo reator veja as mudanças, o arquivo tem que ser fechado nele e depois reaberto. Isto é extremamente inconveniente.

Pedido muito grande aos desenvolvedores: favor fazer "autodetecção" e processamento de modificação externa do arquivo carregado em ME.

// acho que estava lá antes, simplesmente parou de funcionar ?

1. Na minha opinião, é mais conveniente e confiável usar links simbólicos, suaves e duros do que um disco virtual. Ainda assim, as opções de SO são mais confiáveis do que o software.
2. Se o autosave não quiser fazer, então a detecção de mudanças a partir de um editor externo não será suficiente.
 
MetaDriver:

Tornou todos os terminais (MT4/MT5) na pasta Files uma subpasta MyCommon, mapeou-os todos em uma unidade virtual

Você quer dizer "hardlink"?

Por que não na MQL4\ MQL5\? Por que em Arquivos\\i1?

 
MetaDriver:

Fiz em todos os terminais (MT4/MT5) da pasta Arquivos uma subpasta MyCommon, mapeei todos eles para um disco virtual (o disco foi configurado para autostart). // Agora esta pasta é visível em todos os lugares.

Fiz uma subpasta Incluir nesta pasta (também visível em todos os lugares agora).

Nesta pasta (e subpastas) criei mql4/5 universal incluindo arquivos que são acessíveis em todos os terminais ao mesmo tempo. // as diretrizes da família #ifdef finalmente apareceram e agora funcionam perfeitamente.

É realmente muito conveniente agora. // Recomendo-o a todos.

MAS :

Encontrei um problema com a edição não-síncrona de arquivos. // Estou editando simultaneamente em MT4/ME4 e MT5/ME5, a fim de testar o código mql4 e mql5 simultaneamente, enquanto o escrevo.

O problema: Quando você muda um arquivo em um dos editores, o outro não percebe as mudanças. Não tem. Não detecta, não pega e nem mesmo informa uma mudança "externa" de arquivo com uma escolha "recarregar/ignorar".

Isto é, para que o segundo reator veja as mudanças, o arquivo tem que ser fechado nele e depois reaberto. Isto é extremamente inconveniente.

Pedido muito grande aos desenvolvedores: favor fazer "autodetecção" e processamento de modificação externa do arquivo carregado em ME.

// acho que estava lá antes, simplesmente parou de funcionar ?


Zhunko:
1. Na minha opinião, é mais conveniente e confiável usar links simbólicos, suaves e duros do que um disco virtual. Ainda assim, as opções de SO são mais confiáveis do que o software.
2. Se eles não quiserem fazer a autosave, então a detecção de mudanças a partir de um editor externo não será suficiente.

komposter:

Você quer dizer o elo difícil?

Por que não na MQL4\MQL5? Por que em Arquivos\\i1?

Posso ter uma ilustração?
 
Barbarian:

Onde está escrito sobre o ifdef? Não consigo encontrar na ajuda da MQL

Estava nos anúncios(nas atualizações do MT5, com certeza). Em seguida, foi implementado.

//\files\MyCommon\Include\StatBasket_01.mqh
//+------------------------------------------------------------------+
//|                                                StatBasket_01.mqh |
//|                                           © 2013, MetaDriver Lab |
//|                       https://www.mql5.com/ru/users/MetaDriver |
//+------------------------------------------------------------------+
#property copyright "© 2013, MetaDriver Lab"
#property link      "https://www.mql5.com/ru/users/MetaDriver"

#ifndef __MQL5__
    #property strict
#endif 

#ifdef _DEBUG
class CLogPrint  // дебаг версия лог-файла (расширенная)
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#else 
class CLogPrint  // релиз версия
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#endif 

class CSBasket
  {
public:
                     CSBasket(void);
                    ~CSBasket(void);
  };

--

Tudo isso funciona. Você pode usá-lo.

 
Zhunko:
1. Na minha opinião, é mais conveniente e confiável usar links simbólicos, suaves e duros do que um disco virtual. Ainda assim, as opções de SO são mais confiáveis do que o software.
2. Se a autosave não quiser fazer, então a detecção de mudanças a partir de um editor externo não será suficiente.

1. Eu não entendo com elos macios / duros. Como fazê-las, como utilizá-las?

2. Vamos ver. Você não precisa ser tão categórico. Eu lhe disse, costumava ser (no ME5. o editor dizia "file changed, reload?")

 
komposter:

Você quer dizer o elo difícil?

Por que não na MQL4\MQL5\? Por que Arquivos?

Eu realmente não entendo o elo difícil. Mas deve ser isso.

A razão está nos Arquivos - porque os programas mql podem ser escritos lá. Muitas vezes preciso dele para a autogeração de inclusões com algumas fontes maciças de Enum ou de rotina, onde a lógica e/ou os dados podem ser alterados no gerador de código.

// Eu geralmente não gero nada complicado. Mas muitas vezes é necessário algo simples e regular (em termos de estrutura) e muito rotineiro (como cinqüenta variáveis externas, por exemplo, coeficientes de rede neural para otimização de MT).

 
tara:

E você pode com ilustrações?

Alexei, eu anexei um pedaço de código fonte. isso é suficiente?

Eu simplesmente não entendia que ilustrações você quer.

Mais. isto é o que parece uma pasta virtual no explorador:



E assim você pode adicionar caminhos para o mapeamento do drive virtual: