Campionato di trading automatizzato 2007: errori comuni negli esperti - pagina 10

 
Sto usando un EA multicurrency looped. Nel tester non è testato affatto perché non reagisce ai nuovi tick. Tutto il resto, spero, è a posto. L'EA non sarà rifiutato a causa dell'impossibilità di eseguire il test?
 
Alexz:
Sto usando un EA multicurrency looped. Nel tester non è testato affatto perché non reagisce a nuovi tick. Tutto il resto, spero, è OK. L'EA non sarà rifiutato a causa dell'impossibilità di eseguire il test?
int start()
{
    while ( !IsStopped() )
    {
        RefreshRates();
 
                // код эксперта
 
        if ( IsTesting() ) break;
        Sleep(500);
    }
    return(0);
}
 

Grazie, Andrei!

Aggiunto un singolo controllo di prova fuori dal ciclo principale.

 
Alexz:

Aggiunto un singolo controllo di prova fuori dal ciclo principale.

Sbagliato. In questo modo expert non funzionerà affatto (?), ma nella mia variante - funzionerà come nella realtà, ma in esecuzione ogni tick.
 
komposter:
Alexz:

Ho aggiunto un singolo controllo per testare al di fuori del ciclo principale.

Sbagliato. Quindi EA non funzionerà affatto (?), ma nella mia variante funzionerà come nella vita reale, ma in esecuzione ogni tick.


Giusto - non lo farà :)

Ma ho bisogno che non provi nemmeno a testare, perché non ci saranno comunque accordi.

Grazie ancora per il pensiero.

 
Renat:

Mi chiedo se sarebbe un errore se un EA non gestisse le riquotazioni? E un'EA può essere rimossa dal campionato per questo motivo?

È difficile rilevare questo problema né nello Strategy Tester, né in modalità demo e nemmeno in microreal-time. Almeno non si è verificato almeno una volta durante un mese di test. Tuttavia, sembra che gli organizzatori abbiano deciso di nutrirci con requotes in questo campionato. Lo giudico come un Expert Advisor che ha cercato di chiudere un ordine su un mercato generalmente calmo ma ha ottenuto delle requote. E questo nonostante il fatto che RefreshRates() preceda immediatamente OrderClose(). Bene, l'errore 138 viene ricevuto e l'ordine continua a funzionare. Certo, la logica è rotta, ma non è troppo male.

Signori dei concorrenti, le vostre creature sono pronte a combattere le requote?

 
Valmars писал (а): Signori concorrenti, le vostre creature sono pronte ad affrontare le requote?

Se lo slippage = 10, penso che le riquotazioni saranno rare.
 
No, non lo è, RacerATC. I requotes hanno piuttosto poco a che fare con lo slittamento. Non so nemmeno quale. Valmars ha ragione: bisogna fare un mucchio di controlli paranoici e cicli appropriati per far funzionare l'EA come previsto. Ma anche nel codice sorgente di Expert Advisor incluso nel pacchetto standard e in Code Base non ho ancora visto alcun controllo normale.
 
RacerATC:
Valmars ha scritto (a): Signori concorrenti, le vostre creature sono pronte a combattere con lo slippage?

Se lo slippage = 10, penso che le riquotazioni saranno rare.

È qui che ti sbagli, ho slippage = 5, e guarda l'estratto del registro:

2007.09.25 01:00:24    '452209': requote 232.38 / 232.45 for order #4848040 buy 0.50 GBPJPY closing at 232.37
2007.09.25 01:00:24    '452209': request was accepted by server
2007.09.25 01:00:23    '452209': close order #4848040 buy 0.50 GBPJPY at 232.96 sl: 230.96 tp: 236.96 at price 232.37

Un punto sopra il prezzo di chiusura richiesto.

 
Usiamo solo ordini pendenti e non abbiamo problemi con le requote (non uso ordini diretti da tre anni, compresi gli ordini di chiusura)