Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 966

 
kopeyka2:


Meglio ancora, dichiarate chiaramente cosa volete ottenere. Probabilmente vi mostrerò un esempio completo.

 
jdjahfkahjf:

Cosa significa questo?


Leggete l'Aiuto: Modalità di ottimizzazione.

 

Puoi dirmelo per favore. Come viene reinizializzato un Expert Advisor (per esempio, quando si esegue ChartSetSymbolPeriod() )?

È corretto capire che la reinizializzazione in realtà riguarda solo le variabili locali nelle funzioni.

E quali sono le regole per le variabili globali?

Secondo la mia osservazione, le variabili globali ereditano i loro valori dopo il passaggio OnDeinit - OnInit.

Dovrebbe essere così?

 
User_mt5:

Puoi dirmelo per favore. Come viene reinizializzato un Expert Advisor (per esempio, quando si esegue ChartSetSymbolPeriod() )?

È corretto capire che la reinizializzazione in realtà riguarda solo le variabili locali nelle funzioni.

E quali sono le regole per le variabili globali?

Secondo la mia osservazione, le variabili globali ereditano i loro valori dopo il passaggio OnDeinit - OnInit.

Dovrebbe essere così?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

Grazie.

Il problema con questo mql è che è intuitivamente imprevedibile:

- non sulla distinzione globale-locale

- né in materia di differenze tra indicatori ed esperti.

(l'ultima copia della corrispondenza con SD è stata anche molto utile nella discussione di cui sopra al link, grazie)

 
Qualcuno può dirmi come esporre programmaticamente le finestre nel terminale? (larghezza, altezza e scatto)
 
User_mt5:
Qualcuno può dirmi come impostare programmaticamente le finestre nel terminale? (Larghezza, altezza e posizionamento).

Scollegate la finestra dal terminale e poi provate (personalmente non ho ancora provato a impostare queste proprietà):

MQL5: Aggiunte nuove proprietà per legare/togliere i grafici da/verso la finestra principale del terminale e controllare la loro posizione.

Aggiunte nuove proprietà nell'enumerazioneENUM_CHART_PROPERTY_INTEGER:

  • CHART_IS_DOCKED - la finestra del grafico è fissa. Se impostato su false, il grafico può essere trascinato fuori dal terminale.
  • CHART_FLOAT_LEFT - coordinata sinistra del grafico staccato rispetto allo schermo virtuale.
  • CHART_FLOAT_TOP - coordinata superiore del grafico rispetto allo schermo virtuale.
  • CHART_FLOAT_RIGHT - coordinata destra del grafico staccato rispetto allo schermo virtuale.
  • CHART_FLOAT_BOTTOM - coordinata inferiore del grafico staccato rispetto allo schermo virtuale.


Aggiuntoall' enumerazioneENUM_TERMINAL_INFO_INTEGER:

  • TERMINAL_SCREEN_LEFT - coordinata sinistra dello schermo virtuale. Lo schermo virtuale è un rettangolo che copre tutti i monitor. Se ci sono due monitor nel sistema e il loro ordine è impostato da destra a sinistra, la coordinata sinistra dello schermo virtuale può essere al limite dei due monitor.
  • TERMINAL_SCREEN_TOP - coordinata superiore dello schermo virtuale.
  • TERMINAL_SCREEN_WIDTH - larghezza del terminale.
  • TERMINAL_SCREEN_HEIGHT - altezza del terminale.
  • TERMINAL_LEFT - coordinata sinistra del terminale rispetto allo schermo virtuale.
  • TERMINAL_TOP - coordinata superiore del terminale rispetto allo schermo virtuale.
  • TERMINAL_RIGHT - coordinata destra del terminale rispetto allo schermo virtuale.
  • TERMINAL_BOTTOM - coordinata inferiore del terminale rispetto allo schermo virtuale.
 
Vladimir Karputov:

Scollegate la finestra dal terminale e poi provate (non ho ancora impostato personalmente queste proprietà):

Grazie.

L'ho provato. Funziona così così (in particolare, la finestra è minimizzata, quando si minimizza il terminale, scompare, ma quando si dispiega lo schermo, quello precedentemente minimizzato si apre alle sue dimensioni, ogni volta è necessario minimizzarlo di nuovo, quindi non incombe).

Ma non è così. Non ho bisogno di staccare i grafici, ho solo bisogno di tassellarli, per esempio, o qualsiasi altra cosa che ritengo opportuna. Non sembra esserci una cosa simile in MT5...

(l'idea generale è che in multicurrency Expert Advisor ho bisogno di visualizzare gli scambi per simboli predefiniti;
c'è un pulsante che apre tutti i grafici su cui sono aperti ordini e posizioni;
ma le finestre si aprono di dimensioni incontrollabili e devo sistemarle manualmente sullo schermo;
e io, pigro, vorrei che il mio programma intellettualmente irraggiungibile lo facesse :)

 
User_mt5:

Grazie.

L'ho provato. Funziona così così (in particolare, la finestra è minimizzata, scompare quando si minimizza il terminale, ma quando si apre lo schermo quella precedentemente minimizzata si apre alla sua dimensione, ogni volta bisogna minimizzare di nuovo per non incombere).

Ma non è così. Non ho bisogno di staccare i grafici, ho solo bisogno di tassellarli o qualcos'altro come mi pare. Non sembra esserci una cosa del genere in MT5.

(l'idea generale è che in un Expert Advisor multivaluta uno ha bisogno di visualizzare gli scambi per simboli predefiniti;
c'è un pulsante che apre tutti i grafici con ordini e posizioni aperte;
ma le finestre si aprono incontrollabilmente grandi e devo sistemarle manualmente sullo schermo;
e io, essendo pigro, vorrei che il mio programma intellettualmente irraggiungibile lo facesse :)

Che ne dite di usare WinAPI? In particolare, MQL5 ha introdotto il supporto per

MQL5: il supporto per le funzioni WinAPI è stato aggiunto alla libreria standard. Ora, per usare le funzioni del sistema operativo nei programmi MQL5, non è necessario importare manualmente le librerie e descrivere le firme delle funzioni. Il file header dalla directory MQL5\Include\WinAPI è sufficiente.

Le funzioni WinAPI sono raggruppate in file separati secondo il loro scopo:

  • libloaderapi.mqh - gestione delle risorse
  • memoryapi.mqh - gestione della memoria
  • processenv.mqh - gestione dell'ambiente
  • processthreadsapi.mqh - lavora con i processi
  • securitybaseapi.mqh - funzionamento con il sistema di sicurezza del sistema operativo
  • sysinfoapi.mqh - ottenere informazioni sul sistema
  • winbase.mqh - funzioni generali
  • windef.mqh - costanti, strutture ed enumerazioni.
  • wingdi.mqh - operazione con oggetti grafici
  • winnt.mqh - gestione delle eccezioni
  • winreg.mqh - manipolazione del registro
  • winuser.mqh - controllo di finestre e interfacce
  • errhandlingapi.mqh - gestione degli errori
  • fileapi.mqh - gestione dei file
  • handleapi.mqh - lavora con le maniglie
  • winapi.mqh - connessione di tutte le funzioni (file header WinAPI)


Il binding funziona solo con l'architettura a 64 bit.

 
Vladimir Karputov:

Che ne dite di usare WinAPI?

Suppongo. Ma qui finisce la mia competenza.

Sarebbe bello se ci fosse una certezza per chi mql5 - per intelligente o per bello. Sono tutt'altro che intelligente.
Per usare l'API, ho bisogno di una descrizione e di esempi. Senza di essa la montagna d'oro delle biblioteche rimarrà inutilizzata per me.
- Non sono in grado e non guarderò attraverso migliaia di linee di codice non commentato sperando di trovare qualcosa di utile.