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

 
Nauris Zukas:

Di nuovo, cosa c'entra questo?

Semplicemente perché non so cosa vuoi ottenere. Mi stai mostrando delle foto. Non mi piacciono i fumetti - non è il nostro genere - è americano. Sono quelli che riescono a dare un senso a uno Spider-Man su una corda a testa in giù. Qui bisogna dirlo in russo.

 
Artyom Trishkin:

Significa che l'architettura del vostro programma è sbagliata fin dall'inizio, dato che avete questi problemi quando fate delle modifiche.


Non sono i problemi, è lo sforzo che comporta.

Come si può giudicare ciò che non si conosce...

 
Aleksey Vyazmikin:

Non sono i problemi, è il carico di lavoro.

Come si può giudicare ciò che non si conosce...

Lo dice l'esperienza. In questo momento sei troppo pigro per lavorare sul mantenere le cose semplici - quindi da qui in poi sarà solo più difficile ;)

 
Artyom Trishkin:

L'esperienza me lo dice. In questo momento sei troppo pigro per lavorare a renderlo facile - quindi diventerà solo più difficile ;)


Sono contento di quello che ho! Cosa c'entra questo con la pigrizia e lo sforzo? Ho 17k linee di codice EA, senza contare una dozzina di classi...

 
Artyom Trishkin:

Le tue foto sono là fuori da qualche parte... Perché qualcuno che ha deciso di aiutarvi dovrebbe correre lì? Se non vuoi rendere le cose facili alla persona che ti aiuta e a te stesso, continua a far saltare le persone attraverso le pagine alla ricerca dei tuoi post che solo tu vuoi.

Cosa hai cerchiato lì? Una foto? Pensi che tutti abbiano una mentalità da clip-comic al giorno d'oggi? Ti è difficile scrivere semplicemente a parole quello che stai facendo e quello che vuoi ottenere come risultato?

L'ho già descritto a parole e ho aggiunto un'immagine per una facile comprensione.
Coloro che decidono di aiutare vedranno sempre di cosa si tratta e non lasceranno solo un commento per una disiscrizione. Non è la prima volta che ti incontro, Artyom Trishkin.

 
Nauris Zukas:

L'ho già descritto a parole e ho aggiunto un'immagine per renderlo più facile da capire.
Chiunque decida di aiutare vedrà sempre di cosa si tratta e non si limiterà a lasciare un commento per annullare l'iscrizione. Non è la prima volta che ti incontro, Artyom Trishkin.

Come desidera. Volevo aiutare.
 
Aleksey Vyazmikin:

Sono contento di quello che ho! Cosa c'entra questo con la pigrizia e lo sforzo? Ho 17k linee di codice EA, senza contare una dozzina di classi...

Quindi vedete, cambiamenti molto piccoli richiedono molto sforzo. Quindi non è ottimale fin dall'inizio. Il punto non è il numero di linee di codice, ma fare cambiamenti in esso in un modo molto economico.
Io, per esempio, ho un programma di 50k linee o più, che non richiede una quantità enorme di lavoro per apportare modifiche. Dovete solo specificare le condizioni giuste nel metodo della classe richiesta.
 
Artyom Trishkin:
Quindi vedete, cambiamenti molto piccoli richiedono molti sforzi. Quindi non è ottimale fin dall'inizio. Non si tratta del numero di linee di codice, ma di fare cambiamenti in modo facile ed economico.
Io, per esempio, ho un programma di 50k o più linee che non richiede una quantità enorme di lavoro per fare delle modifiche. È sufficiente specificare le condizioni giuste nel metodo della classe giusta.

Mi sembra che la nostra conversazione non riguardi nulla.

Sto dicendo che è conveniente avere solo una funzione all'inizializzazione per implementare il compito più richiesto - nascondere gli indicatori quando si vende l'EA.

E tu continui a cercare di spiegarmi che il mio codice è cattivo quando non l'hai visto nemmeno una volta. Certo, non è perfetto, ma non è così primitivo come quello dell'Aiuto.

 
Aleksey Vyazmikin:

Mi sembra che la nostra conversazione non riguardi nulla.

Sto dicendo che è conveniente avere solo una funzione all'inizializzazione per implementare il compito più richiesto - nascondere gli indicatori quando si vende un Expert Advisor.

E tu continui a cercare di spiegarmi che il mio codice è cattivo quando non l'hai visto nemmeno una volta. Certo, non è perfetto, ma non è così primitivo come quello dell'Aiuto.

Fate un oggetto indicatore. Nel costruttore della classe si imposta la visibilità dell'indicatore dopo il test. Si passa la sua visibilità al metodo che crea il nuovo indicatore. E non c'è bisogno di correre attraverso 17 linee di codice ;)
Questo è quanto, senza vederlo a prima vista, ma dalle vostre spiegazioni, avendo un'idea.
 

Come aggiungere una funzione First/Previous a un indicatore già pronto. Cioè, modificarlo.

Tutti dicono che è

int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{

Dovresti sostituirlo con

int OnCalculate (const int rates_total,
const int prev_calculated,
const int begin,
const double &price[])
{

Ma tutto questo non dà risultati. Questo potrebbe aiutare nella scrittura piuttosto che nell'editing.

Per favore, ditemi come scrivere questa funzione, se potete in modo più dettagliato.
Motivazione: