Mt4 Fine del supporto. - pagina 38

 
Galina Bobro:

Cosa c'è di strano? È un'idea stupida da spiegare a una persona che passerà altre 10-20 pagine a dimostrare il contrario. Il tuo stile di programmazione è perfetto e non può essere criticato.

Sì, criticare sul caso.
 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Mt4 Fine del supporto.

Nikolai Semko, 2017.09.12 02:02

Ho un problema con questo algoritmo, perché non funziona quando arriva una nuova barra nel timeframe corrente, e se lo si esegue in un giorno, si può aspettare tutto il giorno finché non funziona.
È colpa mia. E per quanto riguarda il "littering del codice", non esiste una cosa del genere. Possiamo spostare il ciclo di riempimento dell'array in una funzione separata, ma non è urgente in questa fase. Allora perché te la prendi con me?
 

Cercherò di essere più chiaro:

1) se il codice non funziona, è un problema dell'autore e solo dell'autore, nessuno ha colpa se non l'autore. A giudicare dai messaggi, voi stessi non siete sicuri che funzioni, cioè non verificate correttamente.

2) nomi russi - come minimo è scomodo (ok, puoi chiudere gli occhi) e potrebbe non funzionare ovunque, come in questo caso il debugger, e ancora peggio, se il sistema non è in lingua russa. Non dite che non avete bisogno del debugger finché non lo provate e scoprite cos'è.

3) Niente nel codice dovrebbe essere ripetuto - questo è un pessimo stile di programmazione. Hai intenzione di correggere ogni carattere manualmente? Cosa succede se il terminale non mostra "EURUSD", ma mostra "EURUSDf", o in generale è FORTS, o alcune azioni? Se qualcosa è scritto più di due volte - ci deve essere una funzione che fa questo.

 if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M5)
         {
          Print("M5");
         }
       //---------------------------------- 
       if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M1)
         {
          Print("M1"); }

4) Hai appena preso un pezzo enorme per tutti i TF e i simboli della recensione... Perché allocare memoria per simboli che potrebbero non essere mai richiesti? E se l'utente ha bisogno di un simbolo che non proviene dalla revisione del mercato?

5) A proposito, per quanto riguarda gli EuroBucks non ho capito - hai intenzione di digitare tutti i simboli manualmente in questo modo? Allora ecco la cattiva notizia - ci sono un sacco di simboli, e si spera che tu voglia essere un programmatore, non un "operatore di digitazione"

-----

Potete ancora scavare nel codice, la lista può essere lunga, ma dovreste almeno capirlo - già il codice sarà molto meglio.

 
Реter Konow:
Sei tu il grande esperto qui. Valutare la mia soluzione in termini di correttezza ed economia di risorse. L'hai capito. Perché non dici niente?

Il vostro approccio è fondamentalmente difettoso. E perché lo chiedi, non ti interessa.

 

Le radici vengono da qui, da questo credo:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Mt4 Fine del supporto.

Retag Konow, 2017.09.09 23:20

L'analogia è sbagliata. Questo è il mondo del commercio, e le persone che vengono qui sono per lo più avventurieri, non futuri scienziati e ingegneri. Il loro obiettivo è quello di tentare la fortuna e fare molti soldi velocemente. Naturalmente, per le persone serie come noi tutti qui insieme a voi, non è serio, - ma per loro è solo il punto dei loro sforzi.

La loro potenza cerebrale iniziale è bassa, e le contromisure di OOP chiaramente li scoraggiano dal partecipare attivamente al nostro ecosistema. Vorrebbero testare rapidamente e facilmente le loro idee, e gli viene scaricato un tale carico sulla testa che non possono fare a meno di spaventarsi e pensare: "perché ne ho bisogno...?".

Naturalmente, questa è una rappresentazione molto figurativa e caricaturale dello stato delle cose, ma il punto è sempre lo stesso.


Quindi non vuole ascoltare nessuno o sentire niente, perché... e la spiegazione è nello stesso passaggio.

 
Galina Bobro:

Cercherò di essere più chiaro:

1) se il codice non funziona, è un problema dell'autore e solo dell'autore, nessuno ha colpa se non l'autore. A giudicare dai messaggi, voi stessi non siete sicuri che funzioni, cioè non verificate correttamente.

2) nomi russi - come minimo è scomodo (ok, puoi chiudere gli occhi) e potrebbe non funzionare ovunque, come in questo caso il debugger, e ancora peggio, se il sistema non è in lingua russa. Non dite che non avete bisogno del debugger finché non lo provate e scoprite cos'è.

3) Niente nel codice dovrebbe essere ripetuto - questo è un pessimo stile di programmazione. Hai intenzione di correggere ogni carattere manualmente? Cosa succede se il terminale non mostra "EURUSD", ma mostra "EURUSDf" o anche FORTS, o qualche azione? Se qualcosa è scritto più di due volte - ci deve essere una funzione che fa questo.

4) Hai appena preso un pezzo enorme per tutti i TF e i simboli della recensione... Perché allocare memoria per simboli che potrebbero non essere mai richiesti? E se l'utente ha bisogno di un simbolo che non proviene dalla revisione del mercato?

5) A proposito, per quanto riguarda gli EuroBucks non ho capito - hai intenzione di digitare tutti i simboli manualmente in questo modo? Allora ecco la cattiva notizia - ci sono un sacco di simboli, e si spera che tu voglia essere un programmatore, non un "operatore di digitazione"

-----


Infine, alcune critiche sul punto.

1. Naturalmente, nessuno sta discutendo. La mia ispezione era superficiale. Tuttavia, ora non sto eseguendo l'ordine di nessuno, ma semplicemente confutando il punto di vista che un tale compito non può essere efficacemente risolto senza OOP. Ricordi? - È lì che è iniziato tutto.

2. Se è conveniente o no, se hai bisogno di un debugger o no è una questione totalmente soggettiva e personale. Questo, di nuovo, è irrilevante per l'argomento. L'argomento è provare e mostrare come si può gestire senza OOP e fare soluzioni ugualmente efficienti. 5.

3. Qui offro una delle varianti per risolvere il compito di fissare l'evento di una nuova barra per decine di simboli e timeframes con un carico minimo sul sistema. Esattamente con un carico minimo. Per questo, sto obbligando tutte le future funzionalità di trading ad adattarsi a questa soluzione. Se il risparmio di risorse non è una priorità - potete usare un'altra soluzione.

4. Vedi punto 3.

5. Questo è solo un esempio, potete scrivere le vostre funzioni di trading. Questo è l'affare del commerciante.

 
Реter Konow:

Alla fine, la critica è sul punto giusto.

1. Naturalmente, nessuno sta discutendo. La mia ispezione era superficiale. Tuttavia, ora non sto eseguendo l'ordine di nessuno, ma semplicemente confutando il punto di vista che un tale compito non può essere risolto efficacemente senza OOP. Ricordi? - È lì che è iniziato tutto.

2. La questione è se è conveniente o no, se hai bisogno di un debugger o no - questa è una questione assolutamente soggettiva e personale. Di nuovo, questo è irrilevante per l'argomento. L'argomento è provare e mostrare come si può gestire senza OOP e fare soluzioni ugualmente efficienti.

3. Qui offro una delle varianti per risolvere il compito di fissare l'evento di una nuova barra per decine di simboli e timeframes con un carico minimo sul sistema. Esattamente con un carico minimo. Per questo, sto obbligando tutte le future funzionalità di trading ad adattarsi a questa soluzione. Se il risparmio di risorse non è una priorità - potete usare un'altra soluzione.

4. Vedi punto 3.

5. Questo è solo un esempio, potete scrivere le vostre funzioni di trading. Questo è l'affare del commerciante.


1) Il codice non funziona - cosa intendi, quale OOP?

2) Bene, dimmi come ti piace il "tram" rispetto alla "Mercedes". Non mi interessa cosa ti piace, è puramente una questione di gusti.

3) Hai un carico massimo sulla tua memoria e sul tuo sistema, più max devi ancora pensare a come scrivere. Perché questo è quello che hai scritto, ma sembra che tu non ne abbia bisogno.

4) Vedi punto 3.

5) Sì, lascia che il commerciante aggiusti il codice. C'era un topic da qualche parte sulla conoscenza del programma per un trader - lascia che sia lui a insegnare al bastardo.

----

Credo che questo sia ciò che dovevo dimostrare: è inutile dire qualcosa. Metterò la mia opinione da dilettante in materia - andrò da un libero professionista per finire meglio il mio ordine.

 

Ilmio compito iniziale: mostrare soluzioni efficaci senza usare OOP.


L'essenza della mia soluzione: - generare un array globale di bandiere di eventi di nuove barre di tutti i simboli e timeframes una volta al minuto.

Vantaggi:

1. Riempimento automatico della matrice e cancellazione automatica.

2. nessun carico di sistema.

3. Accesso diretto all'array da qualsiasi funzione e salvataggio del flag dell'evento prima che l'array venga cancellato.

 
Реter Konow:

Ilmio compito iniziale: mostrare soluzioni efficaci senza usare OOP.


L'essenza della mia soluzione: - generare un array globale di bandiere di eventi di nuove barre di tutti i simboli e timeframes una volta al minuto.

Vantaggi:

1. Riempimento automatico della matrice e cancellazione automatica.

2. nessun carico di sistema.

3. Accesso diretto all'array da qualsiasi funzione e salvataggio del flag dell'evento prima che l'array venga cancellato.

Che diavolo, una volta al minuto. Non si capisce affatto come si forma la barra!
Dormendo, ho le 4.41 del mattino.
 
Реter Konow:

Vantaggi:

3. Accesso diretto all'array da qualsiasi funzione e salvataggio del flag dell'evento prima di cancellare l'array.

Si può sostenere che questo sia un vantaggio.

Accidentalmente qualcuno cambierà la bandiera - e questo influenzerà il comportamento del TC.