Errori, bug, domande - pagina 213

 
Olegts:

Come si può vedere dalla figura, solo tre core stanno lavorando, ho visto più di una situazione in cui durante i test il numero di core coinvolti nel lavoro scende gradualmente a zero, dopo di che tutti i core iniziano a lavorare contemporaneamente, cioè c'è un tempo di inattività, perché i core liberati non iniziano a lavorare contemporaneamente?

Per iniziare a calcolare la prossima generazione, dobbiamo prima elaborare la generazione attuale. Tutte le corse della generazione corrente devono essere completate per selezionare le migliori ed eseguire operazioni genetiche tra le migliori. Solo allora si può iniziare la prossima generazione.

Quando mancano pochi risultati per completare l'elaborazione della generazione corrente, gli agenti di prova liberati sono senza lavoro.

 
stringo:


Grazie
 
Virty:

Qual è il tempo massimo che può essere impostato in EventSetTimer( )?

INT_MAX? Non credo. Non voglio indagare da solo e non è nella guida.


Qualsiasi tempo può essere impostato qui, ma nel tester il tempo sarà preso modulo 50 giorni. Circa 4 220 000 secondi.

La qualità di MQL5 mi demotiva.

 
Virty:

Qualsiasi tempo può essere usato qui, ma nel tester il tempo sarà preso modulo 50 giorni. Circa 4 220 000 secondi.

La qualità di MQL5 è demotivante.

Potete impostare un massimo di 2 147 483 secondi (corrispondenti a 35 791 minuti, 596 ore o 24 giorni). Non è così che il timer è gestito nel tester.

Controdomanda. Perché impostare il timer a 24 giorni?

 
stringo:

Si può impostare un massimo di 2.147.483 secondi (corrispondenti a 35.791 minuti, 596 ore o 24 giorni). Questo non è il modo in cui il timer è gestito nel tester.

Controdomanda. Perché impostare il timer per 24 giorni?

Voglio che la posizione sia chiusa dopo l'apertura nel tempo da 1 secondo a 10 anni, a seconda di qualcosa.

Ho provato in questo modo

request.type_time=ORDER_TIME_SPECIFIED; // L'ordine sarà valido fino alla data di scadenza
request.expiration=1; //o TimeCurrent()+time; (int time=1;)

non funziona con i secondi.

Aggirato questo problema con EventSetTimer( ). Anche questo è limitato a 24 giorni. Soprattutto, non mi aspettavo un tale casino dal timer. Avresti dovuto essere avvertito. Oh bene.

A proposito, l'ora del timer è l'ora reale del calendario o solo quella del trading? In altre parole, subito dopo il fine settimana, quanto tempo viene mostrato sul timer?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Ancora una volta è stato riportato un caso di perdita parziale della comunicazione tra il terminale e il server. Costruire 360. Non si ricevono quotazioni, ma si aggiornano le informazioni sul tempo e sul volume delle transazioni. C'è un cerchio rotante con settori grigi sull'indicatore di stato della connessione. Ci sono messaggi nel registro:

2010.11.29 18:03:03 Trades '630031' : affare #2107036 comprare 0.10 GBPUSD a 1.55387 fatto (basato sull'ordine #2157432)
2010.11.29 18:00:02 Transazioni '630031' : affare #2106895 comprare 0.10 GBPUSD a 1.55341 fatto (basato sull'ordine #2157265)
2010.11.29 17:07:49 Rete '630031': autorizzato su MetaQuotes-Demo
2010.11.29 17:07:47 Rete '630031': persa la connessione a MetaQuotes-Demo
2010.11.29 16:10:47 Rete '630031': il trading è stato disabilitato - modalità investitore
2010.11.29 16:10:47 Rete '630031': terminale sincronizzato con MetaQuotes Software Corp.
2010.11.29 16:10:47 Rete '630031': autorizzato su MetaQuotes-Demo
2010.11.29 16:10:45 Rete '630031': persa la connessione a MetaQuotes-Demo

Si noti che non c'è nessun messaggio "terminale sincronizzato con MetaQuotes Software Corp." dopo le 17:07:49, nello stesso momento in cui vengono segnalate nuove compravendite.

 

Rosh:
Сделайте прогоны с одинаковым количеством тиком и разным количеством сделок. Тогда можно сравнивать.


Ecco a voi.

Sistema di prova (qualunque fosse!): Windows XP SP3, Pentium 4, 3GHz, 1.25Gb di memoria

Tutte le corse sono state eseguite utilizzando Alpari-Demo, GPBUSD M1, periodo 04.10.2010-05.11.2010 (1521376 tick, 34194 barre) in modalità normale, ogni tick, deposito 10000USD (a proposito, dove hai preso il deposito di 1000000USD? La mia lista finisce con 100000), leva 1:100. Ho costruito un Expert Advisor che utilizza la peculiarità del conto Alpari-Demo - margine zero - per semplificare la sua costruzione. Per ogni tick, l'Expert Advisor apre un ordine di 0,1 lotti in una direzione, fino a raggiungere la quantità di trade specificata utilizzando il parametro, il resto dei tick vengono saltati. In questo modo, l'influenza del numero di trade è minimizzata (1 trade è stato ottenuto in tutti i test). A proposito, alla fine di ogni test abbiamo controllato il tempo approssimativo di formazione del rapporto nel formato Open XML (non ha superato la soglia di pazienza finora). I trade generati dal tester alla fine del test non sono stati presi in considerazione (un trade per run).

Così:

La prima serie di test da 10 a 100 trade con incrementi di 10 non sono interessanti a causa del piccolo tempo di test - tempo di generazione di tick da 5359 a 6453.

La serie successiva è da 100 a 1000 scambi con incrementi di 100 (il risultato per 100 è preso dalla serie precedente):

Transazioni Tempo, ms Tempo totale, ms
Tempo approssimativo di formazione del rapporto xlsx, sec. Note
100 6359 6813
5 Meno di 5 secondi
200 6172 6594
5
300 6875 7375
7
400 5734 6094
10
500 6109 6562

14

600 6281 6687
17
700 8016 8563
23
800 7281 7719
28
900 9047 9610
35
1000 8453 8812
44

Tutto sommato buono, ma il problema della generazione dei rapporti comincia a manifestarsi

 
Ashes:

Tutte le corse sono state eseguite con Alpari-Demo, GPBUSD M1, periodo 04.10.2010-05.11.2010 (1521376 tick, 34194 barre) in modalità normale, ogni tick, deposito 10000USD (a proposito, dove hai preso il deposito di 10000USD?
Non è un problema, l'importo richiesto può essere inserito manualmente.
 

La serie finale (ulteriori test su questo hardware sono troppo duri per me;) da 1000 a 10000 in passi di 1000:

È qui che i freni a cui Rosh ha fatto riferimento in modo discutibile si mostrano in tutto il loro splendore.

I mestieri Tempo, ms Tempo totale, ms
Tempo approssimativo di generazione del rapporto xlsx, sec. Note
1000 8453 8812
44

2000 26750 27266
159

3000 60782 61141
355
**
4000 125469 171391
480 Più di 480 secondi **
5000 414609 459281
Nessun dato Nessuna generazione di report per esecuzioni superiori a 4000 transazioni
6000 600610 601094
Nessun dato

7000 648234 675576
648234 675576 Nessun dato

**
8000 1082437 1082796
1082437 1082796 Nessun dato

9000 1465203 1508359
Nessun dato

10000 1988031 2012500
Nessun dato

Per parafrasare Rosh, come potete vedere dal diagramma, la dipendenza del tempo di test dal numero di RATE NON è strettamente lineare. Piuttosto, non è affatto lineare.

Il risultato a 5000 e 6000 è probabilmente un po' sopravvalutato, ma una tendenza può essere vista.

Voglio ricordarvi che questo risultato è stato ottenuto utilizzando il più semplice Expert Advisor che praticamente non spende tempo in nessuna analisi e non utilizza indicatori; cioè, i risultati sarebbero ancora peggiori in un EA funzionante.

Per il confronto:

L'esecuzione di questo test con 10000 scambi su una macchina Windows 7, Intel Pentium Dual-Core E5400 @ 2.70 GHz, 2038 MB (PR111) ha richiesto 472866ms.

Alla luce di quanto sopra, c'è una certa probabilità che alcuni dei candidati per il Campionato 2010 potrebbero essere stati ingiustamente squalificati a causa della barriera dei 15 minuti e delle peculiarità del tester (se ci fossero molti accordi).

** - diverse volte alla fine del tester, il grafico del simbolo che mostra gli scambi non veniva visualizzato.

 

Interesting:
Это не проблема, нужная сумма может быть вбита руками.

Grazie, non lo sapevo.