[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 657

 
IgorM:

grazie sì, questo è quello che stavo cercando, qualcuno ha misurato la velocità dello stesso tipo di codice per mt4 e mt5?

Aggiungerei. Più interessato alla differenza di velocità di test/ottimizzazione dello stesso tipo di EAs.
 
ToLik_SRGV:

Yuri, per il futuro, se il codice ripete almeno due volte, dovrebbe essere assegnato a un metodo, e non avrai bisogno di cumuli di array che ingombrano il codice...


Anatoly, grazie mille. È un peccato che non si possa inserire un'icona in questo articolo come in Skype con un arco. Tutto è semplice ed elegante. Capisco dalla comunicazione con altri strumenti di analisi tecnica, dovrebbe essere così, ma sono ancora fuori allenamento nel lavorare con mql. Grazie per il suggerimento sulla marcatura nel metodo - cercherò di capirlo.

Come ultima nota, puoi dirmi come evitare di piazzare più ordini sulla stessa barra con questo EA? Delle brave persone hanno già dato qualche suggerimento, ma non hanno aderito.

 
granit77:
Aggiungerei. Più interessato alla differenza di velocità di test/ottimizzazione dello stesso tipo di EAs.


Vedete, l'ottimizzazione di MT4 e MT5 dovrebbe essere molto diversa almeno per il fatto che MT5 implementa già un controllo delle condizioni incompleto - per MT4 per raggiungere questo obiettivo è necessario fare un sacco di dichiarazioni if annidate - e questo riduce la leggibilità del codice e porta a errori logici
 
IgorM:


Grazie mille, è quello che stavo cercando, chi ha misurato la velocità dello stesso tipo di codice per MT4 e MT5?


2010.06.29 16:29:56 Test_Speed (EURUSD,M1: tempo 1641 msec MT-4

2010.06.29 16:28:56 Test_Speed (EURUSD,M1) tempo 359 msec MT-5

questo codice non ha bisogno di essere tradotto come vedete si adatta al 5 e al 4

 int start_=GetTickCount();
 int d=0;
 for(int i=0;i<100000000;i++)d+=11;
 Print("время ",GetTickCount()-start_," мсек");

Non posso credere che sia solo una semplice aggiunta, immagina cosa hanno fatto gli sviluppatori per velocizzare le funzioni complesse.

 
Urain:

E questo è sull'aggiunta elementare, immaginatevi cosa hanno combinato gli sviluppatori per accelerare le funzioni complesse.


Speriamo, in MT4 l'elaborazione del codice EA è molto simile a Java - le funzioni integrate sono molto veloci, ma le funzioni utente non sono così veloci, anche le azioni più elementari

quando si tratta di ottimizzazione, sono molto confuso dal controllo completo delle condizioni - non ho sentito parlare di una cosa del genere per circa 20 anni - scuola Basics :)

 

Non riesco a trovare un indicatore multivaluta che abbia GoldUSD. Mi faccia un poke con il link, per favore.

indici di aggiornamento che

 
IgorM:


Sii più specifico con la tua domanda.

Se siete interessati al prezzo corrente al momento di piazzare un ordine, potete aggiungere una chiamata al codice che sarà responsabile della memorizzazione del prezzo corrente in un array globale con la modifica dell'indice del contatore dell'array, che potrete poi visualizzare da qualsiasi punto del codice


Cioè, ho bisogno che tutti i prezzi a partire dal prezzo aperto dell'ordine siano scritti nell'array, in modo da poter poi estrarre gli elementi massimo e minimo dell'array.

Puoi dirmi come implementarlo nel codice?

 
zelek:


Cioè ho bisogno che tutti i prezzi a partire dal prezzo di apertura dell'ordine siano scritti in un array, in modo da poter poi estrarre l'elemento massimo e minimo dell'array.

Potresti dirmi come implementarlo nel codice?


Non capisco il problema: hai aperto un ordine e vuoi scrivere i prezzi attuali nell'array , perché? Hai delle barre che ti daranno i prezzi minimi e massimi. Se scrivi i prezzi per tick, non posso nemmeno immaginare quanti dati conterrà l'array - tick da 20 a 80 unità/min.

o avete bisogno dei prezzi a cui sono stati aperti gli ordini? - è possibile visualizzare gli ordini chiusi e aperti nel terminale

 
IgorM:


Non capisco il problema: avete aperto un ordine e volete salvare i prezzi attuali nell'array di dati, perché?

o avete bisogno dei prezzi a cui sono stati aperti gli ordini? - è possibile visualizzare gli ordini chiusi e aperti nel terminale


Voglio implementare qualcosa di simile a un trailing stop virtuale da un pip

è necessario conoscere il valore massimo su ogni nuovo tick

 
zelek:


Voglio implementare qualcosa di simile al trailing stop virtuale da un punto

per questo scopo ho bisogno di conoscere il valore massimo ad ogni nuovo tick


Non c'è bisogno di registrare e memorizzare l'intera matrice per questo scopo, è sufficiente memorizzare solo due cifre - il massimo e il minimo dall'apertura dell'ordine. Ma per fare questo - in realtà - abbiamo solo bisogno di monitorare il prezzo sulla prima barra del minuto in cui l'ordine è stato aperto. In seguito, il massimo e il minimo sono abbastanza determinati dalle barre dei minuti senza memorizzare costantemente il prezzo.