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

 

Peter, devi capire una cosa. Sarete in grado di trovare utenti del vostro motore se implementate le loro idee gratuitamente. In altre parole, tu fai tutto lì, lo colleghi correttamente, lo configuri e loro lo usano. Potrebbero anche ringraziarvi per questo. Non apriranno comunque MetaEditor. A loro non interessa molto come funziona, anche se hai un diavolo in una tabacchiera. L'importante è che la barra degli strumenti funzioni, tutto qui. Ma non confondete questa situazione con l'accettazione generale. Lo vedranno come un omaggio, niente di più. Non appena avranno bisogno di fare qualcosa da GUI e voi non ci sarete, assumeranno un progregista, che non userà il vostro samovar, e i suoi sviluppi. Avrete lo stesso pannello, l'utente lo userà e non si ricorderà nemmeno del vostro motore. E se lo fa, ricorderà qualcosa del genere: "Sì, c'era un tipo strano che si è offerto di fare un pannello gratis. Poi è scomparso. L'ho ordinato da qualcun altro. Il pannello funziona - soddisfatto.

Otterrete un riconoscimento generale solo quando coloro che creano i vostri pannelli inizieranno a usare il vostro lavoro. Ma questo non accadrà perché il tuo approccio originale alla programmazione è poco diverso dal moderno offuscatore di codice. È così, Peter.

 
Vasiliy Sokolov:

Peter, c'è una cosa che devi capire. Potrai trovare utenti del tuo motore se implementerai le loro idee gratuitamente...

È qui che ho il sospetto che tu abbia ragione.

 
Peter, pensa a questo thread come una sorta di esame tecnico del tuo "motore". Finora la perizia ha fallito miseramente. Senza il riconoscimento della comunità professionale, il vostro motore non sarà richiesto. Tutto quello che puoi fare da solo è convincere gli utenti a lasciarti realizzare le loro fantasie, gratis, ovviamente.
 
Vasiliy Sokolov:

Peter, devi capire una cosa. Sarete in grado di trovare utenti del vostro motore se implementate le loro idee gratuitamente. In altre parole, tu fai tutto lì, lo colleghi correttamente, lo configuri e loro lo usano. Potrebbero anche ringraziarvi per questo. Non apriranno comunque MetaEditor. A loro non interessa molto come funziona, anche se hai un diavolo in una tabacchiera. L'importante è che la barra degli strumenti funzioni, tutto qui. Ma non confondete questa situazione con l'accettazione generale. Lo vedranno come un omaggio, niente di più. Non appena avranno bisogno di fare qualcosa da GUI e voi non ci sarete, assumeranno un progregista, che non userà il vostro samovar, e i suoi sviluppi. Avrete lo stesso pannello, l'utente lo userà e non si ricorderà nemmeno del vostro motore. E se lo fa, ricorderà qualcosa del genere: "Sì, c'era un tipo strano che si è offerto di fare un pannello gratis. Poi è scomparso. L'ho ordinato da qualcun altro. Il pannello funziona - soddisfatto.

Otterrete un riconoscimento generale solo quando coloro che creano i vostri pannelli inizieranno a usare il vostro lavoro. Ma questo non accadrà perché il tuo approccio originale alla programmazione è poco diverso dal moderno offuscatore di codice. È così, Pyotr.

Puoi farmi un esempio di un offuscatore? Non riesco a capire bene questa definizione. Tutto è chiaro con Pyotr.

fxsaber è per me un esempio di offuscamento. O sto fraintendendo?

 
Vasiliy Sokolov:

Lo stai chiedendo davvero o stai solo scherzando? Avete una serie infernale di centinaia di definizioni di variabili che volete far passare per una specie di tabella. La pseudo-tabella stessa è storta, senza struttura, e contiene acronimi oscuri.

Ed è quello che è:

Hai inventato tu stesso questa formattazione? Buon per te, hai tutte le possibilità di prendere il primo posto in ioccc.org.

Ma amico, tu non scrivi così. A TUTTI. Nessuno può usare questo codice.

void Sync_params(int ID){for(int a1 = 0; a1 < All_params; a1++){if((int)P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){for(int a1 = 0; a1 < All_params; a1++){if(P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];if(P_CORE[a1][_SYNC_ID] != NULL)Sync_params((int)P_CORE[a1][_SYNC_ID]);EventChartCustom(0,_SYNC_P_CORE,(int)P_CORE[a1][_ELEMENT],0,P_CORE[a1][_CURRENT_VALUE]);}}}

Queste funzioni fanno parte del meccanismo di collegamento del motore. Non è necessario guardarli o aprire il file Connection Properties.mqh.

Questo file non è per gli utenti.

Il file External Connection.mqh è per gli utenti.


Vasily, non apri il coperchio del tuo nuovo televisore per scoprire se è fatto bene all'interno. La cosa principale per voi è farla funzionare. Quindi è lo stesso qui.

Connection Properties.mqh deve solo essere collegato. Non importa cosa c'è dentro.

 
Vasiliy Sokolov:

Peter, devi capire una cosa. Sarete in grado di trovare utenti del vostro motore se implementate le loro idee gratuitamente. In altre parole, tu fai tutto lì, lo colleghi correttamente, lo configuri e loro lo usano. Potrebbero anche ringraziarvi per questo. Non apriranno comunque MetaEditor. A loro non interessa molto come funziona, anche se hai un diavolo in una tabacchiera. L'importante è che la barra degli strumenti funzioni, tutto qui. Ma non confondete questa situazione con l'accettazione generale. Lo vedranno come un omaggio, niente di più. Non appena avranno bisogno di fare qualcosa da GUI e voi non ci sarete, assumeranno un progregista, che non userà il vostro samovar, e i suoi sviluppi. Avrete lo stesso pannello, l'utente lo userà e non si ricorderà nemmeno del vostro motore. E se lo fa, ricorderà qualcosa del genere: "Sì, c'era un tipo strano che si è offerto di fare un pannello gratis. Poi è scomparso. L'ho ordinato da qualcun altro. Il pannello funziona - soddisfatto.

Avrai un riconoscimento generale solo quando le persone che fanno pannelli su misura cominceranno a usare il tuo lavoro. Ma questo non accadrà perché il tuo approccio originale alla programmazione è poco diverso dal moderno offuscatore di codice. Le cose stanno così, Peter.

Questo costruttore (linguaggio di markup) e il motore (indicatore GUI) sono destinati a tutti coloro che scrivono o vogliono imparare a scrivere in MQL.

Il linguaggio di markup è estremamente semplice. Si può imparare in 2 giorni. + Si possono usare codici di elementi e finestre di altre persone. Incollalo a te stesso e non ti impantanare.

Il costruttore genera una shell digitale, che viene caricata nel motore, che riproduce l'uso della GUI. GUI ed esegue la meccanica.

L'utente deve solo collegare il suo EA tramite il fileExternal Connection.mqh

//----------------------------------------------------------------------------------------------------------------------

L'utente è quindi tenuto a:

  1. Compilare o copiare il codice delle finestre nel linguaggio di markup.
  2. Compilare.
  3. Ottieni un nucleo digitale della loro GUI in un file.
  4. Caricare il motore.
  5. Collega i file generatiExternal Connection.mqh e Connection Properties.mqh all'EA.
  6. Riempire il file External Connection.mqh.
Questo vi darà una GUI funzionante che comunica con il vostro programma.

 

Ok. Come fare una finestra con caselle di controllo e una tabella per un indicatore con questa gui? Si prega di ottenere un esempio completo dallo sviluppatore.

Avviare l'indicatore o premere il pulsante - la finestra è apparsa. Premuto la croce - la finestra viene chiusa, lo stato delle caselle di controllo alla successiva apertura non viene cambiato.

Finestra di 10 caselle di controllo e una tabella di 12 righe|5 colonne, prima colonna e la prima riga celle di valore di testo, le altre celle doppie (ad esempio riempimento OHLC ultime 10 barre formate linea per linea).

Grazie in anticipo!

 
Реter Konow:

Così, l'utente è tenuto a

Peter, io sto parlando di Thomas e tu stai parlando di nuovo di Yeremia. Trovate almeno un utente fittizio, che soddisfi i vostri punti "l'utente è tenuto a...". Poi vedremo quanto è "facile e semplice" lavorare con il tuo motore. Per esempio, assumi quell'osservatore umanoide per cercare di fare qualcosa con il tuo samovar. Poi vedremo.

 
Unicornis:

Ok. Come fare una finestra con caselle di controllo e una tabella per un indicatore con questa gui? Si prega di ottenere un esempio completo dallo sviluppatore.

Avviare l'indicatore o premere il pulsante - la finestra è apparsa. Premuto la croce - la finestra viene chiusa, lo stato delle caselle di controllo alla successiva apertura non viene cambiato.

Finestra di 10 caselle di controllo e una tabella di 12 righe|5 colonne, prima colonna e la prima riga celle di valore di testo, le altre celle doppio (ad esempio riempimento OHLC ultime 10 barre formate linea per linea).

Grazie in anticipo!

Lo farà domani.

Posterò i file del motore e delle connessioni. Poi, sotto la mia guida, ci collegheremo insieme.

 
Vasiliy Sokolov:

Peter, io parlo di Tommaso e tu parli di nuovo di Geremia. Trovate almeno un utente fittizio che soddisfi i vostri punti "l'utente è tenuto a...". Poi vedremo quanto è "facile e semplice" lavorare con il tuo motore. Per esempio, assumi quell'osservatore umanoide per cercare di fare qualcosa con il tuo samovar. Poi vedremo.

Di qualunque cosa si stia discutendo, non si può insultare un altro essere umano. Spero sia chiaro.

Oleg Papkov ha lavorato a lungo con il mio motore. E a giudicare dalle sue dichiarazioni, è completamente soddisfatto.