Errori, bug, domande - pagina 1219

 
 
sanyooooook:

Controllato, non funziona.

E il bar è più informativo. Mi piacerebbe pensare che sia un bug risolvibile e non un'altra innovazione.

 
Silent:

Controllato, non funziona.

E il bar è più informativo. Mi piacerebbe pensare che sia un bug risolvibile e non un'altra innovazione.

Sì, non sarebbe conveniente senza.
 

Buon pomeriggio. Potete dirmi per favore se l'indicatore può disegnare le seguenti cose: c'è una linea, è disegnata, per esempio, secondo i prezzi dei massimi delle candele. Poi, arriva il momento in cui questa linea non è più disegnata (valori EMPTY_VALUE). Poi arriva il momento in cui la linea dovrebbe essere tracciata di nuovo. Questo andrebbe bene, ma la fine della linea precedente è collegata all'inizio della linea corrente. Domanda: c'è un modo per evitare questo, cioè per evitare che le linee vengano unite? E cosa devo fare/usare per questo?

P.S. Per quanto ho capito, ogni stile di disegno collega valori non vuoti. Allora le lacune sono sempre collegate. Ma forse mi sono perso qualcosa...?

 
Tapochun:

Buon pomeriggio. Potete dirmi per favore se l'indicatore può disegnare le seguenti cose: c'è una linea, è disegnata, per esempio, secondo i prezzi dei massimi delle candele. Poi, arriva il momento in cui questa linea non è più disegnata (valori EMPTY_VALUE). Poi arriva il momento in cui la linea dovrebbe essere tracciata di nuovo. Questo andrebbe bene, ma la fine della linea precedente è collegata all'inizio della linea corrente. Domanda: c'è un modo per evitare questo, cioè per evitare che le linee vengano unite? E cosa devo fare/usare per questo?

P.S. Per quanto ho capito, ogni stile di disegno collega valori non vuoti. Allora le lacune sono sempre collegate. Ma forse mi sono perso qualcosa...?

Puoi usare più di un buffer per una linea - puoi cambiare il numero di buffer alla transizione successiva.

A seconda della situazione, potresti aver bisogno di 2 o 3 buffer in totale. 3 quando un segmento può essere composto da 2 candele.

(qui c'è un ottimo articolo - potrebbe essere utile)

Per ridurre il numero di buffer, sono passato personalmente agli oggetti grafici - salvando i valori delle linee in un buffer comune non indicatore.

Ma con questo approccio, dovete ricordarvi di cancellare gli oggetti anche prima di iniziare - perché quando salvate il modello, vengono salvati anche tutti gli oggetti sul grafico.

Конструктор трейдера: Украшение индикаторов - Статьи по MQL4
  • www.mql5.com
Конструктор трейдера: Украшение индикаторов - Статьи по MQL4: особенности автоматических торговых стратегий
 
Tapochun:

Buon pomeriggio. Potete dirmi per favore se l'indicatore può disegnare le seguenti cose: c'è una linea, è disegnata, per esempio, secondo i prezzi dei massimi delle candele. Poi, arriva il momento in cui questa linea non è più disegnata (valori EMPTY_VALUE). Poi arriva il momento in cui la linea dovrebbe essere tracciata di nuovo. Questo andrebbe bene, ma la fine della linea precedente è collegata all'inizio della linea corrente. Domanda: c'è un modo per evitare questo, cioè per evitare che le linee vengano unite? E cosa devo fare/usare per questo?

P.S. Per quanto ho capito, ogni stile di disegno collega valori non vuoti. Allora le lacune sono sempre collegate. Ma forse mi sono perso qualcosa...?

File:
nb8dma.mq5  4 kb
 
ALXIMIKS:

è possibile usare più di un buffer per una linea - cambiare il numero di buffer al prossimo passaggio.

A seconda della situazione, può essere necessario un totale di 2 o 3 buffer. 3 quando un segmento può essere composto da 2 candele.

(qui c'è un ottimo articolo - potrebbe essere utile)

Per ridurre il numero di buffer, sono passato personalmente agli oggetti grafici - salvando i valori delle linee in un buffer comune non indicatore.

Ma con questo approccio, devi ricordarti di cancellare gli oggetti anche prima di iniziare - perché quando salvi il modello, vengono salvati anche tutti gli oggetti del grafico.

ALXIMIKS, grazie per la risposta. Non è proprio adatto alle opzioni che hai suggerito, ecco perché:

1. Secondo me, avere 2-3 buffer per disegnare una linea non è una buona idea. Anche se mettete i dati di una linea in un buffer e i dati della seconda nel secondo buffer, vi troverete di fronte a una situazione in cui dovrete usare ancora il primo buffer e le linee collegheranno ancora la prima alla terza (se impostate EMPTY_VALUE per un valore vuoto, come ho fatto io);

2. Ho letto l'articolo suggerito da voi. Le idee suggerite in esso sono implementate in modo molto più efficiente ora (dopo l'aggiornamento di MQL4/5), grazie alle nuove caratteristiche del linguaggio;

3. Sull'uso di oggetti grafici. L'uso di buffer indicatori è più conveniente del salvataggio dei valori nel buffer non indicatori. A mio parere, sarà anche più facile utilizzare le linee dell'Expert Advisor.

4. Il postdi MigVRN qui sotto è l'opzione migliore, credo.

 
MigVRN:

Grazie, è proprio quello di cui ho bisogno! È un peccato che l'aiuto non dica che inizializzando con zero ci si libera delle colle (con lo stile DRAW_LINE).
 
Tapochun:
Grazie, è quello di cui ho bisogno! È un peccato che l'aiuto non dica che l'inizializzazione zero elimina le colle (per lo stile DRAW_LINE).

Nell'aiuto si parla dello stile DRAW_FILLING. Ho solo pensato che fosse lo stesso nello stile DRAW_LINE. Meglio guardare nell'aiuto su DRAW_FILLING- non deve essere inizializzato con zero. Intendo per qualsiasi valore che è preimpostato come vuoto.

   #define  INDICATOR_EMPTY_VALUE -1.0
   ...
//--- значение INDICATOR_EMPTY_VALUE (пустое значение) не будет участвовать в расчете
   PlotIndexSetDouble(индекс_построения_DRAW_FILLING,PLOT_EMPTY_VALUE,INDICATOR_EMPTY_VALUE);
 
MigVRN:

Nell'aiuto si parla dello stile DRAW_FILLING. Pensavo solo che fosse lo stesso nello stile DRAW_LINE. Meglio guardare nell'aiuto su DRAW_FILLING- non deve essere inizializzato con zero. L'ho inteso come qualsiasi valore che è preimpostato come vuoto.

Non ho mai rivisto DRAW_FILLING, perché solo DRAW_LINE e DRAW_SECTION mi soddisfano logicamente. Ma, in questi stili, quando si imposta un valore vuoto

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, EMPTY_VALUE );

solo i valori vuoti di due linee adiacenti sono collegati, il che non è richiesto. Tuttavia, se lo si fa nel modo che suggerisci:

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, 0 );

Lo stile DRAW_LINE fa quello che vuoi, e lo stile DRAW_SECTION no, ma l'aiuto di DRAW_SECTION dice che due valori non vuoti sono uniti! Qualsiasi altro valore in DRAW_LINE invece di 0 risulterà in un incollaggio. In DRAW_SECTION, qualsiasi valore al posto di uno vuoto risulterà comunque nell'incollaggio. Apparentemente DRAW_FILLING è costruito su un principio diverso.

Motivazione: