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
L'optimiseur de code a-t-il des limitations sur la taille de l'arbre d'objets ?
J'obtiens une "erreur d'optimisation de l'arbre" au stade de la compilation lorsque le nombre d'objets est augmenté.
P.S. En mode débogage, il compile.
Pouvez-vous joindre un exemple du code source dans le ticket servicedesk ? Le code sera retiré après vérification.
Il est fort probable que ce soit à cause des longues fonctions, mais vous feriez mieux de nous envoyer le code pour que nous puissions l'examiner nous-mêmes et corriger l'erreur. Il aidera de nombreux commerçants.
Tout d'abord, quel est le sens du téléchargement forcé de l'historique dans le testeur ? Le testeur lui-même téléchargera l'historique nécessaire et accessible depuis le serveur, s'il y a des demandes dans le code ou des opérations commerciales pour les symboles nécessaires. Puisque votre code est vide, le testeur n'a pas besoin de simuler des ticks pour d'autres symboles, à l'exception du symbole sur lequel le test est effectué. Et c'est ce que le testeur a téléchargé de son histoire. Et comme il n'y a pas d'historique (dans le testeur), on se retrouve avec 0.
Deuxièmement, même si vous augmentez le code en appelant l'historique complet pour tous les symboles, il est peu probable que le téléchargement de tout l'historique disponible pour tous les symboles réussisse, et quelque part il échouera. Comme le testeur utilise la base de citations des terminaux, il doit télécharger l'historique nécessaire.Pouvez-vous me dire ce que signifient les valeurs de la colonne Résultat lorsque la fonction cible Balance + Drawdown min est sélectionnée ?
Pouvez-vous me dire ce que signifient les valeurs de la colonne Résultat lorsque la fonction cible Balance + Drawdown min est sélectionnée ?
Si vous consultez l'aide dans le terminal, de nombreuses questions disparaîtront car tout y est écrit.
Critère d'optimisation
Un critère d'optimisation est un certain facteur, dont la valeur définit la qualité de l'ensemble testé de paramètres d'entrée. Plus la valeur du critère d'optimisation est élevée, plus le résultat de l'essai avec l'ensemble de paramètres donné est considéré comme bon. Ce paramètre peut être sélectionné dans l'onglet "Paramètres" à droite du champ "Optimisation".
Le critère d'optimisation n'est requis que pour l'algorithme génétique.
Les critères d'optimisation suivants sont disponibles :
Merci. )) Pour une raison quelconque, je pensais au critère du Drawdown minimum, et non au solde + Drawdown minimum. ))
Le problème est que lorsque le testeur essaie de simuler des ticks pour d'autres symboles, le journal commence à être rempli de messages comme contient 0 enregistrements M1 parce qu'il n'y a pas d'historique à cette date et le journal s'agrandit jusqu'à atteindre des quantités inimaginables et j'ai besoin de connaître la date de l'historique pour éviter ces erreurs, mais lorsque vous demandez la fonction SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) renvoie 0
Si je comprends bien, avant de procéder au test, le testeur crée un environnement de marché pour le compte connecté (le dernier connecté s'il n'y a pas de connexion au serveur), vérifie la synchronisation des données avec le serveur (encore une fois, s'il y a une connexion), télécharge les cotations manquantes à partir de la date de début du test (s'il y a une connexion), crée une séquence de cotations de test pour tous les symboles nécessaires, et seulement ensuite commence le test. Que faire s'il ne parvient pas à télécharger l'historique nécessaire (par exemple, en raison de l'absence d'historique sur le serveur ou de l'absence de connexion avec le serveur) ? ? Il vous le dit honnêtement. Non, tu n'es pas obligé.
Ensuite, vous voulez obtenir la date de début de l'historique sur le serveur (dans le testeur). Il semble que cette propriété ne soit pas incluse dans l'environnement de marché du testeur, bien qu'elle ait pu être sauvegardée à partir du serveur. Est-ce une erreur ? Je ne pense pas. Après le début des tests, le testeur ne peut pas accéder au serveur (via le terminal) pour télécharger les devis dont vous avez besoin. Tout ce qui est disponible est déjà chargé par le testeur pendant la phase d'initialisation du processus de test et la séquence de test a déjà été formée et ne peut être modifiée. Au lieu de SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), dans votre cas, je pense que vous pouvez utiliser SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), cela devrait fonctionner dans le testeur.
Pouvez-vous joindre un exemple du code source dans le ticket servicedesk ? Le code sera retiré après vérification.
Il est fort probable qu'il s'agisse de fonctions longues, mais vous feriez mieux de nous envoyer le code afin que nous puissions l'examiner et corriger l'erreur. Il aidera de nombreux commerçants.
Ok, j'ai joint 2 options avec "erreur de génération de code" et "erreur d'optimisation de l'arbre". La fonction onInit est vraiment longue (~1000 lignes de code généré).
Ticket #217917.
Ok, j'ai joint 2 variantes avec "erreur de génération de code" et "erreur d'optimisation de l'arbre". La fonction onInit est vraiment longue (~1000 lignes de code généré).
Ticket #217917
Si je comprends bien, avant de procéder au test, le testeur crée un environnement de marché pour le compte connecté (le dernier connecté s'il n'y a pas de connexion au serveur), vérifie la synchronisation des données avec le serveur (encore une fois, s'il y a une connexion), télécharge les cotations manquantes à partir de la date de début du test (s'il y a une connexion), crée une séquence de cotations de test pour tous les symboles nécessaires, et seulement ensuite commence le test. Que faire s'il ne parvient pas à télécharger l'historique nécessaire (par exemple, en raison de l'absence d'historique sur le serveur ou de l'absence de connexion avec le serveur) ? ? Il vous le dit honnêtement. Non, tu n'es pas obligé.
Ensuite, vous voulez obtenir la date de début de l'historique sur le serveur (dans le testeur). Il semble que cette propriété ne soit pas incluse dans l'environnement de marché du testeur, alors qu'elle aurait pu être sauvegardée depuis le serveur. Est-ce une erreur ? Je ne pense pas. Après le début des tests, le testeur ne peut pas accéder au serveur (via le terminal) pour télécharger les devis dont vous avez besoin. Tout ce qui est disponible est déjà chargé par le testeur pendant la phase d'initialisation du processus de test et la séquence de test a déjà été formée et ne peut être modifiée. Au lieu de SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), dans votre cas, je pense que vous pouvez utiliser SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), cela devrait fonctionner dans le testeur.