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

 
pro_:

O que escrevi (página 68) ainda não foi corrigido, mas tenho certeza que será em breve, também.
E a gravitsapa será feita ;)
 
artmedia70:
E será feita uma gravitsapa ;)


Mamãe, mamãe, o que vamos fazer...
"É muito difícil penetrar um idioma quando se pensa em dois idiomas ao mesmo tempo" (c) Kin-dza-dza

Portanto, é difícil entender um idioma, que no momento consiste em dois idiomas (mql4 e mql5).
Eu realmente espero que todas as bibliotecas sejam reescritas e que a funcionalidade permaneça.

 
Não entrem em pânico, senhores... Manter os dois hemisférios juntos. :)
 
Lion.Fx:

Mamãe, mamãe, o que vamos fazer, .....
É muito difícil entrar no idioma quando se está pensando em dois idiomas ao mesmo tempo. (c) Kin-dza-dza

É difícil entender um idioma que atualmente é composto de dois idiomas (mql4 e mql5).
Eu realmente espero que todas as bibliotecas sejam reescritas e que a funcionalidade permaneça.


A função ObjectCreate() na biblioteca deve ser corrigida apenas um pouco.

por exemplo, em "ChartObjectsBmpControls.mqh" em vez disso:

ObjectCreate(chart_id,name,OBJ_BITMAP_LABEL,window,0,0.0)

fazer :

ObjectCreate(name,OBJ_BITMAP_LABEL,window,0,0.0) 
 
ALXIMIKS:


na biblioteca, você só precisa ajustar um pouco a função ObjectCreate()

por exemplo, em "ChartObjectsBmpControls.mqh" em vez disso:

fazer :

Por que mudá-lo? Você pode ficar com os dois. A opção mais harmoniosa.
 
MetaDriver:
Por que substituí-los? Você pode ficar com os dois. A opção mais harmoniosa.


Em uma nova construção, ela irá recompilar a biblioteca de qualquer maneira.

A saída é herdar e acrescentar sua própria função, mas se os desenvolvedores consertarem o problema, não há sentido em tudo.

 
#property  strict

int iter=500000;

#define  S1      "abc"
#define  S2      "bcd"

void OnStart()
  {
        uint    startt,stopt;
   string s,s1;

   s1=S1; s="";
   Print("iter=",iter," s1=\"",s1,"\"");
   
//--- first method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s+=s1; stopt=GetTickCount();
   Print("s+=s1, time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- second method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) StringAdd(s,s1); stopt=GetTickCount();
   Print("StringAdd(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- third method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s=StringConcatenate(s,s1); stopt=GetTickCount();
   Print("s=StringConcatenate(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));
}

testtr dá.

2013.12.08 21:12:41.866 teststr USDCHF,H1: retirado
2013.12.08 21:12:41.855 teststr USDCHF,H1: s=StringConcatenate(s,s1), time=57564 ms, strlen=451434
2013.12.08 21:11:44.295 teststr USDCHF,H1: StringAdd(s,s1), time=16 ms, strlen=1500000
2013.12.08 21:11:44.284 teststr USDCHF,H1: s+=s1, time=530 ms, strlen=1500000
2013.12.08 21:11:43.749 teststr USDCHF,H1: iter=500000 s1="abc"
2013.12.08 21:11:43.746 teststr USDCHF,H1: carregado com sucesso


assistir STRLEN.... (funciona bem com iter=3000 ou qualquer iter pequeno)

construir 555

 
Encontrei a razão pela qual alguns objetos não são visíveis no gráfico e têm parâmetros zero. Isto acontece se o nome do objeto for construído a partir de alguns dados no EA e for mais do que um certo número de caracteres e for truncado. Tal objeto tem parâmetros zero. No 509º foi produzido com um nome truncado, em 555 é produzido, mas tem preço zero e coordenadas de tempo.
 

É engraçado. O nome do Expert Advisor inclui os nomes de suas subpastas.

Isto aumenta desnecessariamente o tamanho do nome do especialista.

Por exemplo: Se o nome do Expert Advisor for Expert e estiver armazenado no Terminal_directory\MQL4\experts\Orders\Nickname,

então o nome do Consultor Especialista não seria Expert, mas sim Order Order_customer_name (Nome do Cliente)Expert. Se os nomes dos objetos incluem Expert_name e object_name_time, ele já está ultrapassado pelo número de caracteres, e o objeto será produzido a preço zero e tempo zero.

Se os nomes dos objetos incluírem um nome EA a ser limpo quando da desinicialização, isto deixa muito pouco espaço para o próprio nome do objeto.

Isto será alterado ou continuará a ser assim?

 
sanyooooook:

atualizado para 555 terminal não vê arquivos de scripts, Expert Advisors e indicadores, eles estão no diretório do terminal.

Captura de tela


Você poderia esclarecer seu ponto de vista?

Na captura de tela que você apresentou, há scripts, especialistas e indicadores