Errori, bug, domande - pagina 732

 

Ecco una domanda.
In MQL4 il codice è così:

for (i=0;i<limit;i++) 
{
  t=Time[i];
}
Sarebbe corretto in MQL5:
datetime Time[];
ArraySetAsSeries(Time,true);
for (i=0;i<limit;i++) 
{
  CopyTime(_Symbol, _Period, 0, i+1, Time);   
  t=Time[i];
}

 
Vitya:

Ecco una domanda.
Il codice in MQL4 è così:

Sarebbe corretto in MQL5:

non del tutto corretto.

è auspicabile chiamare CopyTime una volta prima del ciclo

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
sergeev:

non del tutto corretto.

è auspicabile chiamare CopyTime una volta prima del ciclo

Giusto?

  datetime Time[];
  ArraySetAsSeries(Time,true);
  CopyTime(_Symbol, _Period, 0, limit, Time);   

  for (i=0;i<limit;i++) 
  {
    t=Time[i];
  }
 

C'è una variabile Volume nella finestra Dati. Per quanto ho capito significa volume di scambio (reale). Ho notato oggi, su EUR/USD M1 (Alpari), che se metti il cursore del mouse su qualsiasi barra, puoi vedere i valori del volume. Mi chiedo se qualcuno sa come vengono calcolati questi valori? Questo è il volume di trading sulla coppia solo per i clienti Alpari, o sono solo numeri casuali, o cosa... Nello screenshot qui sotto potete vedere volume = 620m.

 
Alex5757000:

C'è una variabile Volume nella finestra Dati. Per quanto ho capito significa volume di scambio (reale). Ho notato oggi, su EUR/USD M1 (Alpari), che se metti il cursore del mouse su qualsiasi barra, puoi vedere i valori del volume. Mi chiedo se qualcuno sa come vengono calcolati questi valori? Questo è il volume di trading sulla coppia solo per i clienti Alpari, o sono solo numeri casuali, o cosa... Nello screenshot qui sotto potete vedere volume = 620m.

Solo clienti Alpari. Ma i volumi interni dei grandi uffici sono altamente correlati.
 

Strano inconveniente durante l'esecuzione del programma

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx;

MqlDateTime Struc;

TimeToStruct(lTime,Struc);

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));

ritorno(Resx);

}

Conta più volte la stessa cosa per confronto, un frammento del log è mostrato qui sotto. L'errore è mostrato in rosso perché non può essere un numero negativo. Sembra che una variabile sia stata corrotta. A cosa è legato questo problema e come risolverlo? Grazie in anticipo per il vostro aiuto.

array di gamma '-FreqTime03.mq5'
Resx= -2 ResCalc= 286
Resx= 287 ResCalc= 287
Resx= 0 ResCalc= 0 0
Resx= 1 ResCalc= 1 1
Resx= 2 ResCalc= 2 2
Resx= 3 ResCalc= 3 3
Resx= 3 4 ResCalc= 4 4
Resx= 4 5 ResCalc= 5 5
Resx= 5 6 ResCalc= 6 6
Resx= 7 ResCalc= 7 7
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
 
Urain:
Solo clienti Alpari. Ma i volumi interni dei grandi uffici sono molto correlati.
Da dove vengono le informazioni? Al-pari ducas sembra avere un fornitore - forse più come i loro clienti?
 

Ci sono classi per costruire interfacce grafiche nella libreria standard, e questa è una buona cosa.

La cosa deludente è che i dialoghi sono glitchati. Si può osservare nell'esempio di prova. Se si fa doppio clic e con il secondo clic si afferra un elemento "mobile" (ad esempio la barra di scorrimento o la barra del titolo della finestra), è possibile trascinarlo in qualsiasi punto dello schermo. La seconda caratteristica frustrante è che quando una finestra di dialogo viene spostata orizzontalmente, il grafico sul grafico scorre insieme ad essa. Non è fatale, ma sgradevole, soprattutto considerando che lo scopo dello spostamento è spesso quello di guardare il grafico sotto la finestra di dialogo. La terza è il funzionamento instabile dei controlli (ad esempio le caselle di controllo) e in generale leggeri lag (che probabilmente non possono essere eliminati nell'attuale implementazione del terminale).

Ci sono anche inconvenienti architettonici (per esempio, un'architettura sintonizzata sul montaggio statico dei dialoghi (collegamento anticipato degli elementi)), ma questo è per i buongustai. In linea di principio, è sopportabile.

Ci sono anche dei vantaggi e anche delle bellezze nell'implementazione, ma parlarne in questo thread è fuori questione.

I bug sono risolvibili.

--

Mi piacerebbe anche avere nel set di strumenti standard per implementare finestre di dialogo a più pagine (CTabBox o qualcosa del genere).

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
gal:

Strano inconveniente durante l'esecuzione del programma

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx;

MqlDateTime Struc;

TimeToStruct(lTime,Struc);

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));

ritorno(Resx);

}

Conta più volte la stessa cosa per confronto, un frammento del log è mostrato qui sotto. L'errore è mostrato in rosso perché non può essere un numero negativo. Sembra che una variabile sia stata corrotta. A cosa è legato questo problema e come risolverlo? Grazie in anticipo per il vostro aiuto.

1. Si prega di incollare il codice correttamente.

2. Puoi darmi il codice sorgente completo, un esempio funzionante o il codice della funzione MarketDayCycle.

Non ci sono array in questo pezzo di codice e non c'è modo di lavorare con gli array

 

quando si installa la nuova build 642, il suono Testing Finished non funziona dopo il completamento del test EA,

è un bug o . non è un bug?