Domande da un "manichino" - pagina 188

 
Karlson:
Non ho ancora provato, ma capisco l'idea di mettere tutto insieme in un file, quindi forse gli sviluppatori possono indicare un'opzione - comecollegare i dati invariati da una cartella.
E tu vai dritto al CD con questo suggerimento: collegare dati immutabili da una cartella.
 

Buon pomeriggio!

Ecco una funzione che ho scritto. Calcola il rapporto tra il tasso di cambio attuale e il tasso all'inizio del 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Funziona correttamente se eseguo un test per il 2011 o periodi precedenti, ma restituisce 0 se faccio un test per il 2012 :(

Si prega di consigliare quale può essere il problema.

Expert Advisor è in esecuzione su 10 minuti, sto usando il server e l'account di Championship 2012 per il test.

 
MegaVoin:

Buon pomeriggio!

Ecco una funzione che ho scritto. Calcola il rapporto tra il tasso di cambio attuale e il tasso all'inizio del 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Funziona correttamente se eseguo un test per il 2011 o periodi precedenti, ma restituisce 0 se faccio un test per il 2012 :(

Si prega di consigliare quale può essere il problema.

Expert Advisor è in esecuzione su 10 minuti, sto usando il server e l'account di Championship 2012 per il test.

Metti una stampa dell'errore - vedremo.
 
Yedelkin:
Sì, non so quale sia la logica del programma, ma il periodo di 10 minuti è indicato in modo un po' diverso.

Tutto il resto funziona su 10 minuti, come questo:

CopyHigh(_Symbol, _Period, 0, 2, MaxVal ) 

Solo questa funzione cerca di prendere i dati del mese.

E come stampare l'errore? Ho capito che CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) restituisce -1 invece di 1.

 
MegaVoin:

E come stampare un errore? Capisco che CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) restituisce -1 invece di 1. Ma perché questo accade, è possibile emettere un errore?

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 
   double OtkrVal[1]; 
   datetime time=D'2010.01.01 00:00:00';
   ResetLastError();
   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) 
     {
      Print("error = ",_LastError);
      return(0);
     }
   return(Bid / OtkrVal[0]);
}
 
Yedelkin:
Metti una stampa dell'errore - vediamo.

errore = 4401

Non riesco a trovare nessuna decodificadei codici di errore in Metatrader...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 
MegaVoin:

errore = 4401

Non riesco a trovare nessuna decodificadei codici di errore in Metatrader...

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
MegaVoin: errore = 4401

OK, "Storia richiesta non trovata". Cioè gennaio 2010 non si trova nel 2012, giusto?

E sul conto demo (non nel tester) cosa mostra?

 
Yedelkin:

OK, "Storia richiesta non trovata". Cioè gennaio 2010 non si trova nel 2012, giusto?

E sul conto demo (non nel tester) cosa mostra?

Uh-huh, non viene rilevato.

Ho creato un nuovo conto demo (non quello del campionato). I lotti superiori a 5 sono ora saltati se faccio il test per il 2011, ma c'è lo stesso errore per il 2012.

Immagino di dover impostare da qualche parte quanta storia è accessibile prima del periodo di prova. E per default deve essere di 2 anni... Solo dove è configurato...

 
MegaVoin: Ha creato un nuovo conto demo (non un conto di campionato). I lotti superiori a 5 sono ora saltati se i test per il 2011, ma ancora lo stesso errore per il 2012.

Quindi questo errore si verifica anche su un conto demo(non nel tester)?

MegaVoin : Immagino di dover impostare da qualche parte quanta storia è disponibile prima del periodo di prova. L'impostazione predefinita è probabilmente 2 anni... Solo dove è impostato...

Preferirei leggere la storia per i test nella sezione "Test delle strategie di trading".