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

 
Dmitry Fedoseev:

Credo di sì. Ma se una GUI, è un altro file, e questo non è possibile nel mercato.

Forse è così. Non lo so. Ma penso che questo problema sia risolvibile, se Pyotr ha qualcosa di valore.
Avrete bisogno di inviare un file al mercato, non è necessario inviare il motore, e funzionerà senza il motore.
Peter, o sto fraintendendo qualcosa?
 
Nikolai Semko:
Forse. Non lo so. Ma penso che questo problema sia risolvibile se Peter ha qualcosa di valore.
Avrete bisogno di inviare un unico file al mercato, non è necessario inviare il motore, e funzionerà senza il motore.
Pyotr, o sto fraintendendo qualcosa?

Hai capito bene, Nikolay. L'Expert Advisor funziona senza il motore. Il motore crea la GUI dell'EA non appena l'EA è posizionato su un grafico separato e riceve i comandi da esso. Il motore può passare tra diversi EA. Quando cambia, semplicemente ricarica un altro kernel da un file di testo. Può essere lasciato del tutto al suo posto, ma assegnate una tabella separata e tenetela sempre lì.

 
C'è un'idea per salvare l'utente dal dover trascinare il file del kernel ovunque perché il motore lo scarichi. Quando produce una GUI, il costruttore produce un file kernel. Invece di salvare in un file, il costruttore può salvare il kernel in una risorsa e scrivere una stringa di connessione per quella risorsa nel file Conventional Properties. Quando l'utente collega il file Connexion Properties creato, questa risorsa con il kernel sarà integrata durante l'inizializzazione del proprio EA. Inoltre, quando si connette al motore, quest'ultimo leggerà semplicemente la risorsa con il kernel dall'EA e riprodurrà la GUI. Così, non ci sarà bisogno di trascinare i file con il kernel.
 
Maxim Kuznetsov:

Secondo le regole attuali, i prodotti con dipendenze aggiuntive non possono essere distribuiti tramite il mercato. Inoltre, sospetto che questo sia legalmente vietato o piuttosto difficile.

Non si possono usare librerie esterne ex*, comprese quelle che non contengono chiamate alla dll. Tuttavia, gli indicatori, come il motore di Peter, non sono soggetti a questa restrizione.

 
Vasiliy Sokolov:

Non si possono usare librerie esterne ex*, comprese quelle che non contengono chiamate alla dll. Tuttavia, questa limitazione non si applica agli indicatori, come il motore di Peter.

Questa domanda mi ha interessato in modo specifico chiedendo al mercato del service-desk. La risposta è stata abbastanza chiara, anche se non molto felice :-) il prodotto Market deve essere una cosa in sé e non richiede l'installazione di altri componenti. Tutti gli indicatori e le librerie necessarie dovrebbero essere stipati all'interno tramite Resources.

Il che è logico - una persona ha comprato un prodotto e il prodotto (e tutte le sue affermazioni) dovrebbe essere immediatamente disponibile senza lavoro extra.
E non c'era nessuna situazione in cui qualche dipendenza veniva aggiornata, ma l'Expert Advisor cadeva :-)

 

E in generale, il trading lo è:

il mio reddito - "nucleo - motore"

;)
 
Реter Konow:
C'è un'idea per salvare l'utente dal dover trascinare il file del kernel ovunque affinché il motore possa caricarlo. Quando produce una GUI, il costruttore produce un file kernel. Invece di salvare in un file, il costruttore può salvare il kernel in una risorsa e scrivere una stringa per collegare questa risorsa nel file delle proprietà del kernel. Quando l'utente collega il file Connexion Properties creato, questa risorsa con il kernel sarà integrata durante l'inizializzazione del proprio EA. Poi, quando si connette al motore, quest'ultimo leggerà semplicemente la risorsa con il kernel dall'EA e riprodurrà la GUI. Così, non ci sarà bisogno di trascinare i file del kernel.
Oh amico, pensavo che fosse così che viene implementato. Naturalmente, che senso ha portarsi dietro i file di configurazione?
E immagina, Peter, puoi anche stipare il motore in un file ex* comune come una classe.
E nessun sette* a sei ali :))
 
Nikolai Semko:
Oh, caspita, ho pensato che è implementato a modo tuo. Naturalmente, che senso ha portarsi dietro i file di configurazione.
E immagina, Peter, puoi anche stipare il motore in un file ex* comune come una classe.
E nessun sette* a sei ali :))

Può descriverlo più dettagliatamente? Come, cosa e perché.

 
Nikolai Semko:
...
E immagina, Peter, potresti anche stipare il motore in un unico file ex* comune come una classe.
...

Nikolai, se stai suggerendo di aprire il codice del motore a tutti per metterlo nell'EA, allora ci ho pensato. Ahimè, questo metterebbe un limite allo sviluppo del motore. Tutto avverrebbe in un singolo thread dell'applicazione, il che limiterebbe le risorse utilizzate e la maggior parte dei benefici che si possono ottenere parallelizzando il calcolo andrebbero persi. Inoltre, gli utenti inizieranno a fare cambiamenti al motore e a distribuire versioni modificate, il che creerà caos e nuovi problemi di sviluppo.

Quindi, l'idea è buona in teoria, ma in pratica, ahimè...(.

 
Реter Konow:

Nikolai, se stai suggerendo di aprire il codice del motore a tutti per metterlo nell'EA, allora ci ho pensato. Ahimè, questo metterebbe un limite allo sviluppo del motore. Tutto avverrebbe in un singolo thread dell'applicazione, il che limiterebbe le risorse utilizzate e la maggior parte dei benefici che si possono ottenere parallelizzando il calcolo andrebbero persi. Inoltre, gli utenti inizieranno a fare cambiamenti al motore e a distribuire versioni modificate, il che creerà caos e nuovi problemi di sviluppo.

Quindi, l'idea è buona in teoria, ma in pratica, ahimè...(.

Peter, dove sono le prove?
Dov'è il rapporto di ricerca che confronta la velocità di esecuzione di un programma in un thread ex5 (non ha nemmeno senso sperimentare con ex4) e in due thread?
Era solo una supposizione ipotetica, che, tra l'altro, è stata dichiarata per la prima volta da me (qui) quando non sono riuscito ad ottenere da te almeno una formulazione dei vantaggi del tuo approccio.
State già usando la mia ipotesi come un fatto.
Personalmente ammetto che potrebbe esserci un vantaggio, ma puramente per intuizione (non per conoscenza) scommetto il 75% che non darà alcun vantaggio, dato che l'interazione e lo scambio di dati tra i due programmi non è libero, e il processore è uno per entrambi gli ex5. Ma la risposta a questa domanda può essere data solo dagli sviluppatori stessi o da un esperimento qualitativo.