Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 643

 
Alexey Viktorov:

Non l'ultimo della lista, ma il più "giovane" nel tempo.

Anche se sono altrettanto sconsiderato. La domanda riguarda la modifica, e sto scrivendo vicino... E se lo modificate semplicemente, non ci saranno buchi nella lista degli ordini... Potresti solo aver bisogno di aggiungere variabili e assegnare loro dei valori, e DEVI controllare i parametri per evitare l'errore #1. Beh, Mila può farlo da sola.

Artyom Trishkin:

Come si può essere sicuri che non ci sarà una dipendenza di ordinamento e che non si perderà affatto l'ordine sbagliato?

Ancora una volta, per trovare in modo affidabile l'ultimo ordine, deve essere identificato dal suo tempo di apertura, e non dalla sua posizione nella lista.

Per quanto ne so, gli ordini nella lista sono disposti solo dal più vecchio (OrdersTotal()-1) al più recente (0). Se non è così (la lista non è ordinata per tempo) e hai delle prove, per favore forniscile.

Se stai dicendo che nel momento in cui la cronologia è stata richiesta utilizzando la funzione OrdersTotal(), un altro EA ha piazzato un ordine, allora o verrebbe saltato (in ogni caso, non avrebbe il tempo di essere nella cronologia degli ordini), o sarebbe anche l'ultimo nella lista degli ordini.

Naturalmente, possiamo riassicurarci fortemente e confrontare il tempo di apertura di tutti gli ordini da total-1 a 0, ma difficilmente sarebbe una soluzione ottimale quando abbiamo un gran numero di ordini e simboli scambiati.

 
Alexey Kozitsyn:

Per quanto ne so, gli ordini nella lista sono ordinati solo dal più vecchio (OrdersTotal()-1) al più recente (0). Se non è così (la lista non è ordinata per tempo) e hai delle prove, per favore forniscile.

Se stai dicendo che nel momento in cui la cronologia è stata richiesta tramite la funzione OrdersTotal(), un altro EA ha piazzato un ordine, allora o verrebbe saltato (in ogni caso, perché non ha avuto il tempo di essere nella cronologia degli ordini), o diventerebbe anche l'ultimo nella lista degli ordini.

Naturalmente, possiamo riassicurarci fortemente e confrontare il tempo di apertura di tutti gli ordini da total-1 a 0, ma difficilmente sarebbe una soluzione ottimale quando abbiamo un gran numero di ordini e simboli scambiati.

Gesù... Prove a loro...

Immagino che tu non ricordi bene che tali situazioni sono state discusse su mql4.com molto tempo fa. È allora che siamo giunti alla conclusione che sarebbe meglio cercare un ordine in base al tempo per determinare senza ambiguità il suo tempo di apertura/chiusura. Mi sono già stancato di ripetere che c'era una dipendenza dall'ordinamento. Poi abbiamo fatto in modo che non dipendesse più dall'ordinamento. La gente si è rilassata e ha cominciato a fare come lei suggerisce. E poi bam... e c'era di nuovo una dipendenza dall'ordinamento. La gente ha ululato - i robot sono impazziti. E poi la dipendenza dall'ordinamento è scomparsa di nuovo.

Se avete il desiderio che la presunta ottimalità cada di nuovo sotto la cotta un giorno, allora fatelo nel modo in cui lo state facendo. Ma non suggerite tali soluzioni ad altre persone. Oppure, al momento dell'offerta, avvertirli della possibilità di perdere mai soldi a causa di fallimenti della ricerca dell'ordine necessario, che (la ricerca) dipende dall'ordinamento dei simboli nella lista, che, a sua volta, non dipende da te e dal tuo algoritmo. Al contrario - il tuo algoritmo dipende da qualcun altro...

Non dire loro che il concessionario può barare con l'orario di apertura/chiusura, questa è un'altra questione.

Buona fortuna.

 
Artyom Trishkin:

Gesù... Prove che vogliono...

A quanto pare, non ti ricordi bene che tali situazioni sono state discusse su mql4.com molto tempo fa. È allora che sei arrivato alla conclusione che è ancora meglio cercare per tempo un ordine per determinare senza ambiguità il suo tempo di apertura/chiusura. Mi sono già stancato di ripetere che c'era una dipendenza dall'ordinamento. Poi abbiamo fatto in modo che non dipendesse più dall'ordinamento. La gente si è rilassata e ha cominciato a fare come lei suggerisce. E poi bam... e c'era di nuovo una dipendenza dall'ordinamento. La gente ha ululato - i robot sono impazziti. E poi la dipendenza dall'ordinamento è scomparsa di nuovo.

Se avete il desiderio che la presunta ottimalità cada di nuovo sotto la cotta un giorno, allora fatelo nel modo in cui lo state facendo. Ma non suggerite tali soluzioni ad altre persone. Oppure, al momento dell'offerta, avvertirli della possibilità di perdere mai soldi a causa di fallimenti della ricerca dell'ordine necessario, che (la ricerca) dipende dall'ordinamento dei simboli nella lista, che, a sua volta, non dipende da te e dal tuo algoritmo. Al contrario - il tuo algoritmo dipende da qualcun altro...

Non ditemi che il concessionario può barare con il tempo di apertura/chiusura - questo è un altro problema.

Buona fortuna.

Sì, non ricordo discussioni del genere, non leggo molto spesso il forum di foursome. Forse, una volta, c'era qualcosa del genere. Ma se si costruisce su tutto quello che c'era "una volta" nessuna risorsa sarà sufficiente.

Se avete il desiderio, in nome di una presunta ottimalità, di cadere di nuovo sotto il mirino un giorno, allora fate come volete. Ma non suggerite tali soluzioni ad altre persone. Oppure, al momento dell'offerta, avvertirli della possibilità di perdere mai soldi a causa di fallimenti della ricerca dell'ordine necessario, che (la ricerca) dipende dall'ordinamento dei simboli nella lista, che a sua volta non dipende da te e dal tuo algoritmo. Al contrario - il tuo algoritmo dipende interamente da qualcun altro...

Come dici tu, è possibile "finire nel mirino" in molti altri modi. Se avete bisogno di determinare rapidamente l'ultimo ordine, non è razionale cercarli tutti in tempo.

Ognuno deve decidere da solo se accettare o meno il mio metodo. La soluzione migliore è aprire molti ordini e vedere come funziona l'ordinamento ORA.

Buona fortuna anche a te.

 
Artyom Trishkin:

Sei sicuro di aver mostrato un modo affidabile per perdere l'ultima posizione nella lista?

Se fai trading in modo realistico, non sei preoccupato che lo smistamento possa improvvisamente diventare una dipendenza?

Ancora, IMHO, abbiamo bisogno di due cicli qui - nel primo cerchiamo la posizione più fresca per orario di apertura, nel secondo modifichiamo tutti tranne quello il cui biglietto è stato trovato nel primo ciclo.

No, non sicuro, ma logicamente corretto.

Hanno letto qui sotto circa l'insidiosità delle MQs - l'ansia è sorta. Grazie per avermi avvisato.

 
Alexey Kozitsyn:

Ogni volta che avete bisogno di identificare rapidamente l'ultimo ordine, non è una buona idea passarli tutti in tempo, e ho già detto perché.

Perché dobbiamo passarci ogni volta? Questa è esattamente l'irrazionalità.

Possiamo cercare una volta per tick le posizioni di mercato e gli ordini chiusi e riempire tutti i campi della struttura con tutti i dati necessari degli ultimi due ordini - aperti e chiusi.

E utilizzare i dati ottenuti durante questa spunta. Dopo averli cambiati in questo tick, avrete nuovi dati e nuovi campi delle due strutture nel prossimo tick. Mi sembra che questo sia un normale equilibrio tra affidabilità e velocità. Questo è il senso dell'ottimalità. E quella che tu chiami ottimalità, IMHO, è un lavoro d'ascia ;)

 
Artyom Trishkin:

Perché ripassare ogni volta? Questo è esattamente il punto in cui non è razionale.

Puoi cercare una volta per tick le posizioni di mercato e gli ordini chiusi, e riempire tutti i campi della struttura con tutti i dati necessari degli ultimi due ordini - aperti e chiusi.

E usare i dati di quella spunta. Dopo averli cambiati in questo tick, avrete nuovi dati e nuovi campi di due strutture nel prossimo tick. Mi sembra che questo sia un normale equilibrio tra affidabilità e velocità. Questo è il senso dell'ottimalità. E quella che tu chiami ottimalità, IMHO, è un lavoro d'ascia ;)

Stai entrando nei dettagli, nessuno ha menzionato nulla di tutte le volte. Io, come lei, sono a favore della razionalità, abbiamo solo punti di vista diversi su di essa.

 
Alexey Kozitsyn:

Stai entrando nelle sfumature, nessuno stava parlando di tutte le volte. Io, come lei, sono a favore della razionalità, è solo che io e lei abbiamo una visione diversa di essa.

Le tue stesse parole:

Ovunque si debba determinare rapidamente l'ultimo ordine, non è razionale passarli tutti in tempo, imho...

"Ovunque" non è sinonimo di "ogni volta" in questo contesto?

Ecco perché ho detto "passaci attraverso una volta per spunta", riempi i campi della struttura con i dati giusti e usala ovunque tu abbia bisogno di ottenere dati sull'ultimo ordine, invece di passarci ogni volta.

Forse ho capito male? Ma la sua espressione citata, IMHO, esclude l'ambiguità di comprensione.

 
Artyom Trishkin:

Le tue stesse parole:

"Ovunque" non è sinonimo di "ogni volta" in questo contesto?

Ecco perché ho risposto - è per passare una volta per spunta, riempire i campi della struttura con i dati giusti e usarli ovunque sia necessario ottenere i dati dell'ultimo ordine, non per passarci ogni volta.

Forse ho capito male? Ma la sua espressione citata, IMHO, esclude l'ambiguità di comprensione.

Non consideri che ci possono essere pause/calcoli semplicemente lunghi nel programma, dopo i quali l'ambiente di trading deve essere aggiornato. Trascinare un array di ordini in giro non è sempre conveniente, e un array globale non è sempre una buona soluzione.

Comunque, come ho detto, nessuno ti sta scoraggiando, ma ci sono casi in cui la tua opzione sarà meno preferibile (sistemi multi-valuta/multi-ordine). Ed essere rassicurati che MQ cambierà di nuovo l'ordine di ordinamento (dato che è lo stesso in mql4, e in mql5), penso che non sia necessario.

 
Alexey Kozitsyn:

Non stai prendendo in considerazione il fatto che ci possono essere pause/calcoli lunghi nel programma dopo i quali è necessario aggiornare l'ambiente di trading. Trascinare un array di ordini dietro di sé non è sempre conveniente, e un array globale non è sempre una buona soluzione.

Comunque, come ho detto, nessuno ti sta scoraggiando, ma ci sono casi in cui la tua opzione sarà meno preferibile (sistemi multi-valuta/multi-ordine). E per essere rassicurati che MQ cambierà di nuovo l'ordine di ordinamento (dato che è così in mql4, e in mql5), penso che non ce ne sia bisogno.

Una classe che permette di avere facilmente e senza sforzo dati per qualsiasi personaggio e qualsiasi mago è stata fatta molto tempo fa. E non c'è bisogno di portare nulla, specialmente l'intera matrice, ma solo DUE ordini - l'ultimo aperto e l'ultimo chiuso. Ogni volta, dopo lunghi calcoli o attese, devi riempire di nuovo i campi della struttura, cosa che, tra l'altro, devi fare, o non aggiorni il tuo ambiente?

OK. Non è un grosso problema... Fallo a modo tuo. Non preoccuparti dell'affidabilità - dimenticala...

 
Artyom Trishkin:

Da tempo è stata fatta una classe che permette di avere facilmente e senza sforzo dati su qualsiasi simbolo e qualsiasi mago. E non c'è bisogno di trascinare nulla, specialmente l'intero array, ma solo DUE ordini - ultimo aperto e ultimo chiuso. Ogni volta, dopo lunghi calcoli o attese, bisogna riempire di nuovo i campi della struttura, cosa che, tra l'altro, bisogna fare, o non si aggiorna l'ambiente?

OK. Non è un grosso problema... Fallo a modo tuo. Non preoccuparti dell'affidabilità - dimenticala...

E io aggiorno l'ambiente, è solo che il tuo metodo di ricerca richiederà molto più tempo, tutto qui, e sul tema dell'affidabilità, questo è discutibile.
Motivazione: