Miracoli con il tester.

 

Cari sviluppatori, ho un indicatore che dà un segnale di entrata e un segnale di uscita.
Avvio un robot di trading con questo indicatore. Tre corse del tester mi danno tre risultati diversi.
Sto lavorando con il tester dalla versione 3. Come se tutte le sfumature fossero prese in considerazione: l'indicatore non va in overdraw, il segnale non viene letto sulla 0a barra.

Faccio i test ai prezzi di apertura e ricontrollo in ogni modalità di tick. Di quali informazioni hai bisogno per capire perché i risultati dei test sembrano cambiare allo stesso indicatore e alle stesse impostazioni EA?

 

Il più dettagliato possibile e preferibilmente al servicedesk.

  1. Un paio di rapporti sui risultati.
  2. File di registro.
  3. Server.
  4. Quali agenti sono utilizzati
  5. Expert Advisor con l'indicatore (codice sorgente è preferibile)
  6. .
  7. Le impostazioni nel tester di strategia.
 
1CMaster:

Cari sviluppatori, ho un indicatore che dà un segnale di entrata e un segnale di uscita.
Faccio funzionare un robot di trading con questo indicatore. Tre corse del tester - tre risultati diversi.
Lavoro con il tester da molto tempo, dalla versione 3. Ho considerato tutte le sfumature: l'indicatore non va in overdraw e leggo il segnale non sulla 0a barra.

Di quali informazioni hai bisogno per capire, perché i risultati del test sembrano cambiare allo stesso indicatore e alle stesse impostazioni EA?

MT4 MT5?
 
1CMaster:

Cari sviluppatori, ho un indicatore che dà un segnale di entrata e un segnale di uscita.
Faccio funzionare un robot di trading con questo indicatore. Tre corse del tester - tre risultati diversi.
Lavoro con il tester da molto tempo, dalla versione 3. Ho considerato tutte le sfumature: l'indicatore non va in overdraw e leggo il segnale non sulla 0a barra.

Faccio dei test a prezzi aperti e li incrocio in ogni modalità di tick. Di quali informazioni hai bisogno per capire perché i risultati dei test cambiano in base allo stesso indicatore e alle stesse impostazioni EA?

A volte questi miracoli accadono se qualche variabile (in particolare l'array) risulta essere non inizializzata. // Per errore.

In questi casi, nella variabile c'è una schifezza casuale, e come risultato - come meraviglie in un tester :)

Controlla, forse una botta nel codice. Ho (whew, whew) tester non fa un miracolo ultimamente.

 
alexvd:

Il più dettagliato possibile e preferibilmente al servicedesk.

  1. Un paio di rapporti sui risultati.
  2. File di registro.
  3. Server.
  4. Quali agenti sono utilizzati
  5. Expert Advisor con l'indicatore (codice sorgente è preferibile)
  6. .
  7. Le impostazioni nel tester di strategia.

Cari sviluppatori.

Vi sto inviando tutto il codice sorgente.

Una breve istruzione:

Aprire EURUSD H1, mettere gli indicatori SS (sistema di segnali) e FB (barre fibo). Mostreranno due segnali - cerchio - segnale di vendita. Tutti i parametri sono rigidamente prescritti, non c'è niente da impostare.

2. Avvio tester per il periodo 01.01.2012 - 25.02.2012 EURUSD H1. Su un segnale di vendita, il tester dovrebbe vendere e chiudere l'affare su un segnale di chiusura.

3 Quando diversi Tester girano, mostra risultati diversi (+96.80; -156.20; -416.20; -335.20). Corretto è -335.20 - e poi visivamente coincidere segnali tester con segnali indicatore SS.

L'indicatore è scritto appositamente per controllare la correttezza del tester. Ricontrollato più volte spostando i segnali.

Quello che sta succedendo non è chiaro. Spero che tu possa chiarire la situazione. Non posso eseguire l'ottimizzazione a causa di risultati diversi.

IMPORTANTE: sto eseguendo la versione portatile di Metatrader (/portable) su un server con Windows Server 2008 R2 SP1, 2*Xeon 5640 (12 core, 24 thread).

File:
MQL5.zip  248 kb
 
Dov'è questo service-desk - devo inviare una richiesta lì?
 
1CMaster:
Dov'è questo service-desk - devo inviare una richiesta lì?
nel tuo profilo, profilo in alto a destra.
 
1CMaster:

Specificità di MT5: se il buffer dell'indicatore non è azzerato di proposito, quando si lavora attraverso iCustom(), il terminale può restituire qualsiasi spazzatura dallo stack come valore del buffer.

Quindi, appaiono segnali incomprensibili.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Specificità di MT5: se il buffer dell'indicatore non è azzerato deliberatamente, quando si lavora attraverso iCustom(), il terminale può restituire qualsiasi spazzatura dallo stack come valore del buffer.

Quindi, appaiono segnali incomprensibili.

Avete un link per l'uso corretto di iCustom() considerando queste sfumature? Sono stanco di controllare e cercare cosa c'è.
 
1CMaster:
C'è un link per l'uso corretto di iCustom() considerando queste sfumature? Perché sono stanco di controllare e cercare cosa c'è di sbagliato.

Cosa c'entra iCustom()? L'indicatore da collegare deve inizializzare il buffer (per esempio con degli zeri, se oscillatore) prima dell'uso.

Ieri ti ho accennato piuttosto precisamente all'origine del tuo sputo.

MetaDriver:

A volte questi miracoli accadono se qualche variabile (un array in particolare) risulta essere non inizializzata. // Per svista.

// O credi sacrosantamente che sia colpa del tester, allora perché solo tu?
 
https://www.mql5.com/ru/docs/array/arrayinitialize

ArrayInitialize

Inizializza un array numerico con il valore specificato.

void  ArrayInitialize(
   double  array[],     // инициализируемый массив
   double  value        // значение, которое будет установлено
   );

Parametri

array[]

[out] L'array numerico da inizializzare.

valore

[in] Nuovo valore da impostare su tutti gli elementi dell'array.

Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - Документация по MQL5
Motivazione: