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

 
novichok2018:

Ciao!

Ho trovato sul forum una funzioneche calcola quanti punti è passato un prezzo per un certo numero di secondi int ItemsPerSecond(const int seconds,MqlTick&tick). L'ho messa nel codice e l'ho compilata - tutto è OK, ma quando provo a chiamarla, il compilatore genera un conteggio dei parametri sbagliato.

Cosa sto facendo di sbagliato?

Non è vero:

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
novichok2018:

Che cosa è successo?

Dormono tutti o si sono estinti?

Ridendo :)

 
Artyom Trishkin:

Tu non leggi:

Igor Makanu:scrivere risposte a domande assurde è pigro

Signori "ragazzi intelligenti"!

Continui a dimenticare in quale thread del forum ti trovi. Posso ricordare: il ramo si chiama"Tutte le domandedei neofiti...". E se pensi di poter aiutare i neofiti (non sei qui per metterti in mostra, vero?), allora non c'è bisogno di rispondere in modo schizzinoso a domande che ti sembrano sciocche e assurde, e che sono difficili da capire per un neofita senza il tuo aiuto.

È inutile - anche se leggo "function call" in Language Fundamentals venti volte, non capisco ancora quali parametri devono essere inseriti in questo caso particolare.

Quindi, forse qualcuno si eleverà al di sopra della schizzinosità e mi darà qualche consiglio specifico?

Grazie.

 
novichok2018:

Signori "persone intelligenti"!

Continui a dimenticare in quale thread del forum ti trovi. Posso ricordarti: il thread si chiama"Tutte le domande dei neofiti...". E se pensi di poter aiutare i neofiti (non sei qui per metterti in mostra, vero?), allora non c'è bisogno di rispondere in modo schizzinoso a domande che ti sembrano sciocche e assurde, e che sono difficili da capire per un neofita senza il tuo aiuto.

È inutile - anche se leggo "function call" in Language Fundamentals venti volte, non capisco ancora quali parametri devono essere inseriti in questo caso particolare.

Quindi, forse qualcuno si eleverà al di sopra della schizzinosità e mi darà qualche consiglio specifico?

Grazie.

Come potrei dimenticare se questo è il mio ramo? :)

"Qualsiasi cosa" non significa che possiamo parlare della forza delle bevande... Qualsiasi, piuttosto domande "significative". E quello che stai chiedendo sono le basi di qualsiasi linguaggio di programmazione, e hai appena lasciato la gente perplessa con la tua domanda - dovrei iniziare a insegnarti le basi? Ma questo va oltre lo scopo di questo thread e del forum stesso.

Ti ho dato un link per aiutarti - tu storci il naso. Di conseguenza, con questo atteggiamento verso coloro che ti mostrano la strada che porta alla conoscenza, piuttosto che "solo per fare tutto per te", scuoterai a lungo la gente dicendo "perché sei silenzioso, nessuno sa o cosa?

L'Aiuto è tutto sulle funzioni e i loro parametri formali. E, scusate, ci sono tonnellate di esempi in CodeBase. Aprite qualsiasi codice e cercate la definizione di qualsiasi funzione che abbia parametri formali e vedete come viene chiamata...

Beh, è facile - basta non essere pigri e non aspettare la manna dal cielo, e almeno mescolare la propria materia grigia.

Non mi sono diplomato all'accademia... Sono uscito dall'esercito e mi sono interessato a scrivere programmi per XZ Spectrum. In BASIC... e sono arrivato al punto in cui scrivevo programmi in assembler, e poi sono andato avanti.

E non c'erano forum, e dividevamo internet tra noi tre (uno oggi, l'altro domani, e io dopodomani). E Internet era costoso, e anche tramite un modem su cavi telefonici.
Ho comprato libri di programmazione in un mercato delle pulci radiofonico. Ora mio fratello, che si è laureato in programmazione, mi chiede consigli su come e cosa fare.
Ma volevo imparare, ero appassionato. E tu? E tu, secondo me, hai bisogno di qualcuno che faccia tutto per te.

 
Artyom Trishkin:

Non mi sono laureato nel mondo accademico... Sono uscito dall'esercito e mi sono interessato a scrivere programmi per XZ Spectrum. In BASIC... e sono arrivato al punto in cui scrivevo programmi in assembler, e poi sono andato avanti.

Non c'erano forum e abbiamo condiviso Internet tra noi tre (uno oggi, l'altro domani e io dopodomani). E Internet era costoso, e anche tramite un modem su cavi telefonici.
Ho comprato libri di programmazione in un mercato delle pulci radiofonico. Ora mio fratello, che si è laureato in programmazione, mi chiede consigli su come e cosa fare.
Ma volevo imparare, ero appassionato. E tu? E tu, secondo me, hai bisogno di qualcuno che faccia tutto per te.

Complimenti a voi per la vostra persistenza e determinazione. Tutto quello che hai detto è certamente degno di rispetto, ma pretendere lo stesso da tutti gli altri è insensato. Inoltre, non tutti quelli che vogliono scrivere il proprio robot cercano di imparare il linguaggio di programmazione. Come ho detto sopra, non ho un tale obiettivo. Se hai una domanda su come fare questo o quello, cerchi una soluzione nei libri di riferimento, nei libri di testo, nei forum, senza andare troppo in profondità nell'argomento. Forse è per questo che sorgono situazioni come questa, quando cose apparentemente elementari non sono improvvisamente chiare. Naturalmente, "agitando la materia grigia" troverò comunque una soluzione. Sì, forse dopo aver scavato tra "tonnellate di esempi inCodeBase" e aver perso molto tempo. Ma diventa poco chiaro perché hai creato questo thread e perché l'hai chiamato così se invece di dichiarare aiuto ai neofiti li fai scavare a fondo nello studio della lingua. Avresti dovuto chiamarlo così - "imparare MKL4 e MKL5 insieme". Penso che nessuno voglia essere aiutato, basta spiegare cosa c'è o dare un suggerimento concreto, non un link a un libro di testo. Se una persona ha bisogno che qualcuno faccia qualcosa per lui/lei, dovrebbe dire specificamente: per favore scrivimi qualcosa e così via.

Beh, avrebbe dovuto farlo per niente. Buona fortuna per il tuo ulteriore sviluppo.

 
novichok2018:

Complimenti a te per la tua tenacia e determinazione. Tutto quello che hai detto è certamente degno di rispetto, ma penso che non abbia senso pretendere lo stesso da tutti. Inoltre, non tutti coloro che vogliono scrivere il proprio robot tendono a imparare il linguaggio di programmazione. Come ho detto sopra, non ho un tale obiettivo. Se hai una domanda su come fare questo o quello, cerchi una soluzione nei libri di riferimento, nei libri di testo, nei forum, senza andare troppo in profondità nell'argomento. Forse è per questo che sorgono situazioni come questa, quando cose apparentemente elementari non sono improvvisamente chiare. Naturalmente, "agitando la materia grigia" troverò comunque una soluzione. Sì, forse dopo aver scavato tra "tonnellate di esempi inCodeBase" e aver perso molto tempo. Ma diventa poco chiaro perché hai creato questo thread e perché l'hai chiamato così se invece di dichiarare aiuto ai neofiti li fai scavare a fondo nello studio della lingua. Avresti dovuto chiamarlo così - "imparare MKL4 e MKL5 insieme". Penso che nessuno voglia essere aiutato, basta spiegare cosa c'è o dare un suggerimento concreto, non un link a un libro di testo. Se una persona ha bisogno che qualcuno faccia qualcosa per lei, dice specificamente: per favore scrivimi così e così.

Beh, avrebbe dovuto farlo per niente. Buona fortuna per il tuo ulteriore sviluppo.

C'è molto risentimento nelle sue parole. Ma non hai nemmeno mostrato la tua funzione.
 
Artyom Trishkin:
C'è molto risentimento nelle parole. Ma non hai nemmeno mostrato la tua funzione.

Non è risentimento, è frustrazione. È passato molto tempo da quando ero bambino per essere offeso. E nessuno ha chiesto la funzione, sei diventato sarcastico.

Bene, ecco la funzione:

int ItemsPerSecond(const int seconds,MqlTick &tick)
{
//---
   static MqlTick rates[];
   datetime time_start;
   int count=0,size;
   bool insert=false;
   double price_start=0;
   long msc=0;
//---
   time_start=TimeCurrent()-seconds;
   
   for(int i=0;i<ArraySize(rates);i++)
   {
      if(rates[i].time>0 && rates[i].time<time_start)
      {
         ZeroMemory(rates[i]);
      }
      else if(!insert && rates[i].time==0)
      {
         rates[i]=tick;
         insert=true;
      }
      if(rates[i].time_msc>0 && (rates[i].time_msc<msc || msc==0))
      {
         price_start=rates[i].bid;
         msc=rates[i].time_msc;
      }
      
   }
   if(!insert)
   {
      size=ArraySize(rates);
      ArrayResize(rates,size+1,300);
      rates[size]=tick;
   }
   if(price_start>0)count=(int)((tick.bid-price_start)/Point);
   
   Comment("size: "+IntegerToString(ArraySize(rates))+"\r\n"+"count: "+IntegerToString(count));
//---
   return(count);   
} 

ed ecco come sto cercando di chiamarlo:

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

3 è tre secondi (credo).

 
novichok2018:

Ho trovato una funzione sul forum,che conta quanti punti il prezzo è passato per un certo numero di secondi int ItemsPerSecond(const int seconds,MqlTick&tick), l'ho messa nel codice, l'ho compilata - tutto va bene, ma quando provo a chiamarla, il compilatore mi dà un conteggio dei parametri sbagliato.

Cosa sto facendo di sbagliato?


novichok2018:

Ecco come sto cercando di chiamarlo:

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

leggere la guidasu https://www.mql5.com/ru/docs/basis/function ehttps://www.mql5.com/ru/docs/basis/variables/formal

Quanti parametri avete nella funzione che chiamate?

int ItemsPerSecond(const int seconds,MqlTick &tick)



novichok2018:

Inoltre, non tutti coloro che vogliono scrivere il proprio robot tendono a imparare il linguaggio di programmazione. Come ho detto sopra, non ho un tale obiettivo. Se hai una domanda su come fare questo o quello, cerchi una soluzione nei libri di riferimento, nei libri di testo, nei forum, senza andare troppo in profondità nell'argomento. Forse è per questo che sorgono situazioni come questa, quando cose apparentemente elementari non sono improvvisamente chiare. Naturalmente, "agitando la materia grigia", troverò comunque una soluzione.

Purtroppo non hai imparato la roba MQL, non si tratta nemmeno di scrivere programmi da solo, purtroppo non hai imparato nulla.... sulle dita... Hai imparato l'alfabeto inglese "Hey, B, C, D...". e ora provate a scrivere sul forum in inglese, "Horosho", vi viene detto che questa non è conoscenza dell'inglese, questo non riguarda affatto.... e tu torni ad essere offeso, qui c'è un forum, qui c'è un topic con supporto per i neofiti, e io ho letto tutto!!! e di nuovo in cerchio, ehi tu intelligente! e perché questo thread! non sono il tipo che offende!!!

 
Igor Makanu:


leggere l'aiuto https://www.mql5.com/ru/docs/basis/functione https://www.mql5.com/ru/docs/basis/variable s/formal

Quanti parametri avete nella funzione che chiamate?



Purtroppo non hai nemmeno imparato la roba MQL, non si tratta nemmeno di scrivere programmi da solo, purtroppo non hai imparato nulla.... sulle dita... Hai imparato l'alfabeto inglese "Hey, B, C, D..." e ora provate a scrivere sul forum in inglese, "Horosho", vi viene detto che questa non è conoscenza dell'inglese, questo non riguarda affatto.... e ti offendi di nuovo, qui c'è un forum, qui c'è un argomento con supporto per i nuovi arrivati, e ho letto tutto!!! e di nuovo in cerchio, ehi voi ragazzi intelligenti! e perché questo thread! non sono il tipo che offende!!!

Un sacco di lettere e nient'altro che narcisismo e umiliazione dell'interlocutore. E in quale forma deve essere inserito il secondo parametro? Ho chiesto il secondo parametro come numero, con lo stesso risultato. Perché tante "parole"? Mostra la soluzione sul mio esempio, precompilato e testato. O il suo gonfio amor proprio non lo permette?

 
novichok2018:

O il vostro gonfio amor proprio ve lo impedisce?

OK, io esercito il mio diritto di non comunicare con voi (per fortuna non potete obbligarmi a farlo), voi esercitate il diritto di scrivere sul forum, ma non di leggere il materiale offertovi per lo studio?

void OnTick()
  { 
  MqlTick t;
// судя по исходнику в t нужно скопировать тики и вызывать так:
ItemsPerSecond(3,t); 
  }

novichok2018:

Ho chiesto il secondo parametro per numero con lo stesso risultato. Perché così tante parole? Mostrami la soluzione sul mio esempio, precompilato e testato.

Ecco una chiamata corretta della funzione ItemsPerSecond() nel tuo esempio, non ho compilato, testato e non ho intenzione di eseguire il terminale - ho risposto alla tua domanda