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

 
avatara писал(а) >>

Sarebbe così gentile da correggere il codice. Basta emettere i dati corretti da M1.

Test su m15.
Grazie in anticipo!


E leggete l'articolo che Roche ha consigliato.

 
Rosh >>:
Вы что, проверяете этот код в режиме визуального тестирования? Почитайте статью Тестер в терминале MetaTrader 4: Это необходимо знать

L'ho letto e non solo questo articolo, ecco perché sono perplesso - è scritto che si può vedere qualsiasi TF in modalità test,
Ma in effetti iHigh(NULL,PERIOD_D1,0) e funzioni simili nel tester sono solo della TF corrente.
Forse qualcosa è sbagliato con il mio tester, ma sembra che io non sia l'unico, a giudicare dal feedback delle persone.
Ti sei controllato?

 
Vinin >>:


А статью прочитал, что Рош советовал.

Più di una volta.

Basta non dare consigli di questo tipo

double arr1[][6];

int init()
  {
   ArrayCopyRates(arr1,Symbol(), tf); // tf - необходимый таймфрейм
   return(0);
  }
o incantesimi - tutto conta per le mani sbagliate.
Ti ho dato il codice - aggiustalo.
Una lezione per me e per gli altri.
;)
 
vladv002 писал(а) >>

L'ho letto e non solo questo articolo, ecco perché sono perplesso - è scritto che si può vedere qualsiasi TF in modalità test,
Ma in effetti iHigh(NULL,PERIOD_D1,0) e funzioni simili nel tester sono solo della TF corrente.
Forse qualcosa è sbagliato con il mio tester, ma sembra che io non sia l'unico, a giudicare dal feedback delle persone.
Ti sei controllato?



Vedere significa ottenere valori nell'EA.
E nella modalità di test visivo, gli indicatori abbozzati ottengono valori da dati reali, non da dati simulati.
 
Vinin >>:


Видеть, значит получать значения в советнике.
А в режиме визульного тестирования наброшенные индикаторы получают значения с реальных данных, а не с моделированных.

Sì, da un programma off-line. ;)

 
avatara писал(а) >>

Sì, da un programma off-line. ;)

Da dati reali. Per la corretta visualizzazione dell'indicatore in questa modalità è necessario sovraccaricarlo. Per verificare la possibilità di ottenere dati da diversi timeframe, è sufficiente fare nell'Expert Advisor Print() dei valori richiesti, e poi guardare nei log.
 
È strano? Per me funziona benissimo. In qualsiasi modalità del tester.

//+------------------------------------------------------------------+
//|                                                     test_acr.mq4 |
//+------------------------------------------------------------------+

double arr1[][6];
double arr5[][6];
double arr15[][6];
double arr30[][6];
double arr60[][6];
double arr240[][6];
double arr1440[][6];
double arr10080[][6];
double arr43200[][6];

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
ArrayCopyRates(arr1,Symbol(), 1);   
ArrayCopyRates(arr5,Symbol(), 5);   
ArrayCopyRates(arr15,Symbol(), 15);   
ArrayCopyRates(arr30,Symbol(), 30);   
ArrayCopyRates(arr60,Symbol(), 60);   
ArrayCopyRates(arr240,Symbol(), 240);   
ArrayCopyRates(arr1440,Symbol(), 1440);   
ArrayCopyRates(arr10080,Symbol(), 10080);   
ArrayCopyRates(arr43200,Symbol(), 43200);   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
Comment (
"\n", " -----------1------ = ",arr1[0][1]," - ", arr1[0][4],
"\n", " -----------2------ = ",arr5[0][1]," - ", arr5[0][4],
"\n", " -----------3------ = ",arr15[0][1]," - ", arr15[0][4],
"\n", " -----------4------ = ",arr30[0][1]," - ", arr30[0][4],
"\n", " -----------5------ = ",arr60[0][1]," - ", arr60[0][4],
"\n", " -----------6------ = ",arr240[0][1]," - ", arr240[0][4],
"\n", " -----------7------ = ",arr1440[0][1]," - ", arr1440[0][4],
"\n", " -----------8------ = ",arr10080[0][1]," - ", arr10080[0][4],
"\n", " -----------9------ = ",arr43200[0][1]," - ", arr43200[0][4]);   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Vinin >>:

С реальных данных. Для корректного отображения индикатора в таком режиме нужна излишнее его усложнение. Для проверки возможности получения данных с разных таймфреймов достаточно сделать в советнике Print() нужных значений, а потом в логах смотреть.

Di cosa stai parlando? Stiamo parlando del tester in generale.

 
avatara писал(а) >>

Di cosa stai parlando? Stiamo parlando del tester in generale.


Sto parlando anche del tester. A quanto pare non hai letto molto bene l'articolo.
 
Ancora una volta a te e a Sych.

Puoi dirmi come scrivere un indicatore multitimeframe corretto in modo che funzioni correttamente nel tester.

I risultati dei test sarebbero gli stessi.
Per esempio puoi provare Tikovsky;)
Fallo funzionare in un tester rispettabile, per esempio...