Il compito è risolvibile in linea di principio in MQL4? - pagina 3

 

Lasciate che il master come risoluzione totalizzi il numero massimo consentito di ordini in GV che possono essere aperti. Ogni schiavo prima diminuisce questo GV di uno se GV>0, e poi apre un ordine. L'idea è che ogni schiavo prima segni il diritto di aprire un ordine e poi lo apra.

 

Ho appena capito qual è il problema: invece di 8 schiavi, hai una folla di 8 anarchici ;))

Dopo aver ottenuto il permesso dal padrone, questa folla non organizzata esce sul campo e fa quello che vuole.

 
avtomat:

E perché e perché si fanno due maghi identici?

Le variabili globali possono essere usate per assegnare aree magiche non sovrapposte agli EA inclusi. I controlli e le assegnazioni corrispondenti sono fatti in init().

Inoltre, è possibile limitare il numero di ordini aperti per ogni simbolo sia specificandolo esplicitamente sia assegnando un master, a seconda della situazione generale attuale che il master deve controllare.


"E perché e perché si fanno due maghi identici?".

Questo è stato il mio errore. Non lo stesso, ma diverso, naturalmente.

La questione è che gli EA schiavi sono setter e ognuno può aprire 8 ginocchia e ovviamente avranno maghi identici.

Il mio codice dovrebbe limitare l'attività degli Expert Advisors e non costruire griglie di più di 2 coppie alla volta.

Ho scritto un ciclo con un array che confronta i maghi aperti e se 2 maghi diversi sono già stati aperti, cioè 2 coppie hanno già iniziato a costruire reti, una variabile globale vieta di costruirne di nuove per le coppie rimanenti. È anche possibile limitare per strumento, l'importante è limitare, ma non funziona, o meglio funziona, ma la procedura guidata non ha il tempo di pensare che è il momento di sovrascrivere la variabile globale.

 
avtomat:

Ho appena capito qual è il problema: invece di 8 schiavi, hai una folla di 8 anarchici ;))

Dopo aver ottenuto il permesso dal maestro, questa folla disorganizzata esce sul campo e fa quello che vuole.


Esattamente così, obbediscono globalmente, ma finché il maestro ha la possibilità di parlare la folla è già sparpagliata su 4-6 coppie invece di 2
 
Sepulca:

Che il master come risoluzione totalizzi il numero massimo consentito di ordini in GV che possono essere aperti. Ogni schiavo prima diminuisce questo GV di uno se GV>0, e poi apre un ordine. L'idea è che ogni schiavo prima segni il diritto di aprire un ordine e poi lo apra.


Entrare nel codice degli EAs di trading non è un'opzione; l'unica cosa che ascolteranno è il globale
 
Se lo schiavo ha fatto qualche azione, deve riferire al maestro. Il padrone, a sua volta, deve dare il suo riassunto, da cui dipendono le ulteriori azioni (o inazioni) dello schiavo.
 
Ecco perché ho chiesto se il problema può essere risolto con l'aiuto di mql4, forse una nuova soluzione o un modo astuto per avviare il master senza lasciare che tutto il terminale si blocchi, ma che il master funzioni sempre, non quando gli viene dato il diritto di voto.
 

Ad ogni slave slave1, slave2, ..., slave8 può essere assegnato il proprio semaforo work1, work2, ..., work8.

Gli schiavi devono inviare una richiesta per permettere l'azione -- quest1, quest2, ..., quest8.

Il master, avendo ricevuto la richiesta, gestisce i semafori.

 
avtomat:

Ad ogni slave slave1, slave2, ..., slave8 può essere assegnato il proprio semaforo work1, work2, ..., work8.

Gli schiavi devono inviare una richiesta per permettere l'azione -- quest1, quest2, ..., quest8.

Il master, quando riceve la richiesta, gestisce i semafori.

Il cerchio è chiuso?
In altre parole: senza entrare nel codice degli schiavi, il problema non può essere risolto?

Speravo in qualche ingegnoso master looping...

 

Zakyza:
Il cerchio è chiuso?
In altre parole: senza entrare nel codice dello schiavo, il problema non può essere risolto?

Cosa significa "senza entrare nel codice dello schiavo"? Non è disponibile?