Erreurs, bugs, questions - page 1801
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Des appels multiples de SymbolSelect feront que le terminal sera suspendu.
{
bool Res = false;
for (int i = SymbolsTotal(MarketWatch) - 1; (i >= 0) && (!Res); i--)
Res = (Symb == SymbolName(i, MarketWatch));
return(Res);
}
bool SymbolOnOff( const string Symb )
{
return(SymbolSelect(Symb, !SymbolExist(Symb)));
}
void OnStart()
{
for (int i = SymbolsTotal(false) - 1; i >= 0; i--)
{
const string Symb = SymbolName(i, false);
if (SymbolOnOff(Symb))
SymbolOnOff(Symb);
}
}
Je n'ai pas vu de mention dans l'aide, que si un symbole n'est pas dans le Market Watch, alors il n'y a pas de données sur lui. J'ai dû le faire à la main.
Valeur retournée
Valeur de type double. En cas d'échec de l'exécution, les informations sur l'erreur peuvent être obtenues avec GetLastError():
Bien. Il y a une mention de
Merci, indirectement mentionné.
Dites-moi, si j'ajoute un symbole à Market Watch via SymbolSelect, comment puis-je savoir que le Bid/Ask par symbole est devenu disponible -SymbolIsSynchronized?
SymbolIsSynchronized - semble être coûteux pour cet objectif, car il soulève également la question de la synchronisation M1-histoire.
SymbolIsSynchronized ne devient jamais vrai sur certains caractères.
Merci, indirectement mentionné.
Dites-moi, si j'ajoute un symbole à Market Watch via SymbolSelect, comment puis-je savoir que le Bid/Ask par symbole est devenu disponible - SymbolIsSynchronized ?
SymbolIsSynchronized - semble être coûteux pour cet objectif, car il soulève également la question de la synchronisation M1-histoire.
SymbolIsSynchronized ne devient jamais vrai sur certains symboles.
Si cela est fait à partir de l'indicateur, il donnera exactement ce qui est là, mais avec une demande au centre d'histoire pour la pagination. Alors ça peut être atroce.
Si cela est fait à partir d'un conseiller expert ou d'un script, alors plusieurs cycles de demandes peuvent être effectués à l'intérieur de la fonction en attendant la réponse, et en règle générale, après un tel appel, l'historique sera synchronisé.
Si j'ajoute un symbole à Market Watch via SymbolSelect, comment puis-je savoir que l'offre et la demande sur ce symbole sont disponibles ?
Immédiatement après SymbolSelect(true), je demande les prix et ils sont nuls. En même temps _LastError == 0, SymbolInfoTick == true.
Comment puis-je savoir que les prix du nouveau symbole pour Marketwatch ont été livrés à Marketwatch ?
Avant de vérifier le drapeau de synchronisation de l'historique, vous devez d'abord appeler CopyRates(Symbol(),PERIOD_M1,0,1000,rates)
Si cela est fait à partir de l'indicateur, il donnera exactement ce qui est là, mais avec une demande au centre d'histoire pour la pagination. Alors ça peut être atroce.
Si cela est fait à partir d'un EA ou d'un script, plusieurs cycles de requête peuvent être effectués à l'intérieur de la fonction en attendant la réponse et, en règle générale, l'historique sera synchronisé après un tel appel.
Suggérez-vous de faire cela à chaque tic-tac ?