Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1464

 

Ciao, potresti per favore dirmi come ottenere i valori di tick ask, bid?

Ho uno scambio di criptovalute integrato nel mio sistema.

Il problema è che nella panoramica del mercato e sul grafico stesso le quotazioni vengono visualizzate correttamente, ma quando vengono richieste attraverso il file :

   MqlTick last_tick;
   SymbolInfoTick(Symbol(),last_tick);
   ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   Comment(": Bid = ",bid," Ask = ",ask," tick Time ",TimeToString(last_tick.time,TIME_SECONDS),
           "\n"," Ls_bid ",last_tick.bid," Ls_ask ",last_tick.ask);

Le citazioni smettono di riflettere correttamente.


In quali altri modi posso ottenere valori?

Chiedo agli analisti, per favore non passate! Un terzo della mia vita a sviluppare un robot, il traguardo si profila all'orizzonte, ed ecco la lattina!!!

 
Mikhail, la recensione del mercato ha un tempo, la rivista ne ha un altro. È normale che sia così? Non capisco...
 
Aleksei Stepanenko:
Mikhail, la revisione del mercato ha un tempo, il registro ne ha un altro. È normale che sia così? Non capisco...

Non capisco perché!

È possibile chiedere preventivi in modo diverso?

 
pribludilsa:
(MQL5) Ciao. Potete per favore aiutarmi a raccogliere informazioni sulle posizioni aperte in un ciclo. Non riesco a mappare l'indice della posizione aperta al numero dell'elemento dell'array. Non riesco a mettere insieme il codice correttamente. Qui ho bisogno di ottenere il tipo, il volume e il prezzo, supponiamo che crei degli array in anticipo. Faccio un ciclo, scelgo una posizione per biglietto in esso, e poi come? E un'altra richiesta, sto ancora imparando senza OOP, puoi darmi un esempio senza OOP?

E l'OOP non è di alcun aiuto in questa materia. Non ci sono abbastanza informazioni per una risposta completa. Posizioni su diversi strumenti? È necessario sceglierne solo uno? Fate un contatore aggiuntivo e se la posizione è "nostra" allora aumentate la dimensione dell'array, scrivete l'ultimo elemento dell'array e aumentate il contatore alla prossima posizione "nostra".

 
Buon pomeriggio, potete dirmi se è possibile chiamare una funzione se ho solo un nome di stringa e degli argomenti. In generale, è possibile chiamare una funzione per nome?
 
Евгений Косухин:
Buon pomeriggio, potete dirmi se è possibile chiamare una funzione se ho solo un nome di stringa e degli argomenti. In generale, è possibile chiamare una funzione per nome?
Non ho ancora trovato la risposta, ma temporaneamente probabilmente scriverò solo if (name == 'iMA') { iMA(...) }
E così via, funziona
 
Ciao, potresti dirmi perché c'è un (int) prima di ChartGetInteger tra parentesi?
int bars=(int)ChartGetInteger(0,CHART_VISIBLE_BARS);
 
Dzmitry Zaitsau:
Ciao, potresti dirmi perché ChartGetInteger è preceduto da (int) tra parentesi?
int bars=(int)ChartGetInteger(0,CHART_VISIBLE_BARS);

Per convertire esplicitamente il valore nel tipo corretto.

long  ChartGetInteger(
   long  chart_id,          // идентификатор графика
   int   prop_id,           // идентификатор свойства
   int   sub_window=0       // номер подокна, если требуется
   );
La funzione restituisce il tipo long e io ho bisogno del tipo int.
 
Евгений Косухин:
Non ho ancora trovato la risposta, ma temporaneamente penso che scriverò semplicemente if (name == 'iMA') { iMA(...) }
E così via, funziona

cosa vi impedisce di chiamare subito il MA, senza il nome "MA"?

 
Alexey Viktorov:

E l'OOP non è di alcun aiuto in questa materia. Non ci sono abbastanza informazioni per una risposta completa. Posizioni su diversi strumenti? È necessario sceglierne solo uno? Fate un contatore aggiuntivo e se la posizione è "nostra" allora aumentate la dimensione dell'array, scrivete l'ultimo elemento dell'array e aumentate il contatore alla prossima posizione "nostra".

Grazie.