Unisciti alla nostra fan page
- Visualizzazioni:
- 20
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Quasi tutte le descrizioni degli indicatori contengono l'espressione "non-repainting". Quasi nessuna contiene un valore numerico. L'espressione non può essere falsa, poiché non è associata ad alcuna procedura: sia uno sviluppatore che non ha mai verificato, sia uno che ha effettuato verifiche approfondite scrivono la stessa frase. Questo script sostituisce l'espressione con un valore numerico.
L’invariante
Una volta che una barra si è chiusa ed è stata elaborata, nessun oggetto disegnato dall’indicatore su di essa può mai cambiare. Non deve spostarsi, non deve cambiare colore, non deve cambiare il proprio testo e non deve scomparire. Si tratta di un’affermazione che può risultare falsa, ed è proprio questo che la rende degna di essere verificata.
Metodo
Si inserisce un simbolo personalizzato con una porzione iniziale di dati storici reali, si applica l’indicatore tramite un modello e si registra ogni oggetto da esso disegnato. Vengono aggiunte altre barre e il grafico viene sottoposto a un ricalcolo completo, in modo che l’indicatore ricostruisca ogni oggetto da zero su un arco temporale più lungo. Ogni oggetto del passaggio precedente che si trova su una barra già chiusa viene quindi ricercato nel nuovo passaggio e confrontato campo per campo: entrambi i tempi di ancoraggio, entrambi i prezzi di ancoraggio, il colore e il testo. Ripeti l’operazione per tutti i passaggi richiesti.
Una ricostruzione completa è un test più impegnativo rispetto a un tick incrementale. L’indicatore deve riprodurre una mappa identica a partire da una cronologia più lunga, utilizzando indici di array diversi, senza alcun ricordo di ciò che ha tracciato l’ultima volta. Questo è esattamente ciò che un utente innesca scorrendo indietro abbastanza a lungo da consentire al terminale di recuperare barre più vecchie, ed è qui che i nomi degli oggetti basati sull’INDICE della barra, anziché sul TEMPO della barra, falliscono.
Cosa conta
Le modifiche e le sparizioni vengono conteggiate separatamente, e solo una modifica implica che l’affermazione sia falsa. La maggior parte degli indicatori di disegno elimina intenzionalmente i vecchi oggetti una volta superato un limite massimo, quindi una sparizione è solitamente dovuta alle vostre impostazioni di MaxObjects o HistoryBars piuttosto che a un difetto. Eseguite il test con tali limiti disattivati.
Un'esecuzione che non ha effettuato alcun confronto viene segnalata come INCONCLUSIVA, mai come superata. Il bug più pericoloso che un framework di test possa presentare è segnalare il successo in un'esecuzione vuota, poiché è proprio quel numero che finisce per essere citato.
L'output è un file CSV in MQL5\Files, con una riga per simbolo, timeframe e passo, contenente il conteggio degli oggetti confrontati, modificati e scomparsi, nonché il primo oggetto in errore. Sommando i valori della colonna marks_compared si ottiene il numero che è possibile pubblicare, insieme al file che lo conferma.
Utilizzo
1. Impostare Prefix sul prefisso del nome dell’oggetto del proprio indicatore. Elencare in Exclude tutto ciò che cambia per impostazione predefinita: una legenda ridisegnata ad ogni tick, un timer per il conto alla rovescia. Questi non sono «marks». Dichiararli qui è più onesto che filtrarli silenziosamente.
2. Associa il tuo indicatore a un grafico con tutte le limitazioni di disegno disattivate e salva quel grafico come modello. Imposta “Modello” su di esso.
3. Aumentare il valore di “SettleMs” finché il conteggio dei marcatori al primo passaggio smette di variare tra un'esecuzione e l'altra. Un valore troppo basso non produce errori, ma causa sparizioni fantasma.
4. Rompete qualcosa di proposito una volta: spostate un oggetto di una barra e verificate che lo script lo segnali, indicando il nome del campo. Un sistema di test che non avete mai visto fallire non è ancora una prova.
Cosa non vi dirà
Se l’indicatore sia accurato o se i suoi segnali siano attendibili. Risponde a una domanda ben precisa, ed è l’unico motivo per cui la risposta ha qualche valore.
Due test che sembrano test ma non lo sono, entrambi provati e scartati prima di questo: lo Strategy Tester, dove gli oggetti di un indicatore basato su iCustom non sono affatto enumerabili da un EA su MT4; e la variazione dell’input HistoryBars dell’indicatore stesso su un grafico in tempo reale, che modifica il punto di inizio del ciclo ma lascia inalterati rates_total e ogni indice dell’array, per cui il tipo di bug che questo test dovrebbe individuare non viene mai messo in evidenza.
Gratuito e senza necessità di attribuzione. Se individua qualcosa nel vostro codice, sarei lieto di sapere di cosa si tratta.

Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/76632
Sniper Gold Hybrid Recovery EA
EA per il recupero del basket XAUUSD su timeframe M15 con spaziatura ATR adattiva, verifica della struttura LL/LH, gating dinamico dell’RSI, rilevamento dei crolli, filtro delle notizie e ottimizzazione intelligente delle operazioni.
Volume Profile Levels Indicator
Crea un istogramma del volume orizzontale su una finestra di analisi retrospettiva recente e contrassegna il Punto di Controllo (POC) e l'Area di Valore utilizzando l'algoritmo standard TPO/volume per l'espansione dell'area di valore — non solo il POC ± un offset fisso. Viene aggiornato una volta per ogni nuova barra e visualizzato come barra laterale accanto al prezzo.
Support Resistance zig zag based
"Support Resistance zig zag based" è un indicatore di Price Action progettato per tracciare in modo automatico e dinamico sul grafico i livelli di supporto, resistenza e le aree di transizione (Flip Zones). Si concentra esclusivamente sulla rappresentazione chiara della struttura dei prezzi e sull’evidenziazione delle principali aree di rimbalzo (SBR e RBS). Include inoltre un pannello di controllo interattivo per monitorare in tempo reale l’andamento del mercato.
iFVG Indicator With Signals
iFVG Indicator With Signals