MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 26

 
Ecco la prova che l'indicatore può essere eseguito più volte.
L'indicatore attrae nelle prime 200 barre.
E sembra nella foto, che è stato eseguito 2 volte.

Sono venuto a vedere una decina di esecuzioni quando stavo riprogrammando.

 
mladen:

C'è un problema serio con la nuova metatrader che riguarda i parametri stringa esterni. Inizialmente hanno un valore corretto, ma non appena si cambia la cornice temporale o il simbolo, il contenuto di un parametro stringa viene perso. Ecco un semplice esempio che mostrerà esattamente cosa sta succedendo. Questo problema si verifica anche quando tali indicatori sono utilizzati attraverso la chiamata iCustom() e questo rende qualsiasi indicatore inutilizzabile da qualsiasi EA o altro codice

Fisso
 
komposter:
6. Slip in tester "dorme" non tempo storico, ma tempo reale =)

Corretto

Corretti anche i punti 1 e 2.

Punto 3: Debug

Per i punti 4, 5 dobbiamo sapere come riprodurre. Passo dopo passo. Non è riproducibile al volo.

 
VOLDEMAR:

Catturato il momento in cui il consulente si cancella più il terminale si blocca



Facciamo due chiacchiere al service desk, va bene?

Abbiamo bisogno del codice sorgente del tuo EA per riprodurre il problema

 
Antonsan:
Ecco la prova che l'indicatore può essere eseguito più volte.
L'indicatore attrae nelle prime 200 barre.
E sembra nella foto, che è stato eseguito 2 volte.

Sono venuto a vedere una decina di esecuzioni quando stavo riprogrammando.


Sarà meglio se descrivi il tuo problema in inglese. Con dettagli, passo dopo passo
 

Scrivo in spagnolo. E traduco con Google.

La traduzione in inglese è altrettanto cattiva, che la traduzione russa.

Questo indicatore è preparato per EA e disegna solo poche barre.
Cambiando il timeframe ho osservato che a volte l'indicatore è spesso ripetuto sullo schermo.
A volte sembra eseguire più volte e disegnare correttamente la linea, altre volte sembra che siano copie identiche disposte nella storia.

Questo aveva tre copie identiche nella storia, ma per ridurre lo screenshot, ne ha viste solo due.

 
VOLDEMAR:

Catturato il momento in cui l'Expert Advisor si cancella più il terminale si blocca


Questa funzione non causa un errore

extern string symbol =""; // Simbolo

string sym    ()
{ 
 string symm = symbol;
 if ( symm == "" ) 
 symm=Symbol () ;
  return (symm);
}

Questa funzione ha causato un errore:

extern string symbol    = ""    ; // Symbol 

string sym ()
{
if (symbol=="")symbol = Symbol();
return symbol ;
} 
Странно сейчас тестирую и проверяю под виндовс ХР  проблем нет ...  В сервис деск отправил ...
 
Barbarian:

Renat, ho riletto un sacco di informazioni sullo scopo di X:\Users\xxx\AppData\ in generale e X:\Users\AppData\Roaming. Sono d'accordo che è una necessità in termini di creazione di impostazioni utente specifiche per l'applicazione in \Roaming, ma perché spostare i file eseguibili, cioè indicatori, script e EAs in quella directory? Perché, alcuni EAs violeranno costantemente la logica del loro lavoro a causa di questo, intendo quelli che usano file di lettura e scrittura nella loro logica.

A proposito, seguire il suggerimento di Microsoft di usare X:Users\xxx\AppData\ non è supportato da nulla, molto probabilmente, tranne che per singoli casi. Non conosco nessun trader che permetta ad estranei (altri utenti) di entrare nel suo PC con i terminali, anche sotto il proprio account, UAK non è affatto applicabile in questo argomento. Questo è molto probabilmente un'eccezione alle regole di sicurezza, quindi questa tendenza di Microsoft non è per i commercianti. Nascondere le impostazioni e gli eseguibili in X:Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ da chiunque è paranoico sulla sicurezza.


Il problema è molto probabilmente che il sistema non ti permette di scrivere nulla nei file di programma, il che va bene a meno che tu non sia in esecuzione come amministratore. Ma essere un amministratore del sistema operativo non è molto sicuro, perché si ha il sistema operativo aperto a tutti i virus e così via. Piuttosto, la MS si sta finalmente avvicinando a un comportamento simile a quello di Unix, dove invece di una cartella privata non si ha accesso in scrittura (e tmp naturalmente, ma questo viene cancellato periodicamente). Questo è molto più sicuro e previene la diffusione dei virus, poiché su *nix non ci sono tanti virus come su Win. Io sono d'accordo. Ma sarebbe bello se fosse possibile configurare per un particolare terminale la cartella degli esperti, perché la cartella comune per tutti i terminali non è sempre adatta.
 
Interesting:
Aggiungo "SymbolSelect" alla lista. +1 al desiderio di nuove descrizioni di costruzione.
Cosa ti impedisce di costruire la tua funzione SymbolSelect?
 
ms502040:

Molto probabilmente il problema è che il sistema non ti permette di scrivere nulla nei file di programma, il che è corretto, a meno che tu non lavori come amministratore. Ma essere un amministratore del sistema operativo non è molto sicuro, perché si ha il sistema operativo aperto a tutti i virus e così via. Piuttosto, la MS si sta finalmente avvicinando a un comportamento simile a quello di Unix, dove invece di una cartella privata non si ha accesso in scrittura (e tmp naturalmente, ma questo viene cancellato periodicamente). Questo è molto più sicuro e previene la diffusione dei virus, poiché su *nix non ci sono tanti virus come su Win. Io sono d'accordo. Ma sarebbe bello se fosse possibile configurare per un particolare terminale la cartella degli esperti, perché la cartella comune per tutti i terminali non è sempre adatta.

Probabilmente non hai letto il mio post sopra dove ho descritto ciò che viene scritto per ora usando versioni beta di MT4. In nix` tutti lavorano completamente nelle loro sandbox, solo l'utente root mette programmi comuni e distribuisce i diritti per il loro uso da parte di altri utenti. Lì l'ideologia è completamente diversa, anche se sembra simile a quella di Microsoft. A proposito, non mi dispiace che la versione beta scriva le impostazioni dell'utente in X:Usersxxx\AppData\Roaming\MetaQuotes\Terminal\, mi dispiace quanto segue:

1. Che crea una sottodirectory X:-Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ che fino a quando non ci si arriva non si conosce il suo nome, inoltre cambia il nome ad ogni aggiornamento.

2. Questo percorso viene utilizzato non solo per scrivere le impostazioni dell'utente, ma anche per i file eseguibili - indicatori, Expert Advisors, script, ecc, in generale, tutte le cose per le quali non lascerete entrare un estraneo nel vostro PC, anche con un nome utente diverso. Anche se questo, naturalmente, può essere evitato in seguito, ma a quale prezzo.

È il primo punto che mi spaventa di più perché usando il codice di lettura/scrittura su file per usare queste operazioni diventerà più complicato.