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

 
Maxim Kuznetsov:
forse è stato indirizzato a scrivere il kernel-engine... in modo che non fosse distratto dal forum :-)

Il compito successivo, per quanto mi ricordo, era quello di scrivere su un kanvas.

"Scriverò su una tela dopo essermi sdraiato su un materasso" ))))

 
Реter Konow:

George, non capisco - cosa c'entra il mio approccio? Sto fornendo un'interfaccia di connessione GUI, che è creata con un linguaggio di markup leggero. Chi e perché vorrebbe imparare il mio approccio?

Tutto ciò che suggerisco è molto più semplice del più semplice MQL.

Non lo è. Ho guardato e vedo che è più complicato. È perché hai un sacco di opportunità in una volta, dove devi ricordare cosa, dove, dove e come. E la mia memoria è molto peggio della tua. Quindi - per coloro che ricordano tutto - non è davvero complicato. E per quelli che non si ricordano?

Il tuo linguaggio di markup è solo un esempio del tuo approccio, quando "tutto è sempre disponibile".

Ma di nuovo - la questione non è se questo linguaggio di markup è buono, se l'approccio è buono, se l'implementazione è buona.

La domanda principale dovrebbe essere chi ne ha bisogno, chi è il pubblico di riferimento.

L'ho detto più di una volta - non lo vedo. Lei ha obiettato che "apparirà". Bene... aspettiamo...

 
Il sistema può funzionare male. Lo so per il mio lavoro. :) Grazie per il vostro sostegno. Ora chiederò che anche tutti gli altri vengano banditi. (Non si sa mai. Non si sa mai per sbaglio. :))
 
Georgiy Merts:

No, non lo è. Ho guardato - e vedo che è più complicato di così. Proprio perché si presentano molte opportunità in una volta sola, dove bisogna ricordare cosa, dove, dove e come. E la mia memoria è molto peggio della tua. Quindi - per coloro che ricordano tutto - non è davvero complicato. E per quelli che non si ricordano?

Il vostro linguaggio di markup è solo un esempio del vostro approccio, quando "tutto è sempre disponibile".

Ma di nuovo - la questione non è se questo linguaggio di markup è buono, se l'approccio è buono, se l'implementazione è buona.

La domanda principale dovrebbe essere chi ne ha bisogno, chi è il pubblico di riferimento.

L'ho detto più di una volta - non lo vedo. Lei ha obiettato che "apparirà". Bene... aspettiamo...

Vasiliy Sokolov:

Scusa Piotr, ma tutto quello che hai presentato finora è qualche riga infernale di programma MQL con decine di parametri e chiamate di cose sconosciute. Se questo è un prototipo del vostro linguaggio di markup, ho già paura.

Bene, ecco una soluzione con due finestre ieri. Ecco un esempio del loro codice nel linguaggio di markup:

(Cosa c'è di così infernalmente complicato qui, onestamente non lo vedo).

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD,"Enter text",   

END_GROUP,
//----------------------------------
"Enter text", H_C2C,  "Edit box 1", 0,
"Enter text", ON_LEFT,"Edit box 1", -20,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2",  W_ICON,99,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX,"T_1",
             "This window's",
             "appearance controlled",
             "by user's programm.",
             END,

END_GROUP,
//----------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
"T_1",FONT_SIZE,20,
"T_1",text,N_COLOR,(int)C'255,110,10',
"T_1",text,TEXT_FONT,"Arial Bold",
"T_1",N_COLOR,(int)C'240,240,240',

//====================================================================================================================
END_WINDOW,

Certo, non tutto è chiaro senza spiegazioni, ma anche senza di esse si può capire molto in una volta (come mi sembra...).

 

E il risultato:


 
Реter Konow:

Cosa ci sia di così infernalmente complicato, sinceramente non lo vedo.

Non ho detto "un sacco". Ho detto che bisogna memorizzare molto.

Finché si lavora sul progetto stesso, si guarda la descrizione e non è così critica. Tieni tutto nella tua testa. Ma ora che avete fatto l'interfaccia, passate ad altre aree. E poi, un mese dopo - hai bisogno di cambiare qualcosa. Lo apri e ti rendi conto che non capisci niente, e devi capire tutto da capo.

Una cosa è quando la struttura della descrizione stessa è tale che semplicemente non si può fisicamente confondere qualcosa. Semplicemente perché se fate qualcosa di "sbagliato", il progetto non verrà compilato. Ed è un'altra cosa quando puoi facilmente confondere le cose, ma nessuno ti ferma, passi attraverso il codice - "tutto sembra a posto", e poi l'errore viene trovato nel momento più inopportuno.


Ma questi non sono problemi seri. Il tuo problema principale, Peter, è il pubblico di riferimento. Non ce n'è uno.

 
Georgiy Merts:

....

Ma niente di tutto questo è davvero un grande problema. Il tuo problema principale, Peter, è il pubblico di riferimento. Non ce n'è uno.

Sai, George, avevo in mente un progetto in cui avevo deciso di fare qualcosa di enorme. Cioè, speravo in un target di tutti gli utenti MQL.

Forse mi sono sbagliato. Forse non sono in molti ad averne bisogno. Chi lo sa... La vita lo dimostrerà...))

 
Реter Konow:

Forse mi sono sbagliato. Forse non sono in molti ad averne bisogno. Chi lo sa... La vita lo dirà...))

Ecco a cosa serve l'"opzione B".

Come sempre, posso citare la mia Lega come esempio - all'inizio pensavo che si sarebbero interessati e mi avrebbero aiutato ad ottimizzarla. Solo due persone hanno risposto. Ma ho avuto "l'opzione B" - ho comprato un nuovo computer, e non ho più bisogno dell'aiuto di nessuno, perché ho creato la Lega per me stesso in non piccola misura - per avere sempre un "pool di TS", che hanno lavorato sulla demo per qualche tempo. E ce l'ho ora, studiando la possibilità di selezionare il migliore di loro per davvero.

Allo stesso modo in cui ne avete bisogno voi - in modo che il risultato del vostro progetto possa esservi utile. Poi lo usi e te ne vanti con i partecipanti. Se qualcuno mostra interesse, si condivide con loro (o si vende). Se non si presentano - ne avete bisogno voi stessi. In ogni caso, hai vinto.

 
Реter Konow:

(Cosa ci sia di così infernalmente complicato, sinceramente non lo vedo).

//+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------

...

Me 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 è:

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]);}}}

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.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov:

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

Vasiliy, giù le mani da Peter!!!

Non intralciare l'uomo.

Voglio vedere il pubblico di riferimento!!! Qualcuno dirà "ho attaccato questa libreria al mio Expert Advisor e la uso"!