
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Spero in un'ulteriore guida.
Quark
ammette che tra (GlobalVariableGet(strTradeSemaphore) == 0,0) e GlobalVariableSet(strTradeSemaphore, 1,0); un altro EA si inserisce. Abbiamo bisogno di una funzione che catturi e inibisca il thread di esecuzione (cioè aspetti la risorsa) e poi restituisca il controllo all'Expert Advisor. Qualcosa come WaitForExclusive()
. Anche se forse non è questo il punto. Ma gli errori continuano a comparire, ahimè.
Spero di ricevere aiuto.
A proposito, ora che questa conversazione è iniziata, come posso determinare automaticamente quante cifre lasciare per il prezzo usando NormalizeDouble, cioè 4 per EURUSD, 2 per EURJPY... ♪
Errore 138. Più volte al minuto (cioè lo generano diversi dei 12 Expert Advisors).
Errore 129. Stavo razionando i prezzi e facendo un sacco di altre cose...
e il vostro Expert Advisor con il mio 5 mi ha dato un errore - 6.
il mio Expert Advisor non funziona nella mia correzione - hanno fatto un casino in questa build =)
oh sì... anche il mio 5 non funziona =)))) oh amico...
e il vostro Expert Advisor con il mio 5 ha dato un errore - 6.
il mio Expert Advisor non funziona nella mia correzione - hanno fatto un casino in questa build =)
oh sì... anche il mio 5 non funziona =)))) oh amico...
Grazie per il codice, mi ci sarebbe voluto molto tempo per trovarlo da solo.
L'esperto suggerito da Slava e migliorato :) da me è dato qui sotto. Puoi farlo funzionare come me - in 12 finestre, con 12 valute. Funziona per qualsiasi periodo di tempo, ma è più veloce sui minuti). Continuo a ricevere errori, dannazione. Vorrei sapere perché.
. Anche se forse non è questo il punto. Ma ahimè, gli errori continuano ad apparire.
Questo è esattamente ciò che intendevo con l'ipotetica funzione GlobalVariableSetOnCondition, che potrebbe impostare la variabile globale come primo parametro, a condizione che il suo valore sia uguale al valore del secondo parametro. poiché l'accesso alle variabili globali è bloccato, darà "atomicità"
ora sulla funzione IsStopped. controlla il flag Stop, in modo che l'EA possa normalmente fermarsi (ha 2,5 secondi per questo). si raccomanda di utilizzare questa funzione come una delle condizioni del ciclo, specialmente per il ciclo infinito
Slava, per quanto mi riguarda, non capisco questo testo. Per favore, spiegatelo in altre parole o mostratemi cosa intendete. Se puoi.
A proposito, cosa c'è di sbagliato nel codice che ho riscritto? Cioè, è chiaro che qualcosa non va perché non funziona, ma non vedo l'errore. Secondo il mio intuito, questo è ciò che avrebbe dovuto fornire un accesso esclusivo...
именно так. я поэтому и говорил про гипотетическую функцию GlobalVariableSetOnCondition, которая могла бы устанавливать глобальную переменную первым параметром при условии, что значение её равно значению второго параметра. так как доступ к глобальным переменным блокируется, то это даст "атомарность"
Slava, per quanto mi riguarda, non capisco questo testo. O lo spieghi in altre parole, o mi mostri cosa intendi. Se puoi.
Stiamo parlando di prevenire la possibilità di incuneamento tra le chiamate delle funzioni GlobalVariableGet e GlobalVariableSet. l'incuneamento da parte di un altro Expert Advisor è reale poiché gli errori sono ancora osservati. ecco perché sto parlando di accesso atomico. stiamo parlando di risolvere uno e lo stesso problema ma con parole diverse
.
A proposito, cosa c'è di sbagliato nel pezzo di codice che ho rielaborato? Cioè, è chiaro che c'è qualcosa che non va perché non funziona, ma non vedo l'errore. Secondo il mio intuito, questo è ciò che avrebbe dovuto fornire un accesso esclusivo...
Il tuo esempio è migliore