Domande da un "manichino" - pagina 267

 

Qualcuno può controllare se la restrizione del disegno nell'indicatore funziona?

PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,r+s-1);

Già scaricato l'indicatore pronto da qui , ancora disegna per tutta la storia.

Aggiornamento L'ho capito. Dovrebbe essere messo in OnCalculate e impostare un valore adeguato (rates_total-n).

 
pavelrev:

Nei giorni feriali, quando ci sono le citazioni, la stessa cosa.

A volte scivola attraverso e mostra ciò di cui hai bisogno, ma quando cambi il TF o ottieni un nuovo preventivo, inizia a dare di nuovo delle sciocchezze.

Bene, se nessuno ne è a conoscenza, scrivete all'autore dell'articolo (nei commenti), se non risponde - al Service Desk.
 

Sto cercando di disegnare un modello di indicatore multicurrency.

Ho dichiarato i buffer, li ho inizializzati (EMPTY_VALUE), da dove attingere... Ho fatto tutto. In OnInit. In OnCalculate - niente.

Lo eseguo e ottengo spazzatura nella finestra dell'indicatore su diverse parti del grafico.

Cosa c'è che non va?

Un'altra cosa. Quando cambio i parametri nella funzione f_comment e la ricompilo, il commento non cambia, le modifiche hanno effetto solo dopo aver rimosso e rimesso l'indicatore sul grafico. Va bene?

ps ha ricaricato il file

File:
 
Silent:

Sto cercando di disegnare un modello di indicatore multicurrency.

Ho dichiarato i buffer, inizializzati (EMPTY_VALUE), da dove attingere... Ho fatto tutto. In OnInit. In OnCalculate - niente.

Eseguilo - ottengo spazzatura nella finestra dell'indicatore su diversi pezzi del grafico.

Cosa c'è che non va?

Non vedo nessuna schifezza quando eseguo questo codice. Prova a rimuovere tutte le copie dell'indicatore dal grafico e a caricarle di nuovo.
 
tol64:
Non vedo nessuna schifezza quando eseguo questo codice. Prova a cancellare tutte le copie dell'indicatore dal grafico e a caricarle di nuovo sul grafico.
Clicca su timeframes, non sempre appare, e non su tutti i timeframes.
 

Sono stato seduto con esso per una settimana, ho buttato via tutto, ho lasciato solo array vuoti, ma ancora periodicamente attinge da buffer vuoti... Disegna ancora periodicamente con buffer vuoti...

 
Silent:

Lo sto usando da una settimana, ho scartato tutto, lasciando solo array vuoti, ma ancora periodicamente attinge da buffer vuoti... Che mucchio di stronzate.

Ho cliccato attraverso gli intervalli di tempo. All'inizio la spazzatura è venuta fuori. Poi è scomparso e non suona più.

Probabilmente un microbug difficile da catturare. )) Ma non è un problema. Si può (e si dovrebbe) mantenere un controllo più rigoroso (per sicurezza). Quando si calcolano i valori per i buffer degli indicatori non ci saranno problemi. E dove si suppone che i valori siano vuoti, basta specificare nuovamente un valore vuoto già per un particolare elemento dell'array.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
Silent:

Sono stato seduto con esso per una settimana, ho buttato via tutto, ho lasciato solo array vuoti, ma ancora periodicamente attinge da buffer vuoti... Disegna ancora periodicamente con buffer vuoti...

Trovato un bug:

   SetIndexBuffer(0,USDBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,EURBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,GBPBuffer,INDICATOR_DATA);
   SetIndexBuffer(0,xUSDBuffer,INDICATOR_CALCULATIONS); // 3
   SetIndexBuffer(1,xEURBuffer,INDICATOR_CALCULATIONS); // 4
   SetIndexBuffer(2,xGBPBuffer,INDICATOR_CALCULATIONS); // 5
Ma non ho visto nessuna schifezza né prima né dopo il montaggio. Solo una finestra vuota.
 
tol64:

Ha cliccato attraverso i periodi di tempo. All'inizio la spazzatura è venuta fuori. Poi è scomparso e non suona più.

Probabilmente un microbug difficile da catturare. )) Ma non è un problema. Si può (e si dovrebbe) mantenere un controllo più rigoroso (per sicurezza). Quando si calcolano i valori per i buffer degli indicatori non ci saranno problemi. E dove si suppone che i valori siano vuoti, basta specificare nuovamente un valore vuoto già per quel particolare elemento dell'array.

Heh... Dovrei decidere dove si trova, in INDICATOR_DATA o in INDICATOR_CALCULATIONS

Il trucco è che dopo aver rimosso l'indicatore e averlo installato di nuovo sul grafico, la spazzatura viene disegnata negli stessi posti in cui era. Anche questo è un trucco.

Controllo, è comprensibile. Lo vedrò ancora visivamente, se inizia a mentire. Ma quando chiamo qualche indicazione, dovrò ricalcolare i suoi valori?

È un po' storto...

MetaDriver:

Trovato un bug:

Ma non ho visto nessuna schifezza né prima né dopo il montaggio. Solo una finestra vuota.

Grazie, mi è sfuggito quando l'ho copiato.

La spazzatura appare, instabile e non su tutti i TF (o fuori portata, bisogna guardare il grafico a sinistra), ma è lì.

aggiornata è ancora visibile qui, dovrebbe essere 0.000000 0.000000... ovunque


 
Silent:

Sono stato seduto con esso per una settimana, ho buttato via tutto, ho lasciato solo array vuoti, ma ancora periodicamente attinge da buffer vuoti... Disegna ancora periodicamente con buffer vuoti...

Non ne sono sicuro, ma probabilmente è questo il motivo:

dall'aiuto:

Inizializzare un array con l'espressione ArrayInitialize(array, init_val) non significa inizializzare gli elementi della riserva allocata per questo array con lo stesso valore . Il ridimensionamento successivo dell'array con ArrayResize() all'interno della riserva corrente aggiunge elementi alla fine dell'arrayi cui valori sono indefiniti e, molto spesso, non uguali a init_val.