Errori, bug, domande - pagina 1629

 
Maxim Kozin:
Puoi dirmi qual è la difficoltà. L'Expert Advisor ha un'analisi standard degli indicatori, se la condizione è abbinata, la funzione di apertura dell'ordine è prescritta nel codice, con controllo della correttezza del TP, della correttezza del prezzo SL e così via. Non c'è nessun ciclo. Dopo aver aperto il controllo memorizziamo la barra in modo che non si apra su questa barra e su quella successiva e poi ritorniamo;
Nel tester, tutto funziona bene :) nei conti con esecuzione istantanea l'ordine viene anche aperto normalmente. Ma per quanto riguarda i conti ECN, due ordini vengono aperti contemporaneamente con un paio di secondi di differenza. Come può accadere? Come combattere questo? Forse, ci dovrebbe essere qualche controllo aggiuntivo?
Come minimo, controlla la scheda "Journal".
 
#property strict

void OnStart()
{
  int Array[] = {0};

  ArrayResize(Array, 5); // MQL5 - cannot be used for static allocated array, MQL4 - без проблем
}

Il diverso comportamento di MQL4 e MQL5 in questa situazione è un errore?

 
fxsaber:

Il diverso comportamento di MQL4 e MQL5 in questa situazione è un errore?

No. In 4, tutti gli array sono dinamici
 
Alexey Da:

Non silenzioso. C'è un thread di 18 pagine sul forum che descrive questa opzione.

Anatoli Kazharski:
C'era un argomento ed è stato discusso in dettaglio:Test del nuovo compilatore MQL5 per piattaforme x64 - velocità di calcolo da 2 a 10 volte!>>>
Capisco, ora ho la cronologia degli eventi. Prima è stato lanciato in primavera in modalità test, questo parametro era disabilitato di default. Poi è stata rilasciata una nuova build in autunno, e questo parametro era abilitato di default.
 
ProfitTraderRU:

Versione del terminale e bit rate

v.1375, 64-bit

Descrizione del problema.

Dopo l'aggiornamento all'ultima build, gli agenti si bloccano dopo aver superato i primi 1900-2100 passaggi durante l'ottimizzazione. Tutto andava bene prima dell'aggiornamento, tutti i parametri e il codice EA sono gli stessi.

Sequenza di azioni

Inizia l'ottimizzazione. Broker di apertura. Conto reale. Gli strumenti: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (non ho provato altri). Intervallo: mensile, minuto, 15 minuti. Prezzi di apertura o OHLC.

Risultato.

Gli agenti locali e remoti dopo 2000 passaggi in realtà si bloccano, i carichi della CPU cambiano di circa lo 0,01% ogni 10 minuti. 14 agenti.

Risultato atteso

Ottimizzazione walkthrough come per la build precedente.

Informazioni aggiuntive

Su di me: esperto programmatore .net MQL5


Ho guardato i registri ovunque. Li ho confrontati con i registri della build precedente. Non ho riscontrato alcun problema o errore. La qualità della storia è buona.

Signori, ho risolto il problema. Non so cosa mi abbia aiutato esattamente:

1) Correzione di un codice che a volte causava un errore in OnTick.

2) Impedire l'esecuzione di Sleep in modalità di ottimizzazione.

3) Negare mentre con il controllo di chiusura della posizione interna

Comunque, sono molto contento di essere riuscito a risolvere il problema e mi scuso con gli sviluppatori per aver pensato che un collo di bottiglia è apparso nell'ottimizzatore nell'ultima build.

 

Ho ragione nel supporre che non tutti in kodobase sono pre-moderati?Nikolay Kositsin, per esempio, pubblica ogni giorno i suoi meravigliosi codici. Non funziona per me: non mi danno il permesso di pubblicare per molti giorni.

So che non me lo merito. Puoi dirmi come accelerare il processo di pubblicazione?

 
fxsaber:

Ho ragione nel supporre che non tutti in kodobase sono pre-moderati?Nikolay Kositsin, per esempio, pubblica ogni giorno i suoi meravigliosi codici. Non funziona per me: non mi danno il permesso di pubblicare per molti giorni.

So che non me lo merito. Puoi dirmi come accelerare il processo di pubblicazione?

Tutto passa attraverso la moderazione. Non si può accelerare - è tutto sulla base del primo arrivato, primo servito.
 
""""""" Per favore mi dica come abilitare/disabilitare "Precise time scale" in MetaTrader 5. Non riesco a trovarlo.
Attraverso CHART_SHOW_DATE_SCALE - non è questo, come ho capito.

Il manualmente interessante è attivato attraverso il seguente percorso:

Terminale -> Servizio -> Impostazioni -> Grafica -> Timeline


Di seguito allego il codice di prova. Se abiliti manualmente "Precise time scale" nel terminale di trading, questo indicatore di test disegna segmenti di linea verticale con punti di ancoraggio tra due barre. Se non è abilitato, non è tra le barre.

Nello screenshot qui sotto, il segmento di linea verticale creato dal codice di prova tra le barre, quando "Precise time scale" è abilitato

"""""""""


Per favore, ditemi per favore = COME abilitare questa funzione per MT-4?

(perché c'è bisogno che le linee siano tracciate IMMEDIATAMENTE tra i candelieri))

 
Vitaliy Kostrubko:
""""""" Per favore mi dica come abilitare/disabilitare "Precise time scale" in MetaTrader 5. Non riesco a trovarlo.
Non so cosa fare conCHART_SHOW_DATE_SCALE.

L'interessante manualmente si accende attraverso il seguente percorso:

Terminale -> Servizio -> Impostazioni -> Grafica -> Timeline


Di seguito allego il codice di prova. Se abiliti manualmente "Precise time scale" nel terminale di trading, questo indicatore di test disegna segmenti di linea verticale con punti di ancoraggio tra due barre. Se non è abilitato, non è tra le barre.

Nello screenshot qui sotto, il segmento di linea verticale creato dal codice di prova tra le barre, quando "Precise time scale" è abilitato

"""""""""


Per favore, ditemi per favore = COME abilitare questa funzione per MT-4?

(perché c'è bisogno che le linee siano tracciate IMMEDIATAMENTE tra i candelieri))

In mt 4 nessun modo ...
 
Vitaliy Kostrubko:
""""""" Per favore mi dica come abilitare/disabilitare "Precise time scale" in MetaTrader 5. Non riesco a trovarlo.
Non capisco, èattraverso CHART_SHOW_DATE_SCALE.

L'interessante manualmente si accende attraverso il seguente percorso:

Terminale -> Servizio -> Impostazioni -> Grafica -> Timeline


Di seguito allego il codice di prova. Se abiliti manualmente "Precise time scale" nel terminale di trading, questo indicatore di test disegna segmenti di linea verticale con punti di ancoraggio tra due barre. Se non è abilitato, non è tra le barre.

Nello screenshot qui sotto, il segmento di linea verticale creato dal codice di prova tra le barre, quando "Precise time scale" è abilitato

"""""""""


Per favore, ditemi per favore = COME abilitare questa funzione per MT-4?

(perché c'è bisogno che le linee siano tracciate IMMEDIATAMENTE tra i candelieri))

In MetaTrader 5 la linea temporale esatta può essere attivata/disattivata solo manualmente.