Nuovo terminale client MetaTrader 4 build 402 - pagina 5

 
vnn:

Oggi non c'è nessuna connessione. Il terminale riporta un "errore di errore" e, soprattutto, la finestra del tester ha perso tutti i simboli e non c'è modo di avviarlo. Confucio sarebbe qui, diceva allora che "i segni e i simboli governano il mondo, non la parola e non la legge". Ma il terminale a volte esclama forte e trionfante che la comunicazione è stata ripristinata, scrivendo ordinatamente nella barra di stato che c'è stato un terribile "errore onnisciente". Nessuno può dire chi sia questo turpe errore - solo una grande fede salverà e tutto sarà come nel sermone dell'ebreo Cristo salvatore.

Ho anche resettato il terminale per buona misura, è passato da 401 a 399. Qui non lo tengono più. E ancora... né ál-parú né forex-clýb risponde. E sono i detentori della nostra ricchezza duramente guadagnata. È un attacco... Dove troviamo ora queste risorse materiali? Alle Seychelles? Per abbronzarsi... Credo che dovrò andare a Crawford, l'unica organizzazione giusta che è la luce della democrazia, l'areopago delle moderne Russie speculative, composto unicamente dai detentori delle nostre risorse materiali.


Non preoccupatevi - è lo stesso per me - scrive - un errore casuale con l'occasionale promemoria sonoro per riconnettersi, ma tutto rimane com'è - con i personaggi che scompaiono, ma il gufo può essere modificato chiamando ME4 da sotto la finestra dello strategy tester.
 
Proprio ora (durante il fine settimana) ho potuto aggiornare e tutto sembra essere a posto. Forse questo aiuterà gli sviluppatori a trovare la causa
 
Le vecchie versioni del terminale non capiscono i file .ex4 compilati dal nuovo compilatore 226 \ 229 terminale <-> compilatore 399?
 
#include <FileMappingGDV.mqh>

int    MemorySize     = 64000;                       
int    FileMapIndex      = 0;     
string sComment;

string FileConst="Ind_GBP1";

int init()
{
   string s;
   
   FileMapIndex = FileMapCreate(FileConst, MemorySize); // Создаём отображение.
   sComment = "Отображение \"" + FileConst + "\" создано. Индекс: " + FileMapIndex + "\n\n";  
        
   return(0);
}

int start()
{
   string s;
   
   sComment="";   
   s="Пишем в отображение";
   sComment = sComment + "Записываем строку типа STRING: (" + FileMapWriteString(FileMapIndex, s) + ")  \"" + s + "\"\n";    
    
   Comment(sComment);
   
   return(0);        
}
//+------------------------------------------------------------------+

Il codice di cui sopra funziona bene.

Ma se fate solo una correzione, e rendete FileConst esterno (aggiungete la parola esterno)

allora un tentativo di chiudere l'Expert Advisor in una finestra del terminale causerà un crash del terminale!

Non so cosa c'entri, ma l'ho controllato decine di volte: se il parametro è esterno, il terminale va in crash quando si deinizializza l'EA.

Log di crash qui sotto

Filename    : mt4clw.B3334E786A3C87A0B3A19FE7CCDE64AB
Time        : 2011.06.06 14:28
Program     : MetaTrader 4 Terminal
Version     : 400.402 (11 May 2011)
Revision    : 2414
OS          : Windows 7 Professional 6.1  (Build 7600)
Processors  : 4 x Intel Core i5  M 430 @ 2.27 GHz
Memory      : 845 free of 2047 Mb
Virtual     : 1878 free of 2047 Mb
Exception   : C0000005 at 77932073 write to CFB83001

Modules     : 00400000 0055 A000 terminal.exe
            : 10000000 00020000 anvirhook631.dll
            : 3 AA00000 000 A3000 lvhook.dll
            : 027 B0000 0017 E000 spcapbtn.dll
            : 74960000 00008000 pshook.dll
            : 04 C30000 00038000 btmmhook.dll
            : 01 CF0000 0003 E000 rentasignal.dll
            : 6 F710000 00025000 mdnsnsp.dll
            : 6 F6E0000 00027000 wlidnsp.dll
            : 6 D9F0000 00026000 scrchpg.dll
            : 039 B0000 0005 F000 filemappinggdv.dll

77931 F49:00012 A [77932073] RtlGetCompressionWorkSpaceSize (ntdll.dll)
77931 F49:00007 E [77931 FC7] RtlGetCompressionWorkSpaceSize (ntdll.dll)
77779894:000039 [777798 CD] free (msvcrt.dll)
0041 F970:0000 FA [0041 FA6A] #337 (terminal.exe)

Registers   : EAX=CFB83001 CS=001 b EIP=77932073 EFLGS=00010206
            : EBX=F0AF0301 SS=0023 ESP=0012 FA04 EBP=0012 FA38
            : ECX=00001 EF9 DS=0023 ESI=05 EE57EB FS=003 b
            : EDX=00000000 ES=0023 EDI=F0AF0000 GS=0000
 
Aggiornato 2011.05.06 14:51:35 IFX Trader 4.00 build 402 avviato (Gruppo di società InstaForex)

e l'indicatore Volumi non mostra alcun istogramma, ovviamente ci sono, ma sono così miseri come se non ci fosse alcun commercio. Cosa può essere? Il DC assicura che i dati dal server arrivino senza problemi.


 
dimonsky:

Il codice di cui sopra funziona bene.

Ma se fate solo una correzione, e rendete FileConst esterno (aggiungete la parola esterno)

allora un tentativo di chiudere l'Expert Advisor in una finestra del terminale causerà un crash del terminale!

Non so cosa c'entri, ma l'ho controllato decine di volte: se il parametro è esterno, il terminale va in crash quando si deinizializza l'EA.

Log di crash qui sotto


Controlla
 

Non so dove scrivere e dove ma rischierò qui - Gli sviluppatori controllano perché l'invio di e-mail tramite la funzione di segnale non funziona. Invio di un messaggio e impostazioni ip e porte tutto prescritto - testato - funziona,

Quando creo un segnale e seleziono la funzione Email invece di SOUND - anche nel test non funziona con la funzione mail abilitata, mi sarebbe più comodo usare il messaggio E-mail - riguardo al punto raggiunto nella citazione - dopo aver riavviato il terminale perché si riapplica automaticamente SOUND

 
dimonsky:

Il codice di cui sopra funziona bene.

Ma se fate solo una correzione, e rendete FileConst parametro esterno (aggiungete la parola external)

allora un tentativo di chiudere l'Expert Advisor in una finestra del terminale causerà un crash del terminale!

Non so cosa c'entri, ma l'ho controllato decine di volte: se il parametro è esterno, il terminale va in crash quando si deinizializza l'EA.

Log di crash qui sotto


Controlla il tuo dll. Sembra che tu stia scrivendo extra alla linea FileConst.

Perché questo comportamento? Perché le stringhe normali sono distribuite con una certa riserva in un pool di stringhe speciali. Le stringhe in ingresso sono allocate esattamente nella dimensione e nella memoria regolare, perché non si suppone che vengano modificate ulteriormente.

 

Profitto in pip ordinati in ordine decrescente.

Il terminale non sembra essere sicuro di fare questo.

 
olyakish:

Profitto in pip ordinati in ordine decrescente.

Il terminale non sembra essere sicuro di fare questo.

Questo è dovuto al fatto che il valore del punto è diverso per le diverse coppie...