![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie, signor Human.
Da dove vengono i segnali "long" e "short", li hai scritti tu stesso nel codice?
Diciamo che troviamo loschema piùfrequente, cosa ci dice questo schema? Cosa dovremmo fare dopo, comprare o vendere?
Senza dividere in acquisto e vendita è impossibile calcolare il numero totale di modelli e quindi la media.
In questo caso è più facile per me rispondere con il codice.
Un cazzo è solo una vista laterale.
Nel mio caso solo due array(arr_buy earr_sell) sono usati per memorizzare tutte le informazioni del modello,
che sono facili da salvare in caso di riavvio forzato di Expert Advisor, in modo da non perdere le statistiche.
Nel tuo caso, oltre a un singolo arrayPatterns[index], ci sono diverse variabili statiche di cui non puoi fare a meno,
per esempiostatic int Element[];
static int PrevIndex = -1;
Inizialmente, ho anche iniziato a scrivere con una sola matrice, ma poi ho rinunciato.
Per quanto riguarda l'identificazione dei modelli e la rimozione di un indicatore: non ho ancora capito il tuo codice (è più complicato senza commenti).
PS. Ho capito che non avete la possibilità di considerare l'assenza completa di un segnale (nessun modello), si suppone che ci sia sempre un segnale?
Idealmente dovrebbero essercene 4: comprare/vendere/indeciso/sconosciuto (non visto prima), ma in pratica non è fattibile implementare un tale schema, 3 sono sufficienti.
Non capisco la domanda, cosa intende per auto-prescrizione? Come immagina di interpretare i modelli?
Array static int Element[] è dichiarato in questo modo solo per convenienza a non allocare memoria per esso ad ogni chiamata di funzione. Cioè l'elemento statico può essere rimosso.
Tutta la descrizione è data qui. Ecco perché, in particolare, non ci sono commenti nel codice.
Il segnale è effettivamente sempre lì (come lo avete voi). Ma il flip avviene solo sulla soglia. Chiudere al momento dell'incertezza del segnale come hai fatto tu:
Non l'ho fatto.Ci devono essere almeno 3 aree di condizioni di mercato (acquisto/vendita/indeterminato). Cioè, ci sono due aree chiaramente identificabili e una a cui appartengono gli stati indefiniti.
Idealmente dovrebbero essercene 4: comprare/vendere/non definito/sconosciuto (precedentemente non visto), ma in pratica non è pratico implementare un tale schema, 3 sono sufficienti.
Nel codice EA di cui sopra, questo è più o meno come viene fatto. Ci sono 4 stati che sono scritti in due array unidimensionali che possono essere ulteriormente interpretati in qualsiasi modo.
1. comprare=0, vendere=0, - nessun segnale
2. comprare=1, vendere=0, - comprare
3. comprare=0, vendere=1, - vendita
4. buy=1, sell=1, - incertezza, è possibile comprare e vendere, o rimanere sulla barricata in attesa della certezza (come volete)
Non è ancora chiaro come interpretarlo.
Per essere onesti, non ho analizzato il codice. Per questo chiedo con parole semplici: quali schemi sono scritti, cosa sono, e da dove vengono i segnali binari, dalla storia? Non è chiaro.
Le poppe sono registrate, su ogni nuova barra, a 10 bit (possono essere aggiunte se lo si desidera). Questo produce 1024 diverse combinazioni di segnali.
Ogni bit del modello è uno dei semplici segnali (binari) da scegliere (finora ne sono stati fatti 17 tipi, il primo che mi è venuto in mente).
Per esempio:
ecc...
Naturalmente, dalla storia, e da dove altro prenderla, il futuro è sconosciuto.
Alcune selezioni di parametri di input:
Male, naturalmente, anche se 2,5 anni la TS è costantemente sul mercato. Ma non è questo il punto.
ecc.