bug e disfunzioni - pagina 2

 
angevoyageur:

Non dovete aspettarvi qualcosa di diverso da ciò che è descritto nella documentazione.

Ilnumero di buffer in un indicatore deve essere dichiarato in anticipo usando le direttive del compilatore, per esempio:

#propertyindicator_buffers 3// Numero di buffer
#propertyindicator_plots 2// numero di trame

Il numero di buffer utilizzati per tracciare dipende dal tipo di indicatore. Questo tipo può essere impostato dinamicamente. Quindi il compilatore non ha modo di determinare l'uso corretto dei vostri buffer. La dichiarazione qui sopra potrebbe essere usata con 2 trame di 1 buffer, la terza con INDICATOR_CALCULATIONS, o 1 trama di 1 buffer e 1 di 2 buffer, o...

MQL5 ti dà una grande flessibilità, sta a te legare il tuo buffer in modo logico con il tuo indicatore(i). Questo non è un bug.

Non lo chiamerei un bug, è una disfunzione. specificherò d'ora in poi se considero la segnalazione come un bug o una disfunzione.

Capisco il concetto di #pragma, ma se dichiaro attraverso #pragma

#property indicator_buffers 3
#property indicator_plots   3

questo non significa che userò 3 buffer e 3 trame, significa che ho limitato l'uso delle risorse a un massimo di 3 buffer con un massimo di 3 trame, affinché il sistema sappia quanta memoria e/o altre risorse deve riservare all'avvio del mio indicatore.

Quindi, indipendentemente dai massimi che ho dichiarato, il vero utilizzo è determinato attraverso l'allocazione dinamica.
Quindi quando dichiaro unbuffer indicatore comebufferINDICATOR_CALCULATIONS, non mi aspetto che sia visibile sul grafico.

 
angevoyageur:

Che oggetti stai disegnando, il primo sembra una linea di tendenza, ma il secondo ha solo 2 punti di ancoraggio?

Qual è la tua impostazione per la sensibilità del magnete?

questa è l'espansione di fibonacci, sensibilità del magnete impostata a 50. ma non funziona correttamente anche su valori più bassi, come 20.

E anche altri tipi di oggetti, come le linee di tendenza.

 
graziani:

g #4

il magnete (strumenti->opzioni->grafici->sensibilità magnete) non funziona correttamente con le candele.

i punti selezionati non sono posizionati sui punti tipici delle candele (alto/basso/...), ma nello spazio intermedio.

Oltre a questo, se si sposta un punto, vengono spostati anche gli altri, anche se si voleva spostarne solo uno.

Penso che lo snap funzioni solo quando lasci andare il punto di ancoraggio, non mentre lo stai trascinando. So che funziona diversamente in Ninja, per esempio, ma penso che questo sia un comportamento normale per MetaTrader.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
  • www.mql5.com
Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding - Documentation on MQL5
 
RaptorUK:
Penso che lo snap funzioni solo quando lasci andare il punto di ancoraggio, non mentre lo stai trascinando. So che funziona diversamente in Ninja, per esempio, ma penso che questo sia il comportamento abituale per MetaTrader.
No, in MT4 questo funziona correttamente.
 
graziani:

Non lo chiamerei un bug, ma una disfunzione. d'ora in poi specificherò se considero il rapporto un bug o una disfunzione.

Capisco il concetto di #pragma, ma se dichiaro attraverso #pragma

questo non significa che userò 3 buffer e 3 trame, significa che ho limitato l'uso delle risorse a un massimo di 3 buffer con un massimo di 3 trame, affinché il sistema sappia quanta memoria e/o altre risorse deve riservare all'avvio del mio indicatore.

Quindi, indipendentemente dai massimi che ho dichiarato, il vero utilizzo è determinato attraverso l'allocazione dinamica.
Quindi quando dichiaro unbuffer indicatore comebufferINDICATOR_CALCULATIONS, non mi aspetto che sia visibile sul grafico.

Puoi mostrare lo snippet di codice che hai usato per questa "disfunzione"?
 
RaptorUK:
Penso che lo snap funzioni solo quando lasci andare il punto di ancoraggio, non mentre lo stai trascinando. So che funziona diversamente per esempio in Ninja, ma penso che questo sia un comportamento usuale per MetaTrader.
Ah ho capito, lo snap sull'asse X funziona mentre lo si sposta in MT4 ma non in MT5.
 
graziani:

questa è l'espansione di fibonacci, sensibilità del magnete impostata a 50. ma non funziona correttamente anche su valori più bassi, come 20.

e anche altri tipi di oggetti, come le linee di tendenza.

Non sono molto abituato con questo tipo di strumento, ma mi sembra che funzioni, no?

Sensibilità del magnete

 
angevoyageur:
Puoi mostrare lo snippet di codice che hai usato per quella "disfunzione"?

OK, sembra che ora ci stiamo allontanando dalla mia idea di segnalare questa "disfunzione".

Il punto è che quando si definisce un array dinamico con SetIndexBuffer(int, double,ENUM_INDEXBUFFER_TYPE), è logico supporre (non essendo specificato nella documentazione) che definendo

   SetIndexBuffer(0, all, INDICATOR_DATA);
   SetIndexBuffer(1, up, INDICATOR_DATA);
   SetIndexBuffer(2, down, INDICATOR_CALCULATIONS);

non sarà possibile vedere l'esistenza del terzo buffer da nessuna parte: sul grafico, sulle proprietà dell' indicatore, o dall'EA che usa questo indicatore.
Tanto più che si è costretti a definire la natura dell'utilizzo di questo array allocato dinamicamente.
(Per ripetere ancora una volta, definire il numero di buffer e di trame attraverso #pragma NON significa che li utilizzerete tutti.)

Ma oltre a questo non essere vero, sembra che questo non sia ovvio anche per i programmatori esperti, quindi non vedo alcun senso al momento nel segnalare "disfunzioni" come questa.

Quindi ... dovrei segnalare cose come questa o no?

Proverò ancora una volta con qualcosa di simile che ho in mente, ma al momento questo sembra uno spreco di tempo (non solo mio) ;)

 
angevoyageur:

Non sono molto abituato a questo tipo di strumento, ma mi sembra che funzioni, no?


Non posso credere che tu non riesca a riprodurre questo fallimento al primo tentativo.

Basta mettere la sensibilità a 20/50 e provare a spostare i punti di ancoraggio della linea di tendenza, fibo o qualsiasi oggetto intorno.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
Documentation on MQL5: Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding
  • www.mql5.com
Standard Constants, Enumerations and Structures / Objects Constants / Methods of Object Binding - Documentation on MQL5
 
RaptorUK:
Ah ho capito, lo snap sull'asse X funziona quando lo sposti in MT4 ma non in MT5.

sì!

e scatta su un livello errato!

e quando si spostano altri punti, tutti i punti che non sono scattati si spostano anche, anche se non dovrebbero.

come mai sono il primo a notare questo?

Ho notato questo comportamento irritante dopo aver usato MT5 per 10 minuti 6 mesi fa.

Motivazione: