Consulente multivaluta. Preferibilmente l'opinione degli sviluppatori. - pagina 2

 
YuraZ писал (а): Francamente parlando, non è nemmeno molto bello ... Immaginiamo che la spunta non sia arrivata per le coppie specificate e che le mancherete di nuovo

Se si mostrasse un pezzo di codice che genera l'input, si potrebbe trovare l'errore logico più velocemente

Ma dovrebbe esserci una soluzione comunemente accettata in MQL, giusto? Come "sincronizzare" l'apertura delle barre per diversi simboli? Beh, a quanto pare, dovremmo aspettare l'apertura di una nuova barra per tutti i simboli che vengono utilizzati. Ma come farlo correttamente?

 
Integer:

Per il simbolo scambiato, il tick della nuova barra è venuto prima così le vecchie barre del simbolo analizzato sono stati coinvolti nell'analisi, inizio lavorato fuori, e attende la prossima ora. qualcosa come questo.

Probabilmente è così che succede. Ma ci deve essere qualche soluzione in MQL, giusto? Non è una super-funzione. Come "sincronizzare" l'inizio dell'apertura delle barre per diversi simboli in tempo reale?

 
LeoV:
YuraZ ha scritto (a): Per essere onesti e non è davvero bello ... immaginate che il tick non sia arrivato sulle coppie specificate e volerete di nuovo oltre

Se tu mostrassi un pezzo di codice che genera l'input, sarebbe più veloce trovare l'errore nella logica

Ma dovrebbe esserci una soluzione comunemente accettata in MQL, giusto? Come "sincronizzare" l'apertura delle barre per diversi simboli? Beh, a quanto pare, dovremmo aspettare l'apertura di una nuova barra per tutti i simboli che vengono utilizzati. Ma come farlo correttamente?

Sì - Chiama Bill Gates.

 
Integer:

Bingo - Chiama Bill Gates

Beh, Bill Gates non ha niente a che fare con MQL. Né sembra avere nulla a che fare con il forex )))))))))

 
LeoV:
YuraZ ha scritto (a): Per essere onesti e non è davvero bello ... diciamo che il segno di spunta non è arrivato alle coppie specificate e si perde di nuovo

Se si mostrasse un pezzo di codice che genera l'input, si potrebbe trovare l'errore logico più velocemente

Ma dovrebbe esserci una soluzione comunemente accettata in MQL, giusto? Come "sincronizzare" l'apertura delle barre per diversi simboli? Beh, a quanto pare, dovremmo aspettare l'apertura di una nuova barra per tutti i simboli che vengono utilizzati. Ma come farlo correttamente?

Nel mio esempio, è sufficiente per catturare l'inizio dell'ora per qualsiasi strumento.


Non c'è bisogno di sincronizzare - penso che sia quello che stai facendo


considerando anche che per gli altri è arrivata anche la nuova ora!

perché arriverà!


ed eseguire il calcolo dopo di che si decide di entrare nell'uscita.


Stai prendendo il tick!!! E un nuovo tick e l'inizio dell'ora non sono la stessa cosa!

un tic non veniva per circa 5 minuti...


dovete cambiare la logica di catturare la nuova barra in una più morbida

hai condizioni troppo dure per l'inizio della barra - ho suggerito una più morbida


ma se tutti i simboli (che sono TAKING A tick non viene, poi kinda sbagliato troppo - solo che VERY LOW VARIABILITY!


---

se poteste darci un pezzo di codice, potremmo parlarne sostanzialmente.

----



Sembra che il tuo codice abbia qualcosa come

cattura un NUOVO tick su EURUSD e se allo stesso tempo c'è un tick su USDCHF, allora sei a posto.

e se i due eventi sono separati dal tempo, NON SI ENTRA.


QUESTA È UNA LOGICA SBAGLIATA

 

YuraZ писал (а):

onestamente e non è esattamente bello ... Se la spunta non è arrivata per queste coppie e la perderai di nuovo

Se il tick non è arrivato, non puoi piazzare un ordine immediatamente, a meno che tu non usi uno script,

E solo se le zecche arrivano alle società di intermediazione e non le trasmettono al tuo terminale (di giorno).

Ecco perché, quando stavo implementando un Expert Advisor multivaluta, stavo facendo una State Machine di Miles (o Moore),

che ha monitorato gli stati aperti dell'ordine per le coppie necessarie. Naturalmente non è stato sempre possibile

Naturalmente, non ero sempre in grado di aprire al prezzo necessario, ma questo approccio garantiva che gli ordini sarebbero stati SEMPRE aperti.

 
thecore:

YuraZ ha scritto (a):

francamente e non è esattamente bello ... Se la spunta non è arrivata per queste coppie e ti mancherà ancora

Se il tick non è arrivato, non puoi piazzare un ordine subito, a meno che tu non usi uno script,

E solo se le zecche arrivano alle società di intermediazione e non le trasmettono al tuo terminale (di giorno).

Ecco perché, quando stavo implementando un Expert Advisor multivaluta, stavo facendo una State Machine di Miles (o Moore),

che ha monitorato gli stati aperti dell'ordine per le coppie necessarie. Naturalmente non è stato sempre possibile

Naturalmente, non ero sempre in grado di aprire al prezzo necessario, ma questo approccio garantiva che gli ordini sarebbero stati SEMPRE aperti.

facile! è possibile effettuare un ordine :-) se il tick non è venuto

Pensaci bene! Se non ti viene in mente niente, ti darò un suggerimento!


+1 una delle opzioni da te indicate

 
YuraZ:

VOI prendete il tick!!! e un nuovo tick e l'inizio dell'ora non sono la stessa cosa

Un tic può non arrivare per circa 5 minuti...

È necessario cambiare la logica di catturare una nuova barra in modo sottile con una più morbida

hai condizioni troppo dure per l'inizio della barra - ho suggerito una più morbida

ma se per tutti gli strumenti (che non arrivano a spuntare allora kinda non funziona neanche - SOLO QUELLA VARIABILITÀ MOLTO BASSA!

Sì, il fatto è che l'EA deve lavorare su candele chiuse. Pertanto, se una candela non ha chiuso su qualsiasi strumento utilizzato, la decisione non sarà presa.

È più difficile con il codice perché non sono un programmatore. Non posso stendere tutto il codice, come potete vedere. Ma il programmatore che l'ha fatto per me è ora sotto un grosso contratto ed è molto occupato e non può farlo. Quindi sto cercando una soluzione a questo problema prima, per non calpestare di nuovo lo stesso rastrello.

 
LeoV:
YuraZ ha scritto: Ad essere onesti, non è nemmeno molto bello... Immaginiamo che la spunta non sia arrivata per queste coppie e che vi mancheranno ancora

Se si mostrasse un pezzo di codice che genera l'input, si potrebbe trovare l'errore logico più velocemente

Ma dovrebbe esserci una soluzione comunemente accettata in MQL, giusto? Come "sincronizzare" l'apertura delle barre per diversi simboli? Beh, a quanto pare, dovremmo aspettare l'apertura di una nuova barra per tutti i simboli che vengono utilizzati. Ma come farlo correttamente?

Non c'è bisogno di alcuna sincronizzazione o invenzione di altre biciclette. Tutto è stato inventato da tempo. La presenza di una nuova barra formata viene controllata solo per quello strumento su cui è installato l'Expert Advisor all'arrivo del primo tick. E anche l'evento start() si attiva solo su quel simbolo all'arrivo di un nuovo tick. Ti ho dato un pezzo di codice che esegue questo controllo in modo che la posizione successiva, in caso di requotes, non venga aperta sulla barra successiva e dopo un fallimento cerchi di aprire sulla stessa barra. Tutto funziona bene per me sia in modalità singola che multicurrency. L'affare in caso di requotes viene aperto sulla stessa barra, ma solo con un certo ritardo, e quindi non sempre al prezzo aperto della barra, ma con un certo offset. Cioè ci saranno differenze con il tester, ma non in barre, ma nel prezzo di apertura.

 
LeoV:
YuraZ:

VOI prendete il tick!!! e un nuovo tick e l'inizio dell'ora non sono la stessa cosa

il tick potrebbe non arrivare per 5 minuti ---

È necessario cambiare la logica di catturare una nuova barra in modo sottile con una più morbida

hai condizioni troppo dure per l'inizio della barra - ho suggerito una più morbida

ma se per tutti gli strumenti (che non arrivano a spuntare allora kinda non funziona neanche - SOLO QUELLA VARIABILITÀ MOLTO BASSA!

Sì, il fatto è che l'EA deve lavorare su candele chiuse. Pertanto, se una candela non ha chiuso su qualsiasi strumento utilizzato, la decisione non sarà presa.

È più difficile con il codice perché non sono un programmatore. Non posso stendere tutto il codice, come potete vedere. Ma il programmatore che l'ha fatto per me è ora sotto un grosso contratto ed è molto occupato e non può farlo. Quindi sto cercando una soluzione a questo problema prima, per non calpestare di nuovo lo stesso rastrello.


E come pensate di chiudere l'ora in linea di principio!


EURUSD ha chiuso e si apre una nuova ora, mentre USDCHF è occupato per 15 minuti... beh, le zecche non vengono!

Se uno strumento ha chiuso l'ORA, allora anche gli altri possono essere considerati chiusi.

le zecche non possono venire per loro


---

non si deve pensare che l'ora debba essere chiusa da un segno di spunta per tutte le coppie necessarie


è sufficiente per ottenere l'inizio di una nuova barra su qualsiasi coppia

---

Motivazione: