MT4 tester non dà informazioni da altri timeframes

 
Nel processo di apprendimento di MQL4 ho scoperto che almeno il mio tester non dà informazioni
da altri TF. Ecco il codice di controllo, può essere allegato a qualsiasi Expert Advisor. Nel mio tester
solo le indicazioni del TF stanno cambiando, mentre altre rimangono allo stesso posto.
Comment (
"\n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ", iClose(Symbol(),1,1),
"\n", " -----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5,1),
"\n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ",iClose(Symbol(),15,1),
"\n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ", iClose(Symbol(),30,1),
"\n", " -----------5------ = ",iOpen(Symbol(),60,1)," - ", iClose(Symbol(),60,1),
"\n", " -----------6------ = ", iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240,1),
"\n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440,1),
"\n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080,1),
"\n", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200,1));
Provato ciascuno su ogni TF, stessa storia - le letture cambiano solo per quel TF
su cui viene testato. Internet non chiarisce la situazione.
Si prega di consigliare, è fissato o sto chiedendo non c'è.
grazie per l'attenzione!
 
è un fatto. :(
E i valori attuali sono in piedi, cioè in tempo reale.
E quando si prova su barre formate con una nuova barra, la precedente cambia... :О)
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_style1 0
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_style2 0
#property indicator_color2 BlueViolet
#property indicator_width2 2
extern bool Test=false;
//03/04/10
//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

//---- buffers
double DMA[];string PARA;int hFile;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,DMA);
SetIndexShift(0,0);
SetIndexLabel(0,"inv");
PARA=Symbol();
if (Test) hFile=FileOpen("Dt"+Symbol()+Period()+".csv",FILE_CSV |FILE_WRITE,";");


//if (iClose(PARA,0,0)<0.00001) {Alert (PARA," - not presents...");deinit();
// return (-1);}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
if (Test) FileClose(hFile);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

//----
int counted_bars=IndicatorCounted();
int i,N;double Value;
N=Bars-counted_bars;

if(counted_bars<0) return(-1);
//---- last counted bar will be recounted

if (N==0) return(0);

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
}
for (i=N-1; i>=0; i--)
{
Value=iClose(PARA,0,i);

// Print (i,"=",Value);
DMA[i]=Value;
}

return(0);
}
//+------------------------------------------------------------------+
string StrTime(datetime IT){
return(StringConcatenate(TimeYear(IT),".",TimeMonth(IT),".",TimeDay(IT)
, "-",TimeHour(IT),"^",TimeMinute(IT),"^",TimeSeconds(IT)));
}
Come risultato, abbiamo nel tester
0
2009.2.3-10^15^0
1.2849

1
2009.2.3-10^15^0
1.2844

0
2009.2.3-10^30^0
1.2845

1 2009.2.3-10^30^0 1.2852
0 2009.2.3-10^45^0 1.2852
1 2009.2.3-10^45^0 1.2841
0 2009.2.3-11^0^0 1.2841
1 2009.2.3-11^0^0 1.2834
0 2009.2.3-11^15^0 1.2833
1 2009.2.3-11^15^0 1.2814
0 2009.2.3-11^30^0 1.2814
1 2009.2.3-11^30^0 1.2813
0 2009.2.3-11^45^0 1.2813
1 2009.2.3-11^45^0 1.2823
0 2009.2.3-12^0^0 1.2822
1 2009.2.3-12^0^0 1.281
0 2009.2.3-12^15^0 1.281
1 2009.2.3-12^15^0 1.2824
0 2009.2.3-12^30^0 1.2823
1 2009.2.3-12^30^0 1.2829
0 2009.2.3-12^45^0 1.2829
1 2009.2.3-12^45^0 1.2824
0 2009.2.3-13^0^0 1.2824
1 2009.2.3-13^0^0 1.2835
0 2009.2.3-13^15^0 1.2835
1 2009.2.3-13^15^0 1.2838
0 2009.2.3-13^30^0 1.2838
1 2009.2.3-13^30^0 1.2836
0 2009.2.3-13^45^0 1.2836
 
vladv002 писал(а) >>
Nel processo di apprendimento di MQL4 ho scoperto che almeno il mio tester non dà informazioni
da altre TF. Ecco il codice di controllo, può essere collegato a qualsiasi Expert Advisor.
Può essere appeso per qualsiasi Expert Advisor, nel mio tester solo le letture di quel TF stanno cambiando.
Commento (
"\n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ", iClose(Symbol(),1,1),
"\n", " -----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5,1),
"\n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ", iClose(Symbol(),15,1),
"\n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ", iClose(Symbol(),30,1),
"\n", " -----------5------ = ",iOpen(Symbol(),60,1)," - ", iClose(Symbol(),60,1),
"\n", " -----------6------ = ",iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240,1),
"\n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440,1),
"\n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080,1),
"\n", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200,1))
Ho provato su ogni TF, la stessa storia - le letture cambiano solo per il TF
su cui viene testato. In-network non ha chiarito la situazione.
Si prega di consigliare, è un soggetto per il trattamento o sto chiedendo non c'è.
Grazie per il vostro feedback!


Con il giusto approccio, tutto funziona bene.
 
Vinin >>:


При правильном подходе все работает нормально.


Mi scusi, potrebbe entrare più nel dettaglio?
 
vladv002 писал(а) >>


Mi scusi, potrebbe entrare più nel dettaglio?


E qual è il problema da risolvere?

 
Vinin >>:


А какую задачу нужно решить?

Ecco cosa otteniamo

1 2009.7.10-22^45^0 1.39478
0 2009.7.10-23^0^0 1.39476
--0M 2009.7.10-23^0^0 1.3488
1 2009.7.10-23^0^0 1.39476
0 2009.7.10-23^15^0 1.39475
--0M 2009.7.10-23^15^0 1.3488
1 2009.7.10-23^15^0 1.39475
0 2009.7.10-23^30^0 1.39472
--0M 2009.7.10-23^30^0 1.3488
1 2009.7.10-23^30^0 1.39409
0 2009.7.10-23^45^0 1.39409
--0M 2009.7.10-23^45^0 1.3488
1 2009.7.10-23^45^0 1.39353
0 2009.7.13-1^0^0 1.39461
--0M 2009.7.13-1^0^0 1.3488
Se nel codice precedente cambiamo il blocco di uscita in

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
FileWrite(hFile,"--0M ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,1,0));
}

 
Vinin писал(а) >>


>>Quale problema devi risolvere?


Sì, anche io sono curioso. I clienti spesso ordinano mestieri in più tempi, e tu puoi solo testarli dal vivo...
E dover aspettare settimane per il pagamento.

Illuminatemi su come far funzionare le funzioni iClose-iOpen con timeframe diversi da zero e con il timeframe da testare e far coincidere il codice del tester con quello del reale.
 
api >>:


Да, мне тоже интересно. Заказчики часто заказывают мультитаймфреймовые поделки, а тестировать можно только вживую...
И приходится ждать оплаты неделями.

Просветите, как заставить работать функции iClose-iOpen и пр. с таймфреймом отличным от нуля и от тестируемого таймфрейма. и чтобы код для тестера совпадал с кодом для реала.

E un esperto non può essere messo alla prova per principio.

Non è sufficiente che uno zass...

 
Vinin >>:


А какую задачу нужно решить?

Abbastanza semplice - disegniamo 9 quadrati in una linea sul grafico - ci ombreggeremo secondo le letture dell'indicatore
che useremo per il test - verde o rosso.
Sto cercando di capire nei dettagli cosa si muove con le zecche, ma c'è una trappola.
Ci sono alcune informazioni su Internet, ma non su https://www.mql5.com/ru/articles/1385. C'è molta acqua in altri articoli ma
non è lo stesso. Ho provato a sostituire le variabili e metterle in un array, ma il risultato è zero, o meglio
Il risultato è zero, o per essere più precisi, non c'è nessun risultato perché non ci sono dati.
Per valutare correttamente la situazione, figuriamoci per scrivere un programma, ho bisogno di sapere esattamente
Ora si scopre che una cosa è reale e l'altra è sbagliata nel tester.
Rimane da testare sulla demo in ON-Line - non ho ancora controllato!
Ieri ho notato qualcosa di sbagliato.

 

Il tester vede solo le ultime 1000 barre all'inizio del test. Se impostate un Expert Advisor su M1, non vedrete più di 1000 minuti fa (al momento dell'inizio del test).

Risolvo questo problema impostando la data di inizio del tester molto prima, e prescrivendo la data richiesta nell'Expert Advisor stesso.

 
sak120 >>:

Тестер видит только 1000 последних баров в начале тестирования. Если поставил эксперт на M1, то дальше 1000 минут назад не увидишь (в момент старта тестирования).

Решаю эту проблему постановкой даты старта тестера намного раньше, а в самом эксперте прописываю нужную дату.

È stato affermato che i dati dei minuti sono utilizzati per generare i tick.

Ma il valore del minuto stesso, come si vede nel mio esempio - il valore attuale - non ha niente a che fare con la storia dei minuti.

E dove hai preso l'informazione sui 1000 bar?

Forse hai configurato le proprietà della cronologia in questo modo?

Ma non è così nel mio caso...

----

È un fatto che non ci sono più di 100 barre di dati prima dell'inizio del periodo di prova.

Anche questo è un fatto. :(

Motivazione: