Errori, bug, domande - pagina 2286

 
Ilyas:

Grazie per il messaggio,

Cosa dovrei farci?

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

Errori, bug, domande

A100, 2018.09.01 15:25

Errore di esecuzione: impossibile trovare 'g' in 'Test2.ex5'.

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

E se si rimuove la linea con (*) in Test1.mq5, è OK. Che effetto ha? Costruire 1881\32

Non è il solito errore di compilazione - il programma non viene eseguito (e ArrayPrint è lì solo come esempio - puoi sostituirlo con un'altra funzione adatta)

Dopo tutto, questo errore è già stato scoperto un anno fa... È stato riparato molte volte ma continuava a riapparire. Non funziona nemmeno quihttps://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

Quale cartella del Terminale via mklink dovrebbe essere messa sul RAMdisk in modo che i dati siano letti/scritti dalla memoria piuttosto che dall'SSD? Sono disposto a fornire dati su quanta accelerazione questo darà durante l'ottimizzazione.

La cartella Tester è stata spostata su unRAMDisk da 5Gb e nella directory MT5

mklink /j Tester z:\Tester


SSD ora dorme tranquillamente, l'ottimizzazione è ~1,5 volte più veloce (a occhio), gratis!

 

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

Bug, bug, domande

fxsaber, 2017.01.26 17:33

Dato che il modello dell'ottimizzatore è basato sugli agenti, cosa impedisce di implementare una singola corsa già passata attraverso un ottimizzatore che non è ancora completo?

Per esempio, l'ottimizzazione. Mancano ancora alcune ore. Ma vedo già dei risultati interessanti. Voglio vedere dei buoni risultati singoli - da eseguire nel backtester. Ma allo stesso tempo non smettere di ottimizzare (particolarmente rilevante per i GA). È possibile in questa situazione rilasciare uno degli agenti locali e inviargli una sola corsa. E poi continuare a caricare questo agente con i pacchetti di ottimizzazione.

Ora gli studi sono in stallo finché l'ottimizzatore non finisce. E questo a volte richiede molto tempo.

Rilevante, nonostante le eccellenti cache. Si prega di aprire il formato degli opt-file.

Per esempio, perché ne ho bisogno. Qui ho ordinato i risultati dell'ottimizzazione della redditività (PF)

Guardate il numero di scambi - statisticamente non significano nulla: meno di 30. Ma il loro PF è fuori scala e ci sono centinaia/migliaia di questi risultati. Allora perché c'è questa spazzatura nella tabella?

Se l'opt-format fosse aperto, allora questa spazzatura potrebbe essere automaticamente uccisa, lasciando solo interessanti risultati più o meno statisticamente significativi.

Cosa dire dell'ordinamento personalizzato per criteri multipli allo stesso tempo, ecc.


ZZY Si suppone che sia possibile non solo leggere ma anche scrivere i file opt da soli. E poi darlo in pasto al tester, come è già implementato

Utilizzando così tutti i vantaggi dell'interfaccia grafica del tester per la cache senza spazzatura. Per farlo, basta aprire l'opt-format.

 

Irisultati dell'ottimizzazione possono essere ordinati secondo vari criteri

MT5 ha già un meccanismo per specificare formule di testo per le cosiddette formule sintetiche.

Propongo di utilizzare lo stesso meccanismo delle formule di testo per impostare criteri di ordinamento arbitrari.

 
Slava:

"Tutto è già stato rubato prima di te".

All'inizio della giornata, tick completo. Poi bid e/o ask e/o flipper full, tutto il resto in incrementi se disponibile. La media è di 10 byte per tick.

Dal momento che l'accesso ai tick è strettamente sequenziale, non c'è alcun problema nell'organizzare un accesso rapido ad ogni elemento dell'array

Sì, davvero. Grande!
Ammetto che ho fatto ricerche solo sui bar. E saltò alla conclusione che fosse la stessa situazione con i tic. Mi sbagliavo.
Ma poi è strano - perché le barrette sono tenute praticamente senza imballaggio?

È facile da controllare: guardate la dimensione del file di hcc per qualsiasi anno, e poi contate il numero di barre per quell'anno con la funzione Bars. È ~42,2 byte per 1 minuto di barra. Sono meno di 60, ma chiaramente ridondanti.

 
fxsaber:

La cartella Tester è stata spostata su unRAMDisk da 5Gb e nella directory MT5


L'SSD ora dorme tranquillamente, l'ottimizzazione è ~1,5 volte (a occhio) più veloce, gratis!

Wow, che soluzione semplice e inaspettata.
Fantastico! e Bravo!

 

uno strano bug nella build 1881 del 9 luglio.

Non l'ho capito subito.

Ho minimizzato la finestra del terminale, ho impostato tutti i parametri e ho inserito un deposito di 100 dollari.

Ho aperto la finestra a schermo intero e ho premuto start. Un'ora dopo l'ottimizzazione.... Dopo un'ora ho scoperto che non c'erano 100 dollari ma 10.000 dollari.


Quando estendo il terminale a tutto schermo - il campo Deposito viene riportato ai suoi valori di default!




Lo stesso bug appare anche quando l'ottimizzazione è già in esecuzione


 
I commenti non pertinenti a questo argomento sono stati spostati in "FAQ sul servizio Segnali".
 
fxsaber:
Una grande richiesta nel tester è di chiudere per Bid/Ask, se l'ultimo conosciuto è zero.

Nel video

Strumento azionario su tick reali. Le barre sono costruite da Bid, senza dati fin, posizione BUY aperta. Si vede chiaramente che il prezzo attuale di chiusura della posizione

PositionGetDouble(POSITION_PRICE_CURRENT)

è sempre uguale a zero, nonostante il fatto che il Bid stia cambiando significativamente. Come possiamo spiegare al tester che il simbolo delle azioni dovrebbe chiudere la posizione BUY per Bid? Ora anche l'equità non è calcolata.

 
Ogni volta che faccio una corsa singola, inizia con questa voce
Core 1  MetaTester 5 forced to stop

Qual è la ragione?


Ogni singola corsa finisce con ExpertRemove.