MT4 tester non dà informazioni da altri timeframes - pagina 3

 
sak120 03.04.2010 16:52

I dati di tutti i timeframes sono modellati correttamente nel tester (in modalità simulazione su tutti i tick).

Non so come risolvere correttamente il problema. Faccio così: imposto il tempo di test molto lontano, per esempio nel 2000. Scrivo nell'Expert Advisor

extern datetime test_start=D'2010.01.01 00:00';

int start()
{
se (Time[0]<test_start) return(0);


......

}
attaccate questo induke nel vostro tester su TF!=1.
Forse sono solo io ad avere dei glitch?
In ogni modo... ma i miei minuti danno quelli attuali.
:(
File:
invert.mq4  4 kb
 
avatara >>:

Моделировать бары.

Fin qui è chiaro che per controllare inoltre di effettuare l'ottimizzazione dell'Expert Advisor in cui c'è un riferimento al (vicino)
TFs non è possibile.
Modellazione - come variante, è realistico scrivere una funzione che prende i dati degli attributi necessari in array
La funzione in cui i dati dei TF necessari sono presi e indirizzati a loro invece delle funzioni native. Ma è un sacco di confusione e dovremo riscrivere tutti i riferimenti
alle normali funzioni. Ma sembra che ci siano poche opzioni....
Forse qualcuno ha già fatto cose simili, non sono l'unico ad esserne infastidito. Forse qualcuno ha trovato tali moduli di debug,
che prenderebbe i TF in un array e poi vi farebbe riferimento con il MINIMO di rilavorazione del codice reale.

 
avatara писал(а) >>
sak120 03.04.2010 16:52
attaccate questo induke nel vostro tester su TF!=1.
Forse sono solo io ad avere dei glitch?
In ogni modo..., ma ho i minuti correnti.
:(

1. Tu hai un lavoro di file lì - nel tuo tester il lavoro di file è in una directory diversa.

2. Se ci sono solo 1000 barre all'inizio, non tutti gli indicatori sono contati correttamente al primo momento, accumulare abbastanza storia.

3. Tutti i timeframe sono generati correttamente.
 
vladv002 >>:

Пока ясно что проверить тем более провести оптимизацию эксперта в коем есть обращение к (соседним)
ТФ нет никакой возможности.
Моделировать - как вариант для частого случая реально, написать функцию в которой в массивы забрать данные
нужных ТФ и к ним обращаться а не к родным функциям. Только много возни, потом переписывать все обращения
к нормальным фукциям. Но похоже вариантов немного....
Возможно уже ктото подобное делал, не меня же одного это достает. Может кто встречал подобные отладочные модули,
где бы ТФ забирались в массив и потом к ним оьращатся с МИНИМУМОМ переделок реального кода.

è il modo migliore. E poi non devi tornare a quello a cui sei abituato.

Per esempio, siete sicuri che tutti i TF hanno il tempo di aggiornarsi all'arrivo di un nuovo tick o di un cambio di minuto che coincide con l'inizio dell'ora?

Quindi è considerato storto se non avete confrontato iTime.

E pensando che abbiano già aggiornato, vi sbagliate di grosso.

 
sak120 >>:

1. У вас там работа с файлами - в тестере работа с файлами происходит в другой директории.

2. Если есть всего 1000 баров в самом начале, то не все индикаторы считаются правильно в самый первый момент, накопите достаточно истории.

3. Все таймфремы генерируются корректно.

3 incantesimi che ho già sentito. Non ci credo. vedi il post sopra.

1-2 è una conoscenza comune. Non affrontare l'argomento.

 
avatara писал(а) >>

3 incantesimi che ho già sentito. Non ci credo. vedi il post sopra.

1-2 è una conoscenza comune. Non toccare l'argomento.



Sto contando bene.
 
avatara >>:
sak120 03.04.2010 16:52
прикрепите пожа этот индюк у себя в тестере на ТФ!=1.
Может это только у меня глюки?
Любым способом..., но минутки у меня выдает текущие.
:(


Un'idea realistica, la proverò, ho paura che anche il mio computer con 4gb di RAM sarà lento con un accesso così frequente
Ci proverò però, penso che sarà più originale se uso un array.
Grazie per la buona idea, proverò il codice che hai suggerito, ti farò sapere il risultato.

 
cioè non.
1 --0M1 2008.12.11-19^45^0 1.3488 ?
Qual è il valore? 1,3488 è l'ultima barra effettiva che ho.
Posso vedere un frammento del file?
 
vladv002 >>:

Реальная мысль, буду пробовать, боюсь что даже мой комп с 4гб оперативы будет тормозить при таком частом обращении
к файлам, хотя надо проверить, но думаю в массив будет оригинальней.
Спасибо за дельную мысль, попробую Вами предложенный код, результат сообщу.


Solo la stampa nel battitore non funziona, da qui il debugging su file.

 
prova ad usare la funzione ArrayCopyRates,
double arr1[][6];

int init()
  {
   ArrayCopyRates(arr1,Symbol(), tf); // tf - необходимый таймфрейм
   return(0);
  }

rispettivamente, invece di iClose(Symbol(),tf,0), dovreste scrivere arr1[0][4], - funziona bene e soprattutto è molto più veloce, perché non c'è copia ma solo reindirizzamento.
Motivazione: