
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
Il problema è che l'obiettivo del compito è chiaro, ma la possibilità della sua implementazione in MQL sembra poco chiara, dato che non ho ancora familiarità con la funzione built-in array del tester-optimizer. Sto cercando di rileggere il manuale MQL ma non ho ancora trovato questo blocco. E l'ottimizzatore autocostruito da thecore non è tanto inaffidabile quanto poco comprensibile. Le variabili sono composte in modo piuttosto strano, non ci sono annotazioni e sono fondamentalmente diverse dalla versione funzionante menzionata nel link sopra. Se non è difficile, caro thecore, spiega il tuo punto di vista dell'ottimizzatore, in modo da poter adattare tutti i 19 parametri e auto-sostituire il risultato.
Mi sembra strano sentirlo dire da un programmatore, ma cercherò di spiegarlo (non di sillabarlo):
1. Supponiamo di avere una funzione con N parametri di ingresso
Funzione(n1,n2,...,n19);
2.Parametri
n1 varia da n1Min a n1Max con passo n1Step
....
n19 cambia da n19Min a n19Max con n19Step
È necessario:
- Passa attraverso tutti (per il metodo lineare) i parametri in entrata o non tutti (per il metodo della convergenza veloce) i parametri in entrata.
Ci sono molti metodi di convergenza veloce, uno dei quali è l'algoritmo genetico.
- Ogni volta che si inserisce un nuovo gruppo di parametri, si ottiene il risultato della funzione in uscita.
- Dovete scrivere un blocco per analizzare questi risultati e decidere se il risultato è
bene.
Ho capito che hai problemi con l'unità di analisi. Perché se non sapete come scrivere una funzione o come
o come guardare attraverso i parametri di input, non è per me, è per le classi di programmazione o per le persone a cui piace scrivere
le basi della programmazione.
Cosa fa l'unità di analisi:
1.Prende la barra BAR_Y più vecchia che volete analizzare, e infila i dati attuali al tempo Y nel vostro
funzione. Cioè, la vostra funzione pensa che BAR_Y sia TimeCurrent.
2.Ora prendete tante barre nella profondità della storia quante ne prenderebbe la vostra Function(n1,n2,...,n19) se fosse alla barra 0.
e ottenere qualche risultato.
Per esempio, la tua strategia sta cercando un estremo lungo iMA3,iMA2,iMA1. Allora abbiamo iMA_Y+2,iMA_Y+1,iMA_Y
Se è un punto estremo, ci fermiamo, altrimenti facciamo Y++;
OK. Troviamo il punto di estremo nella posizione t, cioè iMAt+2,iMAt+1,iMAt
Ora abbiamo bisogno di calcolare se il TP o lo SL saranno attivati
Cioè dal punto t scendiamo le barre t-1 e analizziamo la distanza da Open[t] a High[t] e a Low[t],
e poi da Open[t] a High[t-1] e a Low[t-1], se non raggiungiamo TP o SL andiamo oltre - prendiamo t-2 e così via fino a quando non funziona
TP o SL o entrambi.
Abbiamo trovato la PRIMA condizione per Funzione(n1,n2,...,n19).
Salviamo il risultato,
Poi facciamo t-- e procediamo con l'analisi fino alla barra 0.
4. Spostiamo Y e ripetiamo il processo.
Così troviamo tutte le occorrenze della nostra funzione Function(n1,n2,...,n19) fino al momento attuale.
5. Analizzare il momento attuale e vedere se ci sono state situazioni simili in passato e come sono finite.
6. Salvare il risultato.
7.Prendere la prossima serie di parametri n1,,n19 per Function(n1,n2,...,n19) e controllarla
8.Ripetere fino ad esaurire i parametri.
9. scegliamo il miglior set di parametri o diversi set, e secondo le loro raccomandazioni, impostiamo BUY, SELL o
non fare nulla.
Questo è tutto.
Spero che sia difficile, perché è davvero difficile.
Il problema è che lo scopo del compito è chiaro, ma la possibilità della sua implementazione in MQL sembra poco chiara, dato che non ho ancora familiarità con la funzione dell'array incorporato del tester-optimizer. Sto cercando di rileggere il manuale MQL ma non ho ancora trovato questo blocco. E l'ottimizzatore autocostruito da thecore non è tanto inaffidabile quanto poco comprensibile. Le variabili sono scritte in modo abbastanza bizzarro lì, non ci sono annotazioni e sono fondamentalmente diverse dalla versione funzionante menzionata nel link di cui sopra. Se non è difficile, caro thecore, spiega il tuo punto di vista dell'ottimizzatore, in modo che io possa stipare tutti i 19 parametri e il risultato di autocompletamento.
A proposito, non iniziate con il blocco di enumerazione - è molto più facile da scrivere che il parser.
E se trovate tutto ciò che ho detto troppo complicato, cercate l'auto-ottimizzatore di xeon.
Utilizza l'ottimizzatore MetaTrader. Non cercate la funzione di auto-ottimizzazione incorporata. Non c'è nessuno.
Ecco l' indicatore di klot con l'ottimizzatore GA incorporato nell'indicatore.
Penso che Hoper23 non lo analizzerà geneticamente, non importa se questo link è rotto o no.
Tanto più che non è rotto.
thecore==> secondo il tuo ragionamento, così come il mio, si ottiene for(S = Sstart; S <= Send; S += Sstep), bene, in termini generali. Ecco cosa ho ottenuto
Ulteriore stallo - non so come fissare il risultato positivo e sostituire la variabile automaticamente.yyyy ..... "Il link che ti ha portato a questa pagina è "morto" o cancellato". Un po' simile alla direzione di andare a farsi fottere. (senza offesa, solo per divertimento).
Ecco un grazie), a me per il link, a klot'y per la soluzione effettivamente pronta su un piatto), lì hai sia il tester che l'ottimizzatore, basta modificarlo un po' per soddisfare le tue esigenze... E tutto si apre.
Risposta non aperta!!!
thecore==> secondo il tuo ragionamento, così come il mio, si ottiene for(S = Sstart; S <= Send; S += Sstep), bene, in termini generali. Ecco cosa ho ottenuto
1.Non cercare di risolvere il problema di petto.
Perché è necessario salvare TUTTE le varianti di tutte le soluzioni possibili.
Non stai risolvendo un problema di matematica. Stai guardando la storia per una situazione simile a quella che hai
oggi e ora per decidere cosa fare.
Quindi, prima descrivete la situazione attuale e cercate in modo specifico.
Questo ridurrà il numero di passaggi, variabili e risultati di MOLTO.
Poi, stop - non so come fissare un risultato positivo e metterlo in una variabile automaticamente.
Nella prima fase, l'ho salvato in un file. Ricevuto sulla storia di circa 10.000-50.000 opzioni vincenti.
Poi analizzati in Excel.
2. Non cercare una corrispondenza esatta. Non è che stiamo descrivendo un'onda sinusoidale.3.Scrivete prima un'unità di raccolta dati per UNA variabile, fate il debug, e poi aggiungete altre 18 o quante variabili avete.
Bene. L'idea è logica. Allora, come si risolve la formula per ottimizzare su combinazioni con un solo parametro? Il punto è che in questo esempio sono interconnessi. Non conosco ancora un altro esempio a causa della mia limitata conoscenza del linguaggio MQL.
Questa assurdità è stata progettata per ottimizzare la
Viene fornito con una bibbia.
бла-бла-бла
E c'è una biblah per accompagnarlo.
E NON FUNZIONA NULLA... o meglio si incasina da solo, stressa la CPU, ma nessun cambiamento nelle variabili e fa tutto velocemente - un paio di secondi e basta. Non capisco.Questa assurdità è stata progettata per ottimizzare la
Viene fornito con una bibbia.
E poi c'è la biblah.
E non funziona... o meglio, fa un po' di confusione, stressa la CPU, ma nessun cambiamento nelle variabili e rende tutto veloce - un paio di secondi e basta. Non capisco.Avete iniziato a lavorare con l'auto-ottimizzatore di xeon
TestCommander (autoottimizzazione) Strumento del commerciante
Quindi chiedeteglielo.
A proposito, questo prodotto è già pagato, se ricordo bene.
C'è un aiuto in esso, tutto è spiegato chiaramente.