Il mio approccio. Il nucleo è il motore. - pagina 50

 
Georgiy Merts:

Vitaly, il problema è che Peter è un titano della memorizzazione. Non dimentica dove e quali indici ha, cosa significano, quali connessioni hanno e dove.

Con una memoria così impressionante i miglioramenti OOP sono solo gesti inutili, e qualche degrado delle prestazioni. Per quale motivo?

L'OOP è per coloro che non ricorderanno tra una settimana perché possono cambiare la variabile in un dato posto e non in quello vicino. Sono quelli che hanno bisogno di incapsulamento, sezioni di classe pubbliche, protette e prevertite, interfacce virtuali, polimorfismo... E quando si ha tutto in memoria, come un computer, è molto più facile accedere ad ogni oggetto direttamente, senza alcun miglioramento OOP.

Suggerisci a Peter una classe di smartpointers, che tengono conto del numero di riferimenti quando passano gli oggetti, e poi, quando nessuno fa riferimento a loro, li cancellano! Peter sarà sorpreso, si ricorda bene quando ogni oggetto viene creato, quanti utenti ha, per quanto tempo deve esistere e quando deve essere cancellato. Che senso ha usarli?


No, si può fare anche questo. L'unica domanda che ho è per chi? Peter dice che "creerà uno strato di tali utenti". Bene, bene... Vedremo.

Una buona memoria è certamente buona :) Ma la memoria ha questa proprietà che con l'età peggiora o diventa selettiva. Ciò che si ricorda molto bene e ciò che si pensa sia insignificante sfugge immediatamente alla mente. :)

 
Yury Kulikov:

Hai uno strano spirito competitivo :)

Solo per interesse, sareste in grado di usare la vostra gui per creare un analogo di un tale programma:


Il programma è stato scritto in due mesi nel 2013, con un altro progetto parallelo ancora in corso.

Il programma è stato compilato per l'ultima volta nel 2014, quindi alcuni errori sono possibili :)

È meglio eseguire il programma su strumenti negoziati in borsa.

Chiarimento per i moderatori: questo programma non è disponibile sul mercato.

Buona e potente interfaccia grafica. Posso riprodurre l'85% della sua meccanica con il costruttore. Ho anche il drag&drop, finestre dinamiche. Il resto è il compito del programma (numeri tremolanti nelle celle, chiamati funzioni).

Per quanto riguarda le finestre di istruzione - anche questo è riproducibile. In breve, nella mia versione, l'aspetto sarà leggermente diverso, ma la funzionalità sarà quasi la stessa.

Ma la scala e i numeri non sono implementati nella mia versione. E non c'è nessun ridimensionamento.

Tuttavia, a differenza di questa GUI, la mia grafica sarà più bella. Gradienti, icone, belle cornici, ombre... Gli elementi sono tutti disegnati.

Ma, per un mercato moderno - il vostro prodotto è molto potente. Probabilmente uno dei più potenti.

E il fatto che non molte persone l'abbiano comprato - si può ringraziare il tester grails. Hanno reso tutti i prodotti privi di significato tranne che per loro stessi.

 
Igor Makanu:

e perché questo nuovo stile?

Hai scritto che per 30-100 ordini si incontra un ordine per il pannello di sviluppo, più spesso non succede, meno spesso succede

se vuoi lavorare come freelance, vaisu https://www.mql5.com/ru/search#!keyword=%D0%BF%D0%D0%B0%D0%B5%D0BB%D1%8C&module=mql5_module_jobs

questa è tutta la domanda, e si noti che i pannelli sono necessari per il trading, e nessuno è interessato all'analisi e ai calendari in un pannello

ZS: Hai sentito la barzelletta sull'inafferrabile Joe? Con tutto il rispetto, ma la tua GUI è buona, ma pochissime persone sono interessate, meno sforzo può ottenere qualsiasi risultato con una DLL, fai un pannello che secondo te gli utenti hanno bisogno e nel Mercato, un mese saranno statistiche ...

PS: non ho mai avuto alcun desiderio di trattare con C# .Net, ma da quando gli sviluppatori hanno fatto il supporto, ho dovuto spendere un'ora per trovare un semplice compilatore c con un form designer - SharpDevelop (14 Mb) e googlando come eseguire un modulo da .dll, tutto funziona e tutto "gira", il codice stesso, che ha prescritto le mani letteralmente - 3 righe!!!

Gli sviluppatori di MQL hanno reso facile lavorare con .dll in C#, basta mettere una dll già pronta nella cartella Librerie e scrivere nelle prime righe dell'Expert Advisor il nome .dll - è tutto ;)

Semplicemente non vuoi capire. Che differenza fa? La vostra variante non è per le masse.

La gente cerca il profitto. In questa ricerca sono bloccati sulle stesse rotaie da tester. Cioè, programmi che promettono un arricchimento basato sulle letture dei tester. Questo è tutto. Da qui è un vicolo cieco.

Durerà per sempre? Si fideranno sempre del tester? Non saranno mai delusi guardando decine di migliaia di robot "morti"?

Propongo una via d'uscita dall'impasse. Programmi semi-automatici in cui l'utente sarà responsabile delle proprie azioni.

Pensi che nessuno lo voglia? Vi sbagliate.

 
Алексей Тарабанов:

Peter, questo è il punto - non c'è niente da usare. Ogni finestra è solo una decorazione o un punto di dialogo. Il punto di dialogo implica la necessità di questo dialogo.

Immaginate di essere un trader e che il programma vi chieda qualcosa. Ha bisogno di saperlo da voi. Cosa ti può chiedere, e tu puoi rispondere a questa domanda con un pulsante o un modulo? Sono seriamente interessato alla sua opinione su questo - mi risponda se non le dispiace.

E la seconda situazione: ritenete necessario intervenire nel lavoro del programma - quale pulsante / modulo vi permetterà di farlo in modo efficiente?

Sono assolutamente d'accordo con te che l'automazione di un'attività è compito di chi la automatizza, ma tu pretendi di essere un creatore di strumenti per sviluppare un'interfaccia uomo-macchina in questo settore. Un'interfaccia di pulsanti e moduli, o una GUI normale che permette di lavorare completamente con tutti gli oggetti grafici di MT; un'interfaccia di oggetti, o anche di interrupt?

Voi pretendete di creare uno standard; io, automatizzando qualcosa, pretendo che qualsiasi, o quasi, operazione grafica da me generata sia accettata dalla vostra interfaccia. Altrimenti non abbiamo bisogno l'uno dell'altro.

Ogni finestra può avere diverse funzioni possibili:

  1. Un punto di dialogo(finestra di dialogo).
  2. Una finestra di impostazioni.
  3. Una finestra di notifica.
  4. Una finestra per la visualizzazione di informazioni (tabelle).
  • Il software può chiedere, per esempio, se c'è un'eccessiva ottimizzazione della strategia attuale.
  • Interruzione dell'esecuzione dell'algoritmo di trading a causa delle cattive statistiche degli ultimi giorni.
  • L'impostazione dei parametri quando la situazione del mercato cambia.
  • Si può pensare a molte, molte altre cose.
Penso che il trading sia una perdita di tempo e di denaro. Ma come pensano gli altri - sono affari loro. Chi se ne frega? Ci sarà sempre chi pensa che sia necessario interferire nel lavoro del programma e chi pensa che non sia necessario. Perché preoccuparsi di queste domande? È meglio fare programmi per i primi e per i secondi e venderli.
 
Реter Konow:

Ogni finestra può avere diverse funzioni possibili:

  1. Un punto di dialogo (finestra di dialogo).
  2. Una finestra di impostazioni.
  3. Una finestra di notifica.
  4. Finestra di uscita delle informazioni (tabelle).
  • Il software può chiedere, per esempio, circa la sovraottimizzazione della strategia corrente.
  • Interruzione dell'esecuzione dell'algoritmo di trading a causa delle cattive statistiche degli ultimi giorni.
  • L'impostazione dei parametri quando la situazione del mercato cambia.
  • Si può pensare a molte, molte altre cose.
Penso che il trading sia una perdita di tempo e di denaro. Ma come pensano gli altri - sono affari loro. Chi se ne frega? Ci sarà sempre chi pensa che sia necessario interferire nel lavoro del programma e chi pensa che non sia necessario. Perché preoccuparsi di queste domande? È meglio fare programmi per i primi e per i secondi e venderli.

Questa è la ragione e la risposta!

 
Vitalii Ananev:

Una buona memoria è certamente una buona cosa :) Ma la memoria tende a deteriorarsi o a diventare selettiva con l'età. Ciò che si ricorda molto bene e ciò che si pensa sia insignificante sfugge immediatamente alla mente. :)

Questa è la tua memoria (e anche la mia).

Peter ha una memoria diversa e migliora con l'età, come un buon vino. Peter ricorda sempre tutto quello che ha scritto, e come e perché, e a cosa stava pensando. Quindi non ha davvero bisogno di OOP.

Invidio la memoria di Peter.

 
Реter Konow:

Posso riprodurre l'85% della sua meccanica con un costruttore.

Ho i miei dubbi :) Se solo le finestre, i pulsanti, i controlli... Ma questo è il minimo.

La tua interfaccia non sarà nemmeno in grado di elaborare il traffico tumblr, e hai ancora bisogno di rendere alcuni indicatori.

Oh, e questa è la prima versione della libreria gui, con un uso minimo di kanvas, tutto è implementato su kanvas ora, tranne l'input di testo.

 
Реter Konow:

La gente cerca il profitto. In questa ricerca, sono fissati sugli stessi grails di tester. Cioè, programmi che promettono un arricchimento basato sulle letture dei tester. Questo è tutto. Da qui è un vicolo cieco.

Durerà per sempre? Si fideranno sempre del tester? Non saranno mai delusi guardando decine di migliaia di robot "morti"?

Perché sarebbe "morto"?

QUALSIASI robot ha periodi di guadagno. UNO QUALSIASI. Anche il più sfigato dei miei MU della Lega ha un breve margine di guadagno. Quindi non c'è modo di chiamarli "morti".

È come con i vestiti. Naturalmente, pantaloncini, infradito e un panama suit per la vita da qualche parte in Arkhangelsk. Ma non pretenderà che siano "vestiti morti". Inoltre, in alcuni giorni è possibile indossarli anche ad Arkhangelsk.

E viceversa - sulla costa del Mar Nero il tulup e gli stivali di pelliccia sembrano sciocchi in estate. Anche se a volte sono molto necessari anche sulla riva del Mar Nero.

Lo stesso vale per i robot di trading: ogni mercato ha il suo robot di trading. E il compito del trader è quello di selezionare il robot che si adatta al mercato. Per questo non si può dire che "la gente sarà delusa", così come nessuno è deluso dai pantaloncini o dai pantaloni panama e nessuno è deluso da un impermeabile. Basta indossare il primo quando fa caldo e il secondo quando fa freddo.


Il tester non è un ostacolo o una panacea. Ti dice cos'è stato il mercato ultimamente, e ti permette di prendere un TS che corrisponde. Ma questo non significa che il mercato non cambierà nei prossimi giorni, e che il TS non sarà più adatto. Tuttavia, un robot che ha fatto un profitto sulla storia è preferibile ad un robot che ha perso sulla storia.

Il trading manuale può essere costantemente redditizio solo se si ha molta esperienza. Solo per capire quando e quale tecnica usare. Pensi che molte persone ce l'abbiano?

 
Yury Kulikov:

Ho i miei dubbi :) Se solo le finestre, i pulsanti, i controlli... Ma questo è il minimo.

La vostra interfaccia non sarà nemmeno in grado di elaborare il traffico di vetro, e avete ancora bisogno di rendere alcuni indicatori.

Sì, e questa è la prima versione della libreria gui, con un uso minimo di kanvas, tutto è già implementato su kanvas ora, tranne l'input di testo.

Il costruttore è progettato per soluzioni generiche. Il tuo programma è personalizzato per compiti specifici.

Si può fare ed eseguire un tumbler sul costruttore e funzionerà. Ma il disegno di tutti i tipi di indicatori non è incluso nei compiti del costruttore finora.

Questo può essere fatto dall'utente nel suo programma.


E che dire del fatto che non tira il traffico del vetro:



Clicca sull'immagine per vedere la gif. Come potete vedere, la velocità di ridisegno degli elementi della tabella è abbastanza veloce da tirare il traffico del tumbler (ci sono anche più celle).

 
Реter Konow:

E per quanto riguarda il non tirare il traffico del tumblr:

Clicca sull'immagine per vedere la gif. Come potete vedere, la velocità di rendering degli elementi della tabella è abbastanza veloce da tirare il traffico della tazza (ci sono anche più celle).

Non parlavo della velocità di rendering, ma del traffico (scambio) tra la vostra gui e il programma utente.

Naturalmente, ogni programma è fatto su misura per un compito specifico, ma usando, per esempio, la libreria standard, puoi aggiungere un oggetto animato nella finestra, e nella tua gui no, devi chiederlo :(