Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1310

 

MqlRates tassi[];

rates[0].open> rates[0].close

Per favore, consigliate come verificare questa condizione sul timeframe corrente e su diversi altri timeframe contemporaneamente, due, tre, cinque. Come influisce sulle prestazioni dei test? Sarei felice di ricevere un link a un EA multiframe o a un indicatore MT5.

 
Николай К:

MqlRates tassi[];

rates[0].open> rates[0].close

Per favore, consigliate come verificare questa condizione sul timeframe corrente e su diversi altri timeframe contemporaneamente, due, tre, cinque. Come influisce sulle prestazioni dei test? Sarei felice di ricevere un link a un EA multiframe o a un indicatore MT5.

Array tassi_tf_**[] per ogni TF e CopyRates anche per ogni TF all'array di strutture appropriato. Come influisce sulla velocità dei test... Questa è un'altra domanda. Ma non c'è altro. O forse semplicemente non lo so...
 


IL CODICE

FileWrite(file_handle, Period());

su un timeframe di 5 minuti mostra 5

AF 15 min =15

E su TF 1h =1536

4ч = 16388

Perché?

 
Aleksei Skrypnev:


IL CODICE

su un lasso di tempo di 5 minuti mostra 5

AF 15 min =15

E su TF 1H =1536.

Perché?

Prima guardiamoPeriodo()

...Il valore può essere uno dei valoridell'enumerazioneENUM_TIMEFRAMES:

Identificatore

Descrizione

PERIODO_CORRENTE

Periodo corrente

PERIODO_M1

1 minuto

PERIODO_M2

2 minuti

PERIODO_M3

3 minuti

PERIODO_M4

4 minuti

PERIODO_M5

5 minuti

PERIODO_M6

6 minuti

PERIODO_M10

10 minuti

PERIODO_M12

12 minuti

PERIODO_M15

15 minuti

PERIODO_M20

20 minuti

PERIODO_M30

30 minuti

PERIODO_H1

1 ora

PERIODO_H2

2 ore

PERIODO_H3

3 ore

PERIODO_H4

4 ore

PERIODO_H6

6 ore

PERIODO_H8

8 ore

PERIODO_H12

12 ore

PERIODO_D1

1 giorno

PERIODO_W1

1 settimana

PERIODO_MN1

1 mese


Nota: "uno dei valori di PERIODO ...". Cioè, può essere PERIOD_H6 o PERIOD_M1 o qualsiasi valore di PERIOD. Ma la rappresentazione interna dell'enumerazione non dovrebbe interessare a nessuno. Oggi è '15' e domani può essere '15478899662'. Ma a te, come programmatore, non dovrebbe importare affatto - dovresti lavorare con i valori (PERIOD_M4, PERIOD_M15 ...), non con la rappresentazione interna.

Документация по MQL5: Проверка состояния / Period
Документация по MQL5: Проверка состояния / Period
  • www.mql5.com
Period - Проверка состояния - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Primo sguardo aPeriod()

...Il valore può essere uno dei valori dell'enumerazioneENUM_TIMEFRAMES:



Nota: "uno dei valori di PERIODO ...". Quindi può essere PERIOD_H6 o PERIOD_M1 o qualsiasi valore dell'enumerazione. Ma la rappresentazione interna dell'enumerazione non dovrebbe interessare a nessuno. Oggi è '15' e domani può essere '15478899662'. Ma tu, come programmatore, non dovresti preoccuparti di questo - devi lavorare con i valori (PERIOD_M4, PERIOD_M15 ...), non con la rappresentazione interna.

Pensavo che qualcosa di più chiaro sarebbe stato scritto nel file)

Non puoi scrivere qualcosa di più chiaro (proprio come Perod_H1) in un file in modo semplice?

 
Aleksei Skrypnev:

Pensavo che qualcosa di più chiaro sarebbe stato scritto nel file)

Non si può scrivere qualcosa di più comprensibile (proprio come Perod_H1) in un file in modo semplice, vero?

Se avete bisogno che sia molto chiaro, scrivetelo come testo'PERIOD_H1' e simili nel file.

 

Buona giornata a tutti, che problema! Stavo testando un EA su MT4, l'ho testato tutto il giorno, alla fine ho visto che la sera non c'era più memoria sul disco rigido, ho subito capito che era a causa dei test, ho deciso di ripulirlo, sono andato nella cartella MetaQuotes in Windows , e ho cancellato un sacco di cose lì, come risultato tutte le piattaforme sono state perse, sia MT4 che MT5, 10 pezzi in totale, funzionano, ma sono completamente "pulite" - nessun indicatore dal mercato, nessun EAs, niente! Avevo davvero bisogno di un consulente in un terminale mt5, non ho salvato una copia, niente più attivazioni, cosa devo fare?

Ho deciso di usare il programma per ripristinare i file cancellati, sono riuscito a ripristinare il file EA mettendolo nella cartella expert durante l'aggiornamento e il terminale non lo vede, e non posso scaricarlo dall'account Market, dice che l'installazione non è riuscita!

File:
 

Per favore, aiutatemi con un problema!

Sto appena imparando a scrivere codice, quindi per favore siate indulgenti con la mia mancanza di alfabetizzazione.

Ho bisogno di aiuto per capire la funzioneOnChartEvent, che aggiorna gli oggetti grafici nel grafico dopo un cambio di timeframe o una modifica delle impostazioni nel menu dell'indicatore. In caso di chiusura dell'indicatore cancellerò completamente tutti gli oggetti grafici di questo indicatore dal grafico.

Ho capito che bisogna prima cancellare gli oggetti grafici e poi crearli di nuovo. Mase gli oggetti sono stati cancellati, non c'è accesso alle sue proprietà e quindi come ricreare questi oggetti....... O forse non lo capisco? O forse c'è un altro modo - aggiornare gli oggetti grafici sul grafico?

Per favore, scrivi un esempio con commenti su come farlo.


 
Sprut 185:

Per favore, aiutatemi con un problema!

Sto appena imparando a scrivere codice, quindi per favore siate indulgenti con la mia mancanza di alfabetizzazione.

Ho bisogno di aiuto per capire la funzioneOnChartEvent, che aggiorna gli oggetti grafici nel grafico dopo un cambio di timeframe o una modifica delle impostazioni nel menu dell'indicatore. In caso di chiusura dell'indicatore cancellerò completamente tutti gli oggetti grafici di questo indicatore dal grafico.

Ho capito che bisogna prima cancellare gli oggetti grafici e poi crearli di nuovo. Mase gli oggetti sono stati cancellati, non c'è accesso alle sue proprietà e quindi come ricreare questi oggetti....... O forse non lo capisco? O forse c'è un altro modo - aggiornare gli oggetti grafici sul grafico?

Per favore, scrivi un esempio con commenti su come farlo.


Non consideratelo scortese, ma ci sono tutti gli esempi nella documentazione. Dovete solo fare attenzione alle funzioni ObjectSet*** che cambiano i parametri di un oggetto grafico.

Документация по MQL5: Графические объекты / ObjectSetDouble
Документация по MQL5: Графические объекты / ObjectSetDouble
  • www.mql5.com
ObjectSetDouble - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Non per essere scortese, ma la documentazione ha tutti gli esempi. Dovete solo fare attenzione alle funzioni ObjectSet*** che cambiano i parametri dell'oggetto grafico.

Grazie per la vostra partecipazione.

Purtroppo la funzione ObjectSet*** non era adatta al mio compito.

Ho risolto il problema da solo usando la funzione OnDeinit().
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll (0, -1, -1);
  }

Ora tutto funziona come dovrebbe.