Il terminale MT5 è stato aggiornato oggi e la finestra "Ottimizzazione" non appare durante il test - pagina 21

 

Il Service Desk ha ammesso un errore di ottimizzazione in avanti.

Hanno detto che l'avrebbero aggiustato.

In attesa.

 
Сергей Таболин:

Ho notato che gli scambi sono contrassegnati da colori diversi.

Forse sarebbe meglio colorare i trade redditizi e quelli perdenti per renderli più chiari.


No, non dovremmo. Dal vettore e dal colore è chiaro se è redditizio o no.

 
Сергей Таболин:

No, ma che cazzo!

Perché diavolo qualcuno dovrebbe decidere che con questo rapporto l'ottimizzazione dovrebbe essere interrotta?

Per favore, fate attenzione al vostro vocabolario.

 
Сергей Таболин:

Mi dispiace.

Beh, come altro si potrebbe chiamare?

È come quella barzelletta: "Bene, allora OH... ** **** **** "

 
Сергей Таболин:

No, ma che cazzo!

Perché diavolo qualcuno dovrebbe decidere che l'ottimizzazione dovrebbe essere abortita con questo rapporto?

Vi ho fatto notare che i giochi con una massiccia uscita INIT_PARAMETERS_INCORRECT nella genetica sono pericolosi.

Uccidete l'idea stessa di selezione genetica, date 502 fallimenti su 512 tentativi e nonsapetenemmenocosa state facendo. Vuoi continuare la genetica lasciando 10 individui a riprodursi?

Leggi gli articoli sugli algoritmi genetici e smetti di usare INIT_PARAMETERS_INCORRECT nella genetica:

 
Сергей Таболин:

Allora, cosa vuoi fare?

Lo consiglio per la genetica:

  1. Leggete la meccanica dell'enumerazione genetica
  2. Scegliere una funzione obiettivo sufficientemente liscia per permettere all'algoritmo di vedere miglioramenti nelle generazioni e andare avanti. Non ingannare l'algoritmo con falsi risultati. L'algoritmo genetico è una cosa piuttosto delicata e sensibile.
  3. Non uccidere più di un quarto della popolazione per passaggio attraverso INIT_PARAMETERS_INCORRECT (usare in casi critici, o meglio non usare affatto). Un quarto è una stima approssimativa e non è assolutamente una raccomandazione o un permesso per farlo.
  4. I parametri da eseguire devono essere operativi per tutto l'intervallo. Non fate consapevolmente dei buchi nei parametri ricercati, in modo da non generare INIT_PARAMETERS_INCORRECT. Lo stai facendo solo per tua comodità, non per pensare al processo di brute-forcing
Sì, è necessario riorganizzare la logica dei parametri per adattarsi al processo di forza bruta e al metodo di ricerca utilizzato, non alla propria convenienza.
 
Renat Fatkhullin:

Lo consiglio per la genetica:

  1. Leggi la meccanica dell'enumerazione genetica
  2. Scegliere una funzione obiettivo sufficientemente liscia per permettere all'algoritmo di vedere miglioramenti nelle generazioni e andare avanti. Non ingannare l'algoritmo con falsi risultati. L'algoritmo genetico è una cosa piuttosto delicata e sensibile.
  3. Non uccidere più di un quarto della popolazione per passaggio attraverso INIT_PARAMETERS_INCORRECT (usare in casi critici, o meglio non usare affatto). Un quarto è una stima approssimativa e non è assolutamente una raccomandazione o un permesso per farlo.
  4. I parametri da eseguire devono funzionare per tutto l'intervallo. Non fate consapevolmente dei buchi nei parametri ricercati, in modo da non generare INIT_PARAMETERS_INCORRECT. Lo state facendo solo per la vostra comodità, e non pensate al processo di forza bruta.
Sì, è necessario riorganizzare la logica dei parametri per adattarsi al processo di forza bruta e al metodo di ricerca utilizzato, non alla propria convenienza.

La genetica non ha bisogno di una logica variabile? Voglio dire, possiamo prendere 100 variabili (con una gamma di valori diversi) e farne 4 e darlo alla genetica? Sì, potremmo, ma il principio sarebbe violato, otterremmo una completa casualità e una genetica non funzionale. Quindi come proponi di fare a meno di INIT_PARAMETERS_INCORRECT, quando il controllo delle variabili è usato solo per escludere valori illogici di variabili in combinazione con altri valori di variabili o per escludere intervalli di enumerazione? Sono davvero curioso, si può fare un sacco di lavoro manuale per numerare i valori escludendo le variabili, ma non è efficiente! Come farlo in modo efficiente?

 
Aleksey Vyazmikin:

La genetica non ha bisogno di una logica variabile? Voglio dire, possiamo prendere 100 variabili (con una gamma di valori diversi) e farne 4 e darlo alla genetica? Sì, possiamo, ma il principio sarebbe violato, otterremmo una completa casualità e una genetica non funzionale. Quindi come proponi di fare a meno di INIT_PARAMETERS_INCORRECT, quando il controllo delle variabili è usato solo per escludere valori illogici di variabili in combinazione con altri valori di variabili o per escludere intervalli di enumerazione? Sono davvero curioso, si può fare un sacco di lavoro manuale per numerare i valori escludendo le variabili, ma non è efficiente! Come si fa a renderlo efficiente?

Non so da dove hai preso la tua domanda.

Ho detto di scegliere in modo sensato e deliberato i tuoi parametri e di non usare INIT_PARAMETERS_INCORRECT quando hai preso in mano uno strumento molto delicato. Dovresti lavarti le mani prima di usare un microscopio, non lottare per il diritto di fare quello che vuoi quando entri in un ambiente sterile. Il potere della genetica non può essere rovinato da un atteggiamento disattento - semplicemente non otterrete i risultati che volete. Pensate che la magia di ridurre l'area di ricerca di NN ordini di grandezza sia data per niente? Negli stessi termini di un eccesso di sporcizia totale?

Un completo fraintendimento dei principi è stato dimostrato sopra. Uccidere 502 individui in una popolazione di 512 e poi incolpare la colonia di essere morta e di non volersi riprodurre ulteriormente.

Cosa e come scegliete come parametri sono affari vostri. Ma il mio mestiere è quello di indicare la purezza minima degli esperimenti se si fanno errori deliberati.

Leggi la teoria, finalmente.

 
Сергей Таболин:

Non si può fare nulla per riconfigurarlo. Ci vorranno mesi di lavoro per prescrivere manualmente tutti i parametri ammissibili. E devi capire come passare il tutto all'ottimizzatore. È più facile uccidersi.

Ma se la prima popolazione ha dato zero risultati, quanto è difficile costruirne una nuova? Certo, è più facile interrompere l'ottimizzazione e dire che non c'è niente da riprodurre, piuttosto che rendere conto dei parametri non funzionanti e ricostruire una popolazione in uno funzionante...

Non avresti dovuto rimuovere la cosa più importante: pensi che la magia di ridurre l'area di ricerca di NN ordini di grandezza sia data per niente? Negli stessi termini di un completo overshoot sporco?

Vi consiglio di imparare e di ascoltare coloro che passano il loro tempo ad aiutarvi.

Soprattutto quando si tratta di uno degli sviluppatori diretti.

 
Renat Fatkhullin:

Non so da dove hai preso la tua domanda.

Ho detto di scegliere i parametri saggiamente e deliberatamente e di non usare INIT_PARAMETERS_INCORRECT quando avete preso in mano uno strumento molto delicato. Le mani devono essere lavate prima di usare un microscopio, e per aver lottato per il diritto di fare quello che si vuole quando si entra in un ambiente sterile. Il potere della genetica non può essere rovinato da un atteggiamento disattento - semplicemente non otterrete il risultato che volete. Pensate che la magia di ridurre l'area di ricerca di NN ordini di grandezza sia data per niente? Nelle stesse condizioni di un superamento totale disordinato?

Un completo fraintendimento dei principi è stato dimostrato sopra. Uccidere 502 individui in una popolazione di 512 e poi incolpare la colonia di essere morta e di non volersi riprodurre ulteriormente.

Cosa e come scegliete come parametri sono affari vostri. Ma il mio compito è quello di sottolineare che un minimo di purezza della sperimentazione dovrebbe essere osservato se si fanno errori deliberati.

Leggi la teoria, finalmente.

Il punto è che INIT_PARAMETERS_INCORRECT è spesso usato per restringere l'area di ricerca eliminando i valori illogici/non necessari, il che accelera significativamente l'ottimizzazione quando si usa la forza bruta completa. Se non ci fosse INIT_PARAMETERS_INCORRECT, allora la genetica si imbatterebbe in varianti non necessarie e ci giocherebbe, quindi non escludere i valori variabili non è un'opzione. Quindi è quello che sto chiedendo, come suggerisci, come professionista, di risolvere questo problema senza troppo sforzo. Enumerare manualmente tutte le variabili corrette, per un'enumerazione senza lacune ed escludere consapevolmente i valori INIT_PARAMETERS_INCORRECT non è un'opzione - molto lunga. L'uso dei contatori intelligenti non è per tutti e può anche danneggiare la genetica.

Quindi cosa fare, fare un passaggio su tutti i parametri in 1 giorno e scrivere i loro valori corretti nel codice, assegnare un numero ordinale, e quindi selezionarli per la genetica?