Aiutami a imparare a programmare. - pagina 7

 
Aleksei Stepanenko:

Che mucchio di stronzate...

Sì, la chiamata al ciclo di Dmitry non è la più elegante, ma ha scritto un codice interessante per ottenere il numero della settimana dalla data. Quando la uso, la penso sempre con una parola gentile.

Ma, Dimitri, devi essere più educato con la gente, più gentile.

Sono educato con le persone.

 

Il codice di Dmitri non è sopravvissuto, ma ecco una rielaborazione basata su di esso:

//получаем номер недели в году
int GetWeekNumber(datetime eTime)
   {
   MqlDateTime eDate;
   //получаем дату начала года
   TimeToStruct(eTime,eDate);
   eDate.mon=1;
   eDate.day=1;
   eDate.hour=0;
   eDate.min=0;
   eDate.sec=0;
   datetime StartTime=StructToTime(eDate);
   //возвращаем дату назад в структуру, чтобы определить день недели начала года
   TimeToStruct(StartTime,eDate);
   return(int((eTime-StartTime+86400*eDate.day_of_week)/604800));
   }
 
Dmitry Fedoseev:

Sono educato con le persone.

Perché tanta aggressività, Dimitri?

Ho semplicemente chiesto come utilizzare correttamente PositionsTotal() nel ciclo. E non tu personalmente, ma in generale. E tu sei scattato. Cosa c'è che non va, Dimitri?

Spero di non essere stato io a riferirmi al suo commento sulla disumanizzazione dei suoi interlocutori?

 
Aleksei Stepanenko:

Il codice di Dmitri non è sopravvissuto, ma ecco una rielaborazione basata su di esso:

Oh b(a)ogies! È una magnifica creazione di una mente geniale! Incredibile! Grazie per aver condiviso. Io devo ancora crescere e arrivare a queste altezze colossali! È come un trucco da hacker. È incredibile. Non capisco cosa c'è scritto. È un codice perfetto. Peccato che l'hai cambiato un po', non brilla come potrebbe.

 
Nikolay Mitrofanov:

Oh b(a)ogs! Questa è una magnifica creazione di una mente geniale!

Che fuorilegge!

 
Dmitry Fedoseev:

Quello che è anche molto divertente è che ancora una volta tutti si eccitano - oh che codice sbagliato ho scritto per un principiante... e tutti mi stanno addosso per questo... Incredibile!

Questo non è mai successo. Nessuno ha criticato il codice. È tutta una questione di preferenze e di punti di vista sul ciclo.

E al momento con PositionsTotal(), è già sorta una controversia a riguardo.

Vi è sembrato di essere attaccati per il codice. Ma la realtà è che non frega niente a nessuno.

Non ci sono molte varianti di ciò che dovrebbe essere giusto e che funzionerebbe allo stesso tempo. È una questione di scelta.


E ora, con il mio meraviglioso Expert Advisor, che ti mostra quale approccio ai loop (su tre usati frequentemente) scegliere, tutto il bisogno di discutere sui loop annunciati scompare del tutto) Non è una grande notizia, Dmitry?

Rallegriamoci insieme del nostro successo comune! Abbiamo risolto insieme una lunga e secolare controversia del forum MQL! Finalmente! Lunga vita a tutti i programmatori e simpatizzanti!

 
Tio Nisla:
Volevo aggiungere prima che se la funzione somefunc() fa qualche altra manipolazione oltre a restituire una certa quantità, calcola parametri commerciali, per esempio, tale uso porta ad artefatti difficili da catturare e può portare un autore di codice in un torpore: "Ht??? Come mai 4 volte? O_o F$#@!!! Non dovrebbe essere lì tre volte? Perché la mia EA mi sta mentendo?". Questo è quello che ho chiamato "shithcod", che un esperto era indignato fino alle radici dei suoi capelli. Non l'ho tirato fuori io, perché è ovvio, ma tu l'hai fatto per me. Ma non hai tenuto conto che l'indirizzamento tramite un indice calcolato dinamicamente senza reinizializzazione dell'array è un'altra cosa. In sys nudo questo di solito porta a GPF, in plus con puntatori intelligenti e array a un'eccezione e al suo gestore. In mql non è chiaro a cosa porti.

Non ci dovrebbero essere tre volte, ma una sola.

Puoi disegnare come renderlo tale?

 
Dmitry Fedoseev:

Sono educato con le persone.

Dimitri, questo è uno specialista di altissimo livello.

 
Nikolay Mitrofanov:

Sto scrivendo sulla comprensione durante lo sviluppo. Prima lo studio - poi l'azione.

Al contrario, tu scrivi: prima l'azione, poi il pensiero e la pettinatura.

Sembra essere la stessa cosa. Ma allora perché scrivono esempi di codice e documentazione?) È perché la gente faccia meno danni? Penso che questa sia esattamente la ragione. Cosa ne pensate?

Imparare mentre si sviluppa? In realtà, stiamo parlando dei primi passi nella programmazione. È quando si scrive il primo EA che è meglio ottenere prima i risultati, e poi capire la bellezza e la brevità del codice più tardi.

Ora lascio questa finestra di dialogo. È tutto inutile.

 
Aleksei Stepanenko:

Il codice di Dmitri non è sopravvissuto, ma ecco una rielaborazione basata su di esso:

Penso che dovrebbe essere più semplice, come questo

return ((int)(day_of_year/7))

Il numero di sequenza del giorno dell'anno è nella strutturaMqlDateTime

Motivazione: