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
Où et comment est généré MarketWatch?
Si j'ai bien compris, ce bloc essaie d'ajouter un symbole à la liste, avec vérification du résultat.
Mais si le Conseiller Expert est une paire de devises multiples (ce qui n'est pas évident dans l'exemple ci-dessus).
Ce code est dans une boucle de paire de devises, Exp_Symbol à chaque passage, sauf le premier, est une paire de devises "étrangères". S'il existe cinq paires de devises, SymbolSelect(Exp_Symbol, true) sera appelé cinq fois pour cinq symboles différents.
L'appel aux fonctions SymbolSelect(), SymbolIsSynchronized(), CopyRates() dans mon code par des symboles "étrangers" (l'historique doit être mis à jour en conséquence). Au premier test, il y a des données, mais au deuxième test, il n'y a pas de données et l'Expert Advisor se bloque dans le testeur.
Ce code est dans la boucle de la paire de devises, Exp_Symbol à chaque passage sauf le premier qui est une paire de devises "étrangères". J'ai un appel aux fonctions SymbolSelect(), SymbolIsSynchronized(), CopyRates() par des symboles "étrangers" (donc l'historique doit être échangé). Au premier test, il y a des données, mais au deuxième test, il n'y a pas de données et l'Expert Advisor se bloque dans le testeur.
Pouvez-vous envoyer un expert et une description des paramètres d'optimisation/de test à servicedesk ?
Je veux décharger les données de janvier 2009. J'ai déchargé les données de 15 minutes et d'une heure, mais je ne peux pas décharger les données de 5 minutes, il dit qu'il n'y a pas d'historique. Pourquoi le téléchargement de l'historique n'est pas de 5 minutes ?
void OnStart()
{
int size = 25;
datetime dateFrom;
datetime dateTo;
MqlRates rates[];
MqlDateTime stDate;
int FileHandle;
stDate.day = 1;
stDate.hour = 0;
stDate.mon = 1;
stDate.year = 2009;
dateFrom = StructToTime( stDate );
stDate.day = 31;
dateTo = StructToTime( stDate );
ArraySetAsSeries(rates,true);
int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
for(int i=0;i<100;i++)
{
if(GetLastError()!=0)
{
Sleep(5000);
copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
}
else
{
break;
}
Print("Нет истории, проход № " + i);
}
if(copied>0)
{
Print("Скопировано баров: "+IntegerToString(copied));
//string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
string out;
size = ArraySize(rates);
ResetLastError();
FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV);
if(FileHandle==INVALID_HANDLE)
{
Print("Ошибка " + IntegerToString((GetLastError())));
}
for(int i=size-1;i>=0;i--)
{
FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits));
}
Print("size = " + FileSize(FileHandle));
FileFlush(FileHandle);
FileClose(FileHandle);
}
else
{
Print("Не удалось получить исторические данные по символу ",Symbol());
Print("Ошибка " + GetLastError());
}
}
J'ai décidé de vérifier comment la fonction ArrayResize fonctionne avec tous les paramètres. Il compile sans problème, l'auto-trading est activé partout, mais l'Expert Advisor se décharge du graphique sans même passer par OnInit.
Quel est le problème, je n'arrive pas à le comprendre.
J'ai décidé de vérifier comment la fonction ArrayResize fonctionne avec tous les paramètres. Il compile sans problème, l'auto-trading est activé partout, mais l'Expert Advisor se décharge du graphique sans même passer par OnInit.
Quel est le problème, je n'arrive pas à le comprendre.
Banal hors de portée, vérifier dans l'onglet "Experts".
La réservation n'est pas une allocation, votre tableau compte toujours cinq éléments, bien que la mémoire soit allouée pour 10.
Banal hors de portée, regardez l'onglet "Experts".
Réserver n'est pas allouer, votre tableau est toujours composé de cinq éléments, même si vous avez alloué de la mémoire pour 10.
J'ai décidé de vérifier comment la fonction ArrayResize fonctionne avec tous les paramètres. Il compile sans problème, l'auto-trading est activé partout, mais l'Expert Advisor se décharge du graphique sans même passer par OnInit.
Bonjour,
Après avoir testé et activé l'optimisation, j'obtiens ceci :
Passe génétique du Core 1 (127, 1195) testée avec l'erreur "critical runtime error
Le test est normal.