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

 
Реter Konow:

Sì. Esattamente. Tutte le informazioni necessarie al motore per riprodurre una particolare GUI e lavorare con essa. Ora lo sto installando direttamente nel motore, e poi lo sto rendendo caricabile dal file che il costruttore stampa.

Quanto è complicato e confuso tutto questo.

Non sarebbe più facile per l'utente delle vostre caldaie shaitan fare in modo che dopo che l'utente costruisce i moduli, le finestre e gli elementi richiesti, emetta semplicemente un file mqh per connettersi al programma tramite #include? Il file contiene già OnChartEvent(), OnTimer(), OnTick() e altri elementi di collegamento. L'unica cosa che rimane è prescrivergli le azioni necessarie, cosa che in ogni caso dovrà fare, ma bisogna anche imparare il linguaggio di markup. Altrimenti non hai bisogno di niente di tutto ciò - basta scrivere in mql quello che ti serve nel file mqh generato ed essere felice.

Hai intrapreso la strada di creare un linguaggio di markup e di collegarlo usando un linguaggio che l'utente non capisce per qualche motivo. Questa soluzione non attirerà gli utenti della lingua mql verso il prodotto.

 

Sembra, guardando le meraviglie in questo thread - il maggior sforzo mentale che si tende a fare è quello di rimanere sciocchi.

 
Maxim Kuznetsov:
Ma sovrascriverà tutte le modifiche e i binding dell'utente che sono negli eventi?

Appena la GUI cambia - l'utente preme un pulsante e stampa i nuovi file. Il motore carica i nuovi kernel e l'applicazione utente deve collegare i file di accoppiamento aggiornati.

In questo caso, un file deve solo essere sostituito (Proprietà di Congiunzione) e l'altro file deve essere ricollegato. Ma è possibile copiare il codice già scritto dal file precedente.

L'importante è non riempire i file di connessione prima di aver deciso la GUI. Se vengono aggiunte nuove finestre, questo non influenzerà quasi nulla. Se le vecchie finestre e gli elementi vengono cambiati, il codice potrebbe dover essere rielaborato anche nel programma.

 
Реter Konow:

Questo è tutto nel costruttore. Il codice KIB viene scritto e il file viene ricompilato.

Ecco come lavorare con il costruttorehttps://www.mql5.com/ru/blogs/post/717782

Guardato... Stupidi errori infantili con i nomi dei file e delle cartelle, si lavora nell'editor come se lo si stesse aprendo per la prima volta...

E quello che ho capito è che non è affatto un costruttore. Pensavo avessi un costruttore visivo...

E lei chiama questo concetto una svolta? Da dove e verso dove?

 
Artyom Trishkin:

Quanto è complicato e confuso tutto questo.

Non sarebbe più facile per l'utente del tuo shaitan-boiler fare in modo che dopo che l'utente costruisce i moduli, le finestre e gli elementi richiesti, emetta semplicemente un file mqh per connettersi al programma tramite #include? Il file contiene già OnChartEvent(), OnTimer(), OnTick() e altri elementi di collegamento. L'unica cosa che rimane è prescrivergli le azioni necessarie, cosa che in ogni caso dovrà fare, ma bisogna anche imparare il linguaggio di markup. Altrimenti non hai bisogno di niente di tutto ciò, basta scrivere in mql quello che ti serve nel file mqh generato ed essere felice.

Hai intrapreso la strada della creazione di un linguaggio di markup e connettività usando una lingua che l'utente non capisce per qualche motivo. Questa soluzione non attirerà gli utenti della lingua mql verso il prodotto.

A proposito, sì.

Ho esattamente lo stesso modo quando ricompilo. Naturalmente, non ho mai fatto file MQH pronti all'uso, scrivo solo semplici file di testo e poi da essi trasferisco i testi delle procedure di inizializzazione ai moduli di base, ma l'idea è la stessa.

Peter, davvero - renderebbe la vita dei tuoi utenti abbastanza facile se invece di impostazioni che devi ricordare come usare - venisse generato un file MQH pronto con impostazioni pronte!

 
Artyom Trishkin:

E questo è il suo concetto che lei chiama svolta? Da dove e verso dove?

Questo è un passo avanti - dalle persone che vogliono Expert Advisors pronti con un pulsante "chop dough" (o almeno con due pulsanti, un altro - "chop huge dough") - alle persone che faranno trading in modalità semi-automatica, aprendo trade, accompagnandoli e chiudendo con l'aiuto dei componenti visivi di Peter!

Sono convinto che se tali persone appariranno - sarà davvero una svolta.

Ho solo dubbi che sia possibile. La gente è pigra per natura, e per il commercio manuale (anche semi-automatico) - hai bisogno di molta esperienza, e da dove la prende il beau monde locale?

 
Georgiy Merts:

A proposito, sì.

Questo è esattamente il modo in cui vado quando ricompilo. Però non faccio file MQH pronti, scrivo file di testo semplice e poi da questi trasferisco il testo delle procedure di inizializzazione ai moduli principali, ma l'idea è la stessa.

Peter, davvero - renderebbe la vita più facile ai tuoi utenti, se invece delle impostazioni, che devi ricordarti come usare - venisse generato un file MQH pronto con impostazioni pronte!

Non ha capito di quali impostazioni stiamo parlando. Ma farò quello che posso.

 
Реter Konow:

Spiega in modo più dettagliato.

Nessuna documentazione, quindi link a memoria (da qualche parte nelle profondità della pista) :-)

Si genera un file con una funzione con molti interruttori annidati che invia messaggi dagli elementi dell'interfaccia a "premuto" "rilasciato". L'utente vi digita le reazioni agli eventi.
Hai modificato l'interfaccia, ora che ne è di questo file?

Quanto lavoro, per esempio, dovrebbe fare un utente per dividere il pannello in due finestre - una contenente pulsanti e l'altra una tabella (così, per esempio, l'utente potrebbe chiuderla e non bighellonare sullo schermo)?
E, per esempio, alcune colonne dovrebbero essere scambiate. È proprio tipico - fare un layout, usarlo, cambiare l'aspetto in uno più conveniente

 
Реter Konow:

Non so di quali impostazioni stiamo parlando. Ma farò quello che posso.

L'idea è che dopo che tutti i moduli, le finestre, gli elementi visivi sono costruiti, verrebbe creato un file MQL pronto, destinato alla compilazione diretta.

Per come la vedo ora, gli utenti devono inserire tutte le dimensioni, le coordinate, i rientri... Questo è un lavoro molto noioso e tedioso. Sarebbe bello se fosse automatizzato. Il risultato sarebbe un file MQH pronto per essere ricompilato.

 
Реter Konow:

Non so di quali impostazioni stiamo parlando. Ma farò quello che posso.

Impara OOP, e avresti già fatto da tempo, e non solo quello che potresti, ma molto di più - un enorme spazio per la creatività, di cui ora non sei nemmeno consapevole. In modo rapido, efficiente e professionale.
Ma per anni avete fatto i capricci con il vostro motore sempre troppo gonfio.
E se sei orgoglioso della quantità di codice che hai scritto, sei un "indiano" della programmazione. Questo non è un insulto - basta cercare questa definizione, si adatta esattamente a quello che fate.
Si può scrivere codice di mille righe e scrivere codice di cento righe, ed entrambi faranno lo stesso insieme di azioni. Ma è molto più difficile cambiare o integrare il codice gonfiato che quello non gonfiato. Ma tu preferisci vantarti del numero di battute che hai scritto (pungolando Nikolai nel naso con esse), chiamando il tutto un enorme progetto. Come un bambino, perbacco.