Fare un progetto in crowdsourcing su Canvas - pagina 7

 
o_O:

Purtroppo il codice non è completo. in questo momento gli eventi del grafico non distinguono tra A e a

Ne ho già scritto in SD.

buone notizie dalla sd su questo tema

la prossima build aggiungerà costantiTerminalInfoInteger per lo stato di CapsLock e Shift

ora sono senza documenti.

1020 - CapsLock
1016 - Shift
1255 - codice della lingua di input corrente

cioè la modifica è già a metà strada. ))

Il secondo compito è quello di insegnare al grafico a catturare lo spazio ed entrare.

 
Vasiliy Sokolov:
Se c'è un ritardo, è invisibile a occhio nudo. Nel mio pannello una volta MouseMove inviava migliaia di elementi, anche invisibili, poi ho fatto un invio più intelligente, ma visivamente non ha aggiunto alla velocità.
Ci sono sicuramente dei ritardi. Dipende dal numero di articoli. Ho controllato. Quando il numero di oggetti comincia a superare i 400 -500 drag and drop le mie finestre cominciano a rallentare... Ho lavorato per mesi per migliorare l'efficienza del codice, ma non sono riuscito a superare questo effetto. Penso che più il computer è potente, più gli oggetti si trascinano, la lentezza sarà impercettibile.
 
Реter Konow:
Ci sono sicuramente dei freni. Dipende dal numero di oggetti. Ho controllato. Quando il numero di oggetti comincia a superare i 400-500, il trascinamento delle mie finestre comincia a rallentare... Ho lavorato per mesi per migliorare l'efficienza del codice, ma non sono riuscito a superare questo effetto. Penso che più il computer è potente, più oggetti il ritardo rimarrà impercettibile.
Le prestazioni sono influenzate dall'algoritmo di consegna dell'evento + risposta minima dell'elemento all'evento passato. Sembra che nel tuo caso il rallentamento non fosse dovuto all'evento in sé, ma agli algoritmi che gestivano questi eventi.
 
o_O:

Le istanze multiple di un indikator escono su una sola tela? Non lo so, è un po' inquietante.

No. Tutto ciò di cui ho bisogno è un evento MouseDown e sarò felice.
 
Комбинатор:
No. Comunque, tutto ciò di cui ho bisogno è l'evento MouseDown, io
Controlla l'evento CHARTEVENT_MOUSE_MOVE, trasmette lo stato del mouse, dei tasti Crtl e Shift.
 
Vasiliy Sokolov:

Mi sembra che dopo gli articoli di Anatoly, sia almeno uno strano passatempo creare di nuovo le stesse uova nel profilo. La grafica non è affatto un argomento caldo per MT.

  • Gli utenti non hanno bisogno di interfacce grafiche. Di conseguenza, è impossibile monitorare la GUI e il suo sviluppo non darà mai frutti.
  • Se vuoi aumentare le competenze, è meglio trovare subito un lavoro come junior. Così almeno comincerai a fare un po' di soldi subito e aumenterai le tue capacità lentamente.
  • Un pubblico troppo ristretto. Chi ha bisogno delle biblioteche? - Assolutamente nessuno, tranne una manciata di programmatori, che hanno scritto da tempo tutte le librerie di cui hanno bisogno. Per esempio, ho due librerie grafiche di mia proprietà.

Non voglio insegnare a nessuno qui, ma un consiglio: ragazzi, annusate la polvere. Imparare a lavorare con gli utenti. Impara la loro psicologia. Imparare a controllare le loro idee. Poi scendete rapidamente sulla terra e ragionerete in un modo completamente diverso. Anch'io una volta credevo in alcune idee speciali e belle, ma tutte queste sciocchezze non funzionano. Quello che state discutendo qui non serve a nessuno se non a voi.

+ questo è giusto

L 'unica volta che ho detto a un utente - facciamo un'interfaccia veramente cool e bella !

Quello di cui hanno veramente bisogno è un Expert Advisor senza decorazioni fiorite e funzionalità aggiuntive - cioè senza una bella interfaccia user-friendly!

La cosa più importante che gli utenti vogliono è il funzionamento del prodotto secondo il TOR.

Sappiamo tutti che lo sviluppo dell'interfaccia + sul design - richiede una discreta quantità di tempo ma per il debugging si spende una risorsa molto costosa TEMPO!

 
Ilyas:
Controlla l'evento CHARTEVENT_MOUSE_MOVE, invia lo stato del mouse, i tasti Crtl e Shift.
Come ho spiegato sopra, questo evento non è legato all'oggetto e viene inviato troppo spesso. Non essere legati a un oggetto è più importante.
 
Ilyas:
Controlla l'evento CHARTEVENT_MOUSE_MOVE, trasmette lo stato del mouse, dei tasti Crtl e Shift.

non è esattamente quello che ci si aspetta.

L'evento OBJECT_CLICK viene generato dopo il sollevamento del mouse e non può essere tracciato quando il mouse viene premuto su un oggetto.

Voglio un evento di avvio quando il mouse viene premuto sull'oggetto.

Combinatore:
Ho spiegato sopra, questo evento non è legato all'oggetto e viene inviato troppo spesso. Non essere legati all'oggetto è più importante.
CHARTEVENT_OBJECT_DRAG - se ricordo bene viene generato non all'inizio del movimento ma dopo il rilascio del mouse?
 
o_O:
CHARTEVENT_OBJECT_DRAG è un evento quasi inutile. Perché segnala la fine del trascinamento di un oggetto grafico nel modo standard (cioè dovrebbe essere selezionato, e gli oggetti selezionati sono perfettamente cancellati premendo del)
 
Vasiliy Sokolov:
Le prestazioni sono influenzate dall'algoritmo di consegna dell'evento + risposta minima dell'elemento all'evento passato. Sembra che nel tuo caso la lentezza non sia dovuta all'evento in sé, ma agli algoritmi che gestiscono questi eventi.

Guarda, la consegna dell'evento e l'algoritmo sono i più semplici possibili: in OnChartEvent() sull'evento MouseMove, all'interno del quale è fissato anche lo stato del pulsante sinistro del mouse premuto, catturiamo l'evento di pressione della maniglia di movimento della finestra. Successivamente, chiamate la funzione di spostamento della finestra in cui uno spostamento X e Y (usando ObjectSetInteger()) uguale allo spostamento corrente del cursore viene applicato a tutti gli oggetti finestra all'interno del ciclo. Questo è tutto.

Allo stesso tempo, è chiaro che più oggetti nella finestra, più oggetti devono essere spostati. Apparentemente, un gran numero di oggetti da spostare è ciò che ha causato il rallentamento...