Erros, bugs, perguntas - página 2896

 
fxsaber:

Não foi possível encontrar quaisquer estatísticas sobre o Mercado. Portanto, uma questão para os vendedores de produtos multiplataforma.

As versões MT5 vendem realmente melhor do que MT4?

Pode tomar como base "Freelance", ultimamente cada vez mais trabalho sob mt5

O tempo passa depressa (muito depressa), por isso é preciso tomar o mt5 como ponto de referência. É como um pêndulo - balança durante muito tempo, mas depois não se pode parar, o que já se pode ver.

 
É preciso ser capaz de imprimir o texto das macros.
#define OnTick OnTick2


O registo tem de ser produzido

OnTick = OnTick2


A língua permite-lhe fazer isto?

 
fxsaber:
É preciso poder imprimir o texto das macros.

O registo tem de ser produzido

A língua permite-lhe fazer isto?

Depende de que língua? C++ permite-o porque as macros funcionam correctamente aí e pode construir qualquer expressão de que precise (ao contrário da MQL). Embora me lembre que tentou repetidamente provar o oposto

#ifdef __cplusplus
#define  MACRO1(X)	#X "=" MACRO2(X)
#define  MACRO2(X)	#X
void OnStart()
{
        printf( "%s", MACRO1( OnTick ));
}
#endif

Resultado: OnTick = OnTick2

 
A100:

Depende de qual deles? C+++ permite, porque as macros funcionam correctamente ali e pode construir qualquer expressão que queira (ao contrário da MQL). Embora me lembre que tentou repetidamente provar o oposto

Resultado: OnTick = OnTick2.

Obrigado. Isto pode ser corrigido.

 
fxsaber:

Obrigado. Talvez o façam.

Se o tivessem feito, já o teriam corrigido há muito tempo - escrevi sobre isso muitas vezes de uma forma ou de outra - aqui está a última mensagem

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

Insectos, insectos, perguntas

A100, 2020.07.30 02:25

Penso que nem sequer é a sequência macro prioritária, mas fundamentalmente errada:

e esperava-se que estivesse tudo bem - como em C++

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

Erros, bugs, perguntas

A100, 2020.07.30 10:53

Em C++ as macros são concebidas de tal forma que qualquer resultado necessário pode ser projectado, enquanto em MQL se verifica que não é possível projectar qualquer resultado



 
Isto é um insecto ou deveria ser?
// Находим крипт-методы, в которых не работает шифрование с ключем.

void OnStart()
{  
  const string Str = "Hello World!"; // Строка, которую будем шифровать/дешивровывать.

  uchar BytesStr[];

  StringToCharArray(Str, BytesStr); // Перевели строку в байты
  
  uchar KeyDecode[];
  uchar KeyEncode[];
    
  StringToCharArray("qwer", KeyDecode); // Задали код для шифровки
  StringToCharArray("asdf", KeyEncode); // Задали ДРУГОЙ код для расшифровки
    
  for (int i = 0; i < 8; i++) // Перебираем все штатный методы шифровки
  {
    const ENUM_CRYPT_METHOD Method = (ENUM_CRYPT_METHOD)i; // Текущий метод шифровки
    
    uchar BytesDecode[];
    uchar BytesEncode[];    
    
    CryptEncode(Method, BytesStr, KeyEncode, BytesEncode);    // Зашифровали
    CryptDecode(Method, BytesEncode, KeyDecode, BytesDecode); // Расшифровали
    
    Print("Crypt method " + EnumToString(Method) + " is bug - " + (string)(CharArrayToString(BytesDecode) == Str)); // Сообщаем о наличии/отсутствии бага.
  }
}


Resultado.

        Crypt method CRYPT_BASE64 is bug - true
        Crypt method CRYPT_AES128 is bug - false
        Crypt method CRYPT_AES256 is bug - false
        Crypt method CRYPT_DES is bug - false
        Crypt method CRYPT_HASH_SHA1 is bug - false
        Crypt method CRYPT_HASH_SHA256 is bug - false
        Crypt method CRYPT_HASH_MD5 is bug - false
        Crypt method CRYPT_ARCH_ZIP is bug - true


A encriptação paraCRYPT_BASE64 eCRYPT_ARCH_ZIP não funciona.

 
fxsaber:

Não foi possível encontrar quaisquer estatísticas sobre o Mercado. Portanto, uma questão para os vendedores de produtos multiplataforma.

As versões MT5 vendem realmente melhor do que MT4?

De momento, não, em vez de sim. Mas há uma tendência para 5, é claro.

 

fxsaber:
Это баг или так и должно быть?

A encriptação para CRYPT_BASE64 e CRYPT_ARCH_ZIP não funciona.

Combinaram métodos fundamentalmente diferentes numa única função - é por isso que parece um insecto

EmCRYPT_BASE64 não pode haver nenhuma chave em princípio

 
fxsaber:

As versões MT5 estão realmente a vender melhor do que MT4?

definitivamente não. mas embora houvesse uma ordem de magnitude de diferença, agora os números são mais comparáveis

 
A100:

Métodos diferentes são combinados numa função em princípio - é por isso que se parece com um insecto

Em princípio não pode haver nenhuma chave em CRYPT_BASE64

Obrigado. Acontece que o problema está apenas em ZIP.