Errori, bug, domande - pagina 579

 

olyakish:

>E hai due trade lì, uno che ha fatto un profitto e uno che ha chiuso a zero, ma l'equity era ancora fluttuante.

è in realtà un'unica operazione che consiste nel vendere (aprire la posizione per vendere) e comprare(chiudere la posizione per vendere)

Esattamente questo è un doppio affare In - apre una posizione, e Out - la chiude (per quanto mi ricordi c'è anche InOut - un contro affare per una posizione esistente).

La regola è che c'è una posizione, e ci possono essere tutti gli ordini e le compravendite che vuoi.

 
papaklass:

Ciò che non è chiaro è quanto segue:

Abbiamo due EA monovalenti, ognuno dei quali lavora nel proprio thread e con il proprio singolo strumento, con il proprio set consecutivo di tick. Queste due serie consecutive di ticchettii sono indipendenti l'una dall'altra. Per esempio, arrivano i tick di GBPUSD. Influenzano l'EURUSD? EURUSD ha il suo flusso indipendente di quotazioni in tick. Ho ragione o mi sbaglio su qualcosa? Se ho ragione, perché questi due flussi indipendenti non possono essere distribuiti in diversi core? Questo è ciò che non mi è chiaro.

Se stiamo parlando di due Expert Advisors che eseguono diversi grafici, stanno beneficiando pienamente della capacità multi-core perché lavorano in thread diversi.

Se parliamo di test paralleli, potete lanciare due terminali client da cartelle diverse ed eseguire due test simultaneamente. Gli agenti verranno eseguiti su core diversi.

 
Interesting:

Si tratta solo di due trade In - apre una posizione, e Out - la chiude (per quanto mi ricordi c'è anche InOut - un contro trade a una posizione esistente).

La regola è - c'è una posizione, e ci possono essere tutti gli ordini e le operazioni che vuoi.



Ok, sono d'accordo, non avevo ragione.

Nel mio caso, c'è un ciclo normale (minimo): aprire una posizione , chiudere una posizione.

Poi crea una posizione bid-order-deal-ask, poi un bid-order-buy deal (sell close).

Domanda sostanziale - si prega di commentare il grafico del patrimonio netto/bilancio nel tester.

 
papaklass:

Perdonate la mia schiettezza. Capisco il test evidenziato quando riguarda (testo) un singolo flusso (strumento finanziario). Cioè abbiamo un Expert Advisor monovalente che lavora con un solo simbolo. Le zecche sono costantemente elaborate in esso e non ha senso elaborarle in parallelo. Capisco.

Ciò che non è chiaro è quanto segue:

Abbiamo due EA monovalenti, ognuno dei quali lavora nel proprio thread e con il proprio strumento, con il proprio set consecutivo di tick. Queste due serie consecutive di ticchettii sono indipendenti l'una dall'altra. Per esempio, arrivano i tick di GBPUSD. Influenzano l'EURUSD? EURUSD ha il suo flusso indipendente di quotazioni in tick. Ho ragione o mi sbaglio su qualcosa? Se ho ragione, perché questi due flussi indipendenti non possono essere distribuiti in diversi core? Questo è ciò che non mi è chiaro.

stringo:

Se stiamo parlando di due EA che lavorano su grafici diversi, beneficiano pienamente del multicore perché lavorano in thread diversi.

Se parliamo di test paralleli, potete lanciare due terminali client da cartelle diverse ed eseguire due test simultaneamente. Gli agenti gireranno su kernel diversi.

1. gli EA situati su diversi grafici (idealmente su diversi simboli) sfruttano davvero al massimo il multi-threading/multi-core. Puoi anche eseguire diversi terminali nel vecchio modo (per esempio, se fai trading su diversi conti).

2. Quando parlo di multithreading, intendo solo lavorare all'interno di un singolo Expert Advisor. Non importa come e con quali mezzi si possa organizzare l'elaborazione simultanea.

Non ha senso organizzare tale elaborazione all'interno di questo framework, o causerà un sacco di problemi sia per gli sviluppatori che per gli utenti finali(come è stato menzionato da Renat e Stringo).

Ma c'è una soluzione, almeno teorica, anche se non so se sarà possibile implementarla e quanto abbia senso il tutto.

Tale "multithreading" sarà possibile dopo aver eseguito almeno due passi (gli sviluppatori lo sapranno meglio):

a) gestori parametrici per certi eventi (eventualmente aggiungendone di nuovi o cambiando quelli esistenti);

b) cambiamento dell'architettura dell'intero terminale in modo che all'interno di un Expert Advisor (solo per gli Expert Advisor) alcuni gestori possano essere eseguiti simultaneamente.

E per come la vedo io, senza gestori parametrici, non ha senso parlarne.

3. Dal punto di vista degli sviluppatori, l'introduzione dell'elaborazione parametrica dei tick è una questione aperta. Ma nonostante tutti i problemi legati alla sua introduzione possono decidere per un tale passo (avendo rimandato la sua realizzazione per un futuro lontano). La realizzazione di tutto ciò che ne consegue è da un mondo fantastico e qui naturalmente rimane solo da sognare.

Solo dopo aver aggiunto il parametro a OnTick sarà possibile dividere e gestire simultaneamente i tick per carattere, fino ad allora l'implementazione non ha senso.

PS

Conclusione uno - Prima OnTick con parametri (il nome di un simbolo sarà sufficiente), e poi la continuazione della conversazione su cosa serve tutto questo.

Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
Предопределенные переменные / _Symbol - Документация по MQL5
 
papaklass:
Cioè all'interno di un tester, anche se l'EA è multi-valuta, i tick sono coerenti (indipendentemente dallo strumento), un thread, un core. Giusto?

1. le tic nell'architettura esistente sono gestite solo dallo strumento principale (lo strumento grafico). Quindi, lo schema deve essere coerente.

Multicurrency in questo caso indica solo che l'Expert Advisor può richiedere dati da altri simboli e/o altri TF, pur essendo in grado di eseguire operazioni sui simboli selezionati.

Il test singolo (e qualsiasi lavoro dell'Expert Advisor) viene eseguito in modo sequenziale, in un thread. Cioè solo un comando (linea di codice) alla volta.

Quando conduciamo l'ottimizzazione di un Expert Ad visor, diversi agenti (cioè i kernel) ricevono la propria copia dell'Expert Advisor con i propri parametri e input.

Ogni agente esegue il test in modo sequenziale, ma in modo sequenziale al suo interno (gli altri agenti non sono nemmeno a conoscenza del suo lavoro). In questo caso, l'agente conosce solo il suo compito, claud su tutti i compiti che ha ricevuto da un particolare tester e dato agli agenti, e l'utente finale/tester conosce tutti i compiti e riceve i risultati per tutti i passaggi.

 
papaklass:
Cioè, anche se un EA è multivaluta, i tick sono sequenziali (indipendenti dallo strumento), un thread, un core. Giusto?

Sì, è proprio come nella vita. Nella vita reale, tutti i tic sono coerenti. In un quantum di tempo, in linea di principio, non può esserci più di un tick.

Due thread lavorano nel tester - uno per comunicare con il terminale, l'altro elabora i tick e testa l'Expert Advisor.

Ma l'architettura del terminale client è tale che i tick sono ricevuti dal terminale client in un thread e distribuiti a diversi thread per ogni strumento separatamente. Inoltre, ogni Expert Advisor lavora in un proprio thread. Se ci sono diversi core, tutti questi thread sono distribuiti tra loro.

Un Expert Advisor multivaluta nel tester e nel terminale occupa sempre un thread, ma ciò non significa che gli altri thread siano inattivi in quel momento

 

Buon pomeriggio, sono preoccupato per il sistema di ordini di MT5. Non sono contro le reti in generale, ma penso che sia grezzo in 5. Ho cercato di capire come fare un bel pivot MT5 per rimanere nel mercato se l'inversione non è avvenuta, ma o non sono intelligente o il compito è impossibile. Ho notato che MQ non vuole discuterne. Devo descriverlo nei dettagli? Inoltre, come si risponde a questa domanda:

L'attuale sistema di ordini:

а. Bene e non lo cambieremo.

б. Necessita di miglioramenti

IMHO: L'unico modo di organizzare il commercio al momento è che il PC controlli sempre il processo. Ma questo è un peso e dei nervi. Perché devo preoccuparmi se c'è una connessione o no. Ho intenzione di investire denaro significativo nel mercato, quindi è importante per me.

 
Vict:

Buon pomeriggio, sono preoccupato per il sistema di ordini di MT5. Non sono contrario alle reti in generale, ma penso che sia grezzo in 5. Ho cercato di capire come fare un bel pivot MT5 per rimanere sul mercato se non c'è un'inversione, ma o sono troppo stupido o il compito è irrealizzabile.


Per favore, mandatemi un messaggio in privato e ne discuteremo.
 
Vict:

...Negli ultimi giorni ho cercato di capire come fare un bel pivot MT5, in modo da essere a mercato se non ci fosse nessun pivot, ma o sono scemo io o il compito è impossibile.

Cosa intende per "rimanere sul mercato se non si verifica l'inversione"? Come si fa a invertire una posizione con cui si hanno problemi?
 

Guardo il mercato come un guardiano dell'onda. Trovo la prima onda ed entro sul rimbalzo, puntando ad un tre. Non sono legato a nessun ordine specifico, quindi le prime onde possono verificarsi sia verso l'alto che verso il basso allo stesso tempo. Quindi, se ho una posizione al ribasso o al rialzo, e arriva un segnale nell'altra direzione, devo invertire, ma non cancella la tendenza passata! Se il prezzo supera l'ultimo rimbalzo dobbiamo ritrattare la nostra posizione precedente. Deve essere confuso, qui sotto c'è l'immagine.

Spiegazione dell'immagine:

* Il segnale alto arriva, apriamo una posizione di acquisto.

* Arriva un segnale basso, non ha senso prendere una posizione di acquisto ora. La mia azione in 4 è di bloccare il profitto stopLoss sui livelli 1, takeProfit dopo il vecchio rimbalzo. Di conseguenza, se il mercato scende, prenderò una parte del mio profitto, se risale aspetterò il livello target di tre.

*Cosa devo fare in MT5? Per esempio, ho invertito una posizione per guadagnare. Come posso riaprire il mio precedente acquisto se il mercato rimbalza? Affiderei il mio EA per farlo (non è affidabile, voglio mettere questi comandi sul server)? Dovrei piazzare un BuyStop in sospeso ai livelli 1? Ma cosa dovrei fare se il prezzo si muove sotto il rimbalzo superiore, come dovrei rimuoverlo?

File:
x71ec4t1j4.png  15 kb