Errori, bug, domande - pagina 2896

 
fxsaber:

Non ho trovato nessuna statistica sul Mercato. Quindi una domanda per i venditori di prodotti multipiattaforma.

Le versioni MT5 vendono davvero meglio della MT4?

Puoi prendere "Freelance" come base, ultimamente sempre più lavoro sotto mt5

Il tempo passa veloce (molto veloce), quindi bisogna davvero prendere l'mt5 come punto di riferimento. È come un pendolo - oscilla per molto tempo, ma poi non si può fermare, cosa che si può già vedere.

 
Dovete essere in grado di stampare il testo delle macro.
#define OnTick OnTick2


Il registro deve essere emesso

OnTick = OnTick2


La lingua vi permette di fare questo?

 
fxsaber:
Dovete essere in grado di stampare il testo delle macro.

Il registro deve essere emesso

Lalingua vi permette di fare questo?

Dipende da quale lingua? C++ lo permette perché le macro vi funzionano correttamente e si può costruire qualsiasi espressione di cui si ha bisogno (a differenza di MQL). Anche se ricordo che hai ripetutamente cercato di dimostrare il contrario

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

Risultato: OnTick = OnTick2

 
A100:

Dipende da quale? C++ permette, perché le macro funzionano correttamente lì e si può costruire qualsiasi espressione che si vuole (a differenza di MQL). Anche se ricordo che hai ripetutamente cercato di dimostrare il contrario

Risultato: OnTick = OnTick2.

Grazie. Questo può essere corretto.

 
fxsaber:

Grazie. Forse lo faranno.

Se l'avessero fatto, l'avrebbero corretto molto tempo fa - l'ho scritto molte volte prima in una forma o nell'altra - ecco l'ultimo messaggio

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

A100, 2020.07.30 02:25

Penso che non sia nemmeno la priorità ma una sequenza macro fondamentalmente sbagliata:

e ci si aspettava che andasse bene - come in C++

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

Errori, bug, domande

A100, 2020.07.30 10:53

In C++ le macro sono progettate in modo tale che qualsiasi risultato richiesto può essere proiettato, mentre in MQL si scopre che non qualsiasi risultato può essere proiettato



 
È un bug o dovrebbe esserlo?
// Находим крипт-методы, в которых не работает шифрование с ключем.

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)); // Сообщаем о наличии/отсутствии бага.
  }
}


Risultato.

        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


La crittografia perCRYPT_BASE64 eCRYPT_ARCH_ZIP non funziona.

 
fxsaber:

Non ho trovato nessuna statistica sul Mercato. Quindi una domanda per i venditori di prodotti multipiattaforma.

Le versioni MT5 vendono davvero meglio della MT4?

Non al momento, piuttosto che sì. Ma c'è una tendenza verso il 5, naturalmente.

 

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

La crittografia per CRYPT_BASE64 e CRYPT_ARCH_ZIP non funziona.

Hanno combinato metodi fondamentalmente diversi in un'unica funzione - ecco perché sembra un bug

InCRYPT_BASE64 non può esserci alcuna chiave in linea di principio

 
fxsaber:

Le versioni MT5 si vendono davvero meglio della MT4?

Sicuramente no. ma mentre prima c'era un ordine di grandezza di differenza, ora i numeri sono più comparabili

 
A100:

Diversi metodi sono combinati in una funzione in linea di principio - ecco perché sembra un bug

Non ci può essere nessuna chiave in CRYPT_BASE64 in linea di principio

Grazie. Si scopre che il problema è solo in ZIP.

Motivazione: