Autore - pagina 4

 
Ho risolto la sincronizzazione. Per favore consigliatemi se c'è un modo per congelare il terminale (in modo che non accetti le quotazioni) per il tempo dello script o dell'Expert Advisor.
 
ivandurak:
Ho risolto la sincronizzazione. Per favore consigliatemi se c'è un modo per congelare il terminale (in modo che non accetti le virgolette) mentre lo script o Expert Advisor sta lavorando.

Questa è una sciocchezza.

A cosa serve quello?

 
her.human:

Questa è una sciocchezza.

Perché è necessario?

Il tester multivaluta che può essere stipato dentro un indicatore o uno script EA è praticamente finito, spero. C'era il problema principale con la sincronizzazione di diversi strumenti di trading in presenza di buchi nella storia. Per esempio, analizziamo le azioni Euro e Gazprom, è chiaro che il tempo di trading è diverso, e quindi ci sono molte lacune in Gazprom rispetto all'Euro, compresi i fine settimana e le vacanze. Dalla posizione è venuto fuori - una serie esemplare di orari di apertura in un lasso di tempo selezionato senza lacune nella parte selezionata della storia. Poi il tempo di apertura di una matrice esemplare viene confrontato con il tempo di apertura di uno strumento di trading, e quando il tempo coincide, il numero di barra dello strumento di trading viene memorizzato, e questo numero viene trasmesso al TS. Ora abbiamo alcuni strumenti di trading e durante il loro ricalcolo la prossima barra può iniziare dall'ultima, di conseguenza la barra che è stata restituita per i calcoli risulta essere spostata con tutto ciò che implica. La soluzione è la possibilità di correggere il numero di barre in modo permanente, ma questa è una grande complicazione del codice. Possiamo restituire il tempo di apertura di una barra invece del suo numero, come suggerisci tu, ma in questo caso è una complicazione per un utente (io propendo per questa variante finora). Così ho pensato, il tester incorporato non darà un nuovo valore di prezzo finché il Deinit non funziona, forse c'è un modo per rallentare il terminale finché il programma funziona.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
ivandurak:
Per tornare al TS non il numero del bar, ma l'ora di apertura del bar, ma allora è una complicazione per l'utente
CopyTime("EURUSD",0,Время,Количество_Баров,Time);
CopyOpen("EURUSD",0,Время,Количество_Баров,OpenEU);
Sembra che non ci siano complicazioni.
 

Bene, ecco la prima rondine della multicurrency. Devo avvertirvi subito che non è nemmeno una release, il codice non è ottimizzato e non è completamente debuggato e ci sono sicuramente dei bug. Se non è difficile guardare ed esprimere i vostri desideri, sputate ancora troppo presto.

Il tester è progettato per i test multivaluta di un pezzo di storia selezionato. Tutte le funzioni di trading sono prese da 4 . Istruzioni dettagliate dopo il completamento.

Ho dimenticato di aggiungere che dovrebbero essere aperti tutti i grafici di interesse sugli stessi timeframe

File:
Tester.mqh  61 kb
 

Primo rilascio

Buon giorno a voi una classe per scrivere un tester multicurrency all'interno di script, indicatori o Expert Advisors.

Metodi di classe

void Initialization() ;// Questo metodo esegue l'azzeramento delle variabili.

void AddSymbol(string Symb) ;// metodo che aggiunge un simbolo in prova al tester il simbolo deve essere caricato e il terminale deve visualizzare un grafico sul periodo in prova .

bool SetBeginEnd( int Begined, int Ended) ;// imposta l'inizio e la fine della storia sotto test. L'indicizzazione inizia dalla fine secondo lo standard. Ecco perché la barra iniziale della storia in esame è più grande di quella finale.

void Visualisation(true); // Abilitazione della visualizzazione dei trade .

voidPrinting(true) ;//l'output dei risultati delle negoziazioni al giornale è disabilitato per default.

bool Start(datetime &IndexInstrum[]) questo metodo controlla la fine del periodo testato e restituisce l'array dei tempi di inizio barra per gli strumenti testati. Questo è necessario per sincronizzare i test dei diversi strumenti se ci sono delle lacune.

int GetBarsNambe(string GSimb,datetime TimeOpen);//restituisce il numero della barra dal simbolo selezionato e dal tempo di apertura della barra.

void Vedenie_v() è il metodo principale dove controlliamo tutti gli ordini impostati per l'attivazione, la chiusura allo stop o il profitto.

I test si basano sulle regole di Mql4, cioè ogni ordine ha una vita propria, quindi possiamo bloccare e aprire ordini opposti.

Anche tutte le funzioni di trading sono prese da Mql4. Questo è stato fatto per permettere un facile adattamento degli EA scritti in questo linguaggio.

Notate che il metodo OrderClose_v chiude completamente la posizione selezionata.

OrderCloseBy mancante .

double OrderProfit_v( ) calcola il profitto senza leva, la leva può essere diversa per i diversi simboli testati.

Il resto del codice rimane invariato, vedere la documentazione.

Ordine di applicazione

Prima viene l'inizializzazione. Poi selezioniamo la storia in esame. Poi aggiungiamo gli strumenti in prova. Abilitare la visualizzazione, se necessario. Abilitare l'output del report, se necessario.

Il test stesso avviene all'interno del cicloDo -While .

Prima viene il metodo obbligatorio

aaa=Test.Start(timeopen) ; Restituisce la fine del test e l'array dei tempi di apertura delle barre per gli strumenti sotto test. La dimensione di timeopen dovrebbe coincidere con il numero di strumenti in esame. Se per esempio timeopen[0] < 0, allora questo è un segno di mancanza nella storia, vedi esempio.

Dopo di che il sistema di trading stesso ha un numero illimitato di barre. nambebars=Test.GetBarsNambe(Symbol(),timeopen[0]) ; dove symbol e bar open time sono co-symbols. In base a questo numero, è possibile calcolare i valori degli indicatori e impostare il segnale di trading secondo la logica del TS.

Alla fine deve andare metodo Vedenie_v .

Dopo la fine del test (uscita dal ciclo) tutta la storia del trading è disponibile per tutti gli ordini. Vedere la descrizione e il forum di Mql4

Avete anche bisogno del file HeadTester.mqh per sovrapporre completamente il formato delle funzioni di trading Mql4.

Buona fortuna e prosperità.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
File:
Tester.mqh  69 kb
 
ivandurak:

Primo rilascio

...

Buona fortuna e prosperità.

Grazie. Forse potresti scrivere un articolo? Immortalarlo, per così dire. )))
 

Signori PLZ. Da qualche parte sto rallentando molto intensamente. La domanda riguarda la SOM. Se è possibile su un esempio concreto.

Supponiamo di avere una mappa composta da 50X60 neuroni (celle rettangolari). Prendiamo un vettore di allenamento casuale, la sua dimensione x1={x1,x2,x3,x4,x5}, assumiamo che la lunghezza totale del campione di allenamento sia di 5000 vettori. Supponiamo che il neurone più vicino al vettore di ingresso abbia indice 25,30 - l'ho trovato e mio figlio sta già studiando geometria a scuola. E poi la mia rete neurale non è più ottimizzata. In realtà oltre a un mucchio di domande.

1 Come calcolare gli indici dei neuroni da addestrare al passo 1.

2 Come calcolare gli indici dei neuroni da addestrare al 2° passo.

3 Quanti passi di addestramento totali ci dovrebbero essere per il vettore di input X1.

4 Se sono bloccato con la regola di apprendimento di Kohonen, chiederò di più.

PS Leggete l'articolo, leggete la letteratura supplementare, guardate i codici, la conclusione richiede un pendolo.

 

Penso di aver individuato la vicinanza del neurone vincente all'interno del quale avviene l'apprendimento. Ora la prossima domanda è.

Esiste un criterio di quante volte allenare i neuroni nelle vicinanze? Questa domanda è descritta male, non riesco a capire se la insegniamo una volta e poi prendiamo il prossimo vettore. Oppure allenarsi fino a quando l'errore medio si riduce, diciamo, al 5%.

 

È necessario un algoritmo per colorare la mappa di Kohonen. C'è un grande desiderio di non dipingere tutte le mappe, ma di fare con una, rispettivamente, ogni cluster dovrebbe assegnare il proprio colore. Come farlo mente non è.Nella figura si vede la mappa che ho. Il principio della colorazione è che un vettore di lunghezza maggiore è dipinto nel colore più chiaro. Anche se non è corretto i vettori X1 = (1,1) e X2 = (-1,-1) hanno la stessa lunghezza ma appartengono ad aree diverse.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
Motivazione: