Discussione sull’articolo "Algoritmi Genetici - È Facile!" - pagina 14

 
Buongiorno!
Ho letto l'articolo sull'utilizzo degli algoritmi genetici. Molto impressionato!!!

Ho diverse domande sull'uso dell'indicatore ZigZag, ma la più importante è come si fa a dare segnali dall'indicatore per l'allenamento?

l'indicatore ha un passo variabile.
Grazie in anticipo.
 
Debugger:
1) Ho letto l'articolo sull'uso degli algoritmi genetici. Molto impressionato!!!

2) Come si alimentano i segnali dell'indicatore per l'allenamento?

3) L'indicatore ha un passo variabile.

Mi scuso per la mia leggera correzione del vostro messaggio. Spero nella sua comprensione. Grazie in anticipo. :)

Allora:

1) Grazie.

2) Non sto facendo alcun tipo di pubblicità. L'articolo cerca gli estremi dell'alternativa ZZ e confronta il profitto totale in pip con il profitto dell'indicatore ZZ (che è preimpostato da uno script speciale per il massimo profitto tenendo conto dello spread).

3) E non è importante per dimostrare le capacità di UGA. :)


Se non ho risposto in modo esauriente alle vostre domande, chiedetene altre - cercherò di aiutarvi al meglio delle mie capacità (o vi risponderanno coloro che hanno già compreso il funzionamento dell'algoritmo UGA).

 

Ottimo articolo, stavo cercando qualcosa di simile.

Una precisazione:

3.10 GenoMerging. Заимствование генов

Questo operatore GA non ha un equivalente naturale

Non è del tutto vero.

Questo processo in natura è chiamato trasferimento genico orizzontale.

In generale - rispetto e stima per l'autore, solo che è necessario avvolgere questa libreria in una classe, per garantire la mobilità d'uso.

Dalle osservazioni sulla conversione di bool in double - aumenta la quantità di calcoli?

A quanto ho capito, per tutti i geni vengono impostati lo stesso intervallo di variazione e la stessa precisione. L'intervallo non ha un ruolo particolare, qualsiasi intervallo desiderato può essere "compresso" in quello richiesto. Ma l'accuratezza è più difficile, deve essere portata al massimo. E se si devono cercare 1000 valori diversi per una variabile, lo stesso intervallo di ricerca verrà automaticamente assegnato a tutte le altre variabili, anche a quelle bool. Non succederà che l'algoritmo spenderà una buona parte delle risorse computazionali per calcolare i valori di tale variabile? Per esempio, se abbiamo una variabile bool, con un intervallo da -10 a 10 e una precisione di 0,1 - risulta che per l'algoritmo su questa variabile ci saranno cento DIVERSI valori "veri" e 100 DIVERSI valori "falsi", che daranno gli stessi due valori della funzione fitness. Inoltre, la popolazione stessa può contenere molti individui diversi che differiscono su questa variabile secondo l'algoritmo stesso, ma sono uguali perché il valore reale di double è un bool.

Non dovremmo introdurre un'altra matrice, impostando almeno la precisione per ogni gene?

 
Laryx:

1- Ottimo articolo, stavo cercando qualcosa di simile.

2. Da quanto ho capito, per tutti i geni vengono impostati lo stesso intervallo di variazione e la stessa precisione. L'intervallo non è importante, qualsiasi intervallo desiderato può essere "spremuto" in quello richiesto. Ma l'accuratezza è più difficile, deve essere portata al massimo. E se si devono cercare 1000 valori diversi per una variabile, lo stesso intervallo di ricerca verrà automaticamente assegnato a tutte le altre variabili, anche a quelle bool. Non succederà che l'algoritmo spenderà gran parte delle risorse computazionali per calcolare i valori di tale variabile? Per esempio, se abbiamo una variabile bool, con un intervallo da -10 a 10 e una precisione di 0,1 - risulta che per l'algoritmo su questa variabile ci saranno cento valori DIVERSI "vero" e 100 valori DIVERSI "falso", che danno gli stessi due valori della funzione fitness. Inoltre, la popolazione stessa può contenere molti individui diversi che differiscono su questa variabile secondo l'algoritmo stesso, ma sono uguali perché il valore reale di double è un bool.

3. Non dovremmo introdurre un altro array che specifichi almeno la precisione per ogni gene?

1. Grazie.

2. L'articolo mantiene l'algoritmo il più semplice possibile ( progetto open source) per facilitare la comprensione del lettore. È un punto di partenza per miglioramenti e abbellimenti a piacere.

3. Naturalmente, io stesso utilizzo un passo personalizzabile (precisione) per ogni gene (progetto chiuso).

 

Questo sviluppo di GA merita certamente un'attenzione onorevole).

Tanto più che, a differenza della MT4, nella MT5 l'ottimizzazione è possibile solo fino al penultimo giorno. Tenendo conto di questa sfumatura, questo argomento sarà sempre più rilevante per gli utenti e gli sviluppatori di neuro-advisor. E naturalmente non c'è dubbio che gli algoritmi genetici siano inseparabili dai modelli matematici delle reti neurali come la scarpa sinistra da quella destra).

Vorrei quindi porre una domanda. Andrei, dimmi, sulla base di questi test ed esperimenti (e non ho dubbi che tu ne abbia fatti a sufficienza), qual è secondo te, e in relazione al tuo EA (e forse non solo al tuo) quello che dà i migliori risultati nell'ottimizzazione? Il vostro GA o il GA interno del terminale?

Grazie in anticipo per la tua risposta.

 
wiantin:

...cosa secondo voi, e in relazione al vostro EA (e forse non solo al vostro) dà risultati migliori nell'ottimizzazione? Il vostro GA o il GA interno del terminale?

Il mio GA ha risultati migliori. È più personalizzabile.

E le ultime versioni implementano la ricerca multicriterio con elementi di selezione elitaria.

Ma anche l'ottimizzatore interno è molto buono, se avesse più impostazioni e una ricerca multicriterio, non varrebbe nulla.

 
joo:

Le ultime versioni implementano la ricerca multicriteriale con elementi di selezione elitaria.

C'è la possibilità di familiarizzare con questi elementi?
 

array fuori range in 'UGAlib.mqh' (264,24)

Non capisco come aumentare il numero di geni consentito, suggerimento di chi ne sa di più sulle librerie.

L' errore ha iniziato a comparire non solo quando si aumenta il numero di geni...

upd 2 ho capito, il problema non è nella libreria, mql5 non accetta array delle dimensioni che ho impostato.

 
wiantin:
C'è un modo per familiarizzare con loro?
No. Solo se penso di scrivere un articolo di approfondimento.
 
ozer-man:

array fuori range in 'UGAlib.mqh' (264,24)

Non capisco come aumentare il numero di geni consentito, suggerimento di chi ne sa di più sulle librerie.

L' errore ha iniziato a comparire non solo quando si aumenta il numero di geni...

upd 2 ho capito, il problema non è nella libreria, mql5 non accetta array delle dimensioni che ho impostato.

L'errore è dovuto al fatto che la dimensione della seconda dimensione è fissa array[][const].

Per ovviare a questa limitazione è necessario utilizzare strutture (o classi), qualcosa di simile:

struct Сhromosome //cromosoma
  {
    float Gene[]; //generi.
  };
Сhromosome Population[]; // Popolazione


ps. e come mai mi sono perso due interi post. :)