Friday 17 February 2017

Amibroker Mobile Moyenne Crossover Système

WiseTrader Toolbox Rotation du système pour Amibroker (AFL) Tout indicateur ou système, tôt ou tard, passera par une période difficile ou cessera de fonctionner complètement. L'objectif de l'indicateur de rotation du système est de tester chaque système sur un nombre fixe de périodes pour le stock actuel et de déterminer quel système devrait être échangé à l'avenir. Ceci est réévalué après chaque transaction. Cela peut permettre un système plus robuste que vous pouvez faire pivoter entre dire un système de crossover moyen mobile et un système basé RSI. Cela est réalisé grâce à la fonction RotateSignalsX qui peut tourner entre 2 systèmes et 8 en fonction de la fonction qui est choisi. Moving Moyenne Crossovers sont un style populaire de négociation dans le commerce intraday. Le Amibroker AFL ci-dessous pour le Crossover moyen mobile est un SMA 5 traversant le 9 SMA. Les flèches d'achat ou de vente sont affichées sur la bougie de fermeture au point de croisement. Les entrées effectuées sur la base de la moyenne mobile Crossover peut se révéler être la perte sur les marchés latéraux. Donc, Trend devrait toujours être pris en compte lorsque de tels métiers de crossover sont en cours d'initiation. Lorsque la moyenne mobile basse croise la moyenne mobile supérieure au-dessus ou au-dessous de la négociation est amorcée dans la direction du croisement. C'est-à-dire si 5 SMA croise 9 SMA d'en haut puis un commerce de vente doit être lancé et quand 5 SMA croise les 9 SMA d'en bas alors le commerce long doit être initié. Pour référence, une image a été affichée sous le post. Copier le code ci-dessous MA5 MA (C, 5) MA9 MA (C, 9) Acheter Croix (MA5, MA9) Vendre Croix (MA9, MA5) Filtrer Acheter OU Vendre Acheter ExRem (Acheter, (Buy, colorPaleGreen, IIf (Sell, colorPink, colorDefault)) if (Statut (MA5, MA (Close, 5), colorSeaGreen, styleLine) Plot (MA9, MA (Close, 9), colorRed, styleLine) PlotOHLC (O, H, L, C,, colorGrey40, styleCandle) PlotShapes (IIf (Buy, shapeSquare, shapeNone), colorLime, 0, L, Offset-10) PlotShapes (IIf (Buy, shapeSquare, shapeNone), colorGreen, ), ColorRed, 0, H, Offset20) PlotShapes (IIf (Sell, shapeSquare, shapeNone), couleurOrange, 0, H, Offset10) PlotShapes (IIf (Sell, shapeSquare, shapeNone), colorWhite, 0, L, Offset-15) ) (Opération) action () () () (), () () () () () () () 120) AddColumn (DateTime (), Date, formatDateTime, colorDefault, colorDefault, 96) AddTextColumn (trigger, Signal, 77, fg, bg) AddColumn (C, CMP, 1.2, fg, colorDefault, 96) Disclaimer amp CTFC Règle 4.41 Les contrats à terme comportent des risques importants et ne conviennent pas à tous les investisseurs. Un investisseur pourrait potentiellement perdre tout ou plus que l'investissement initial. Le capital-risque est de l'argent qui peut être perdu sans compromettre la sécurité financière ou le mode de vie. Ne considérer que le capital-risque qui devrait être utilisé pour la négociation et seuls ceux qui ont suffisamment de capital risque devraient envisager de négociation. Une performance précédente n'est pas nécessairement indicative des résultats futurs. RÈGLE DE CTFC 4.41 8211 LES RÉSULTATS DE PERFORMANCE HYPOTHETIQUES OU SIMULÉS ONT CERTAINES LIMITATIONS. UNLIKE UN RAPPORT DE PERFORMANCE RÉELLE, LES RÉSULTATS SIMULÉS NE REPRÉSENTENT PAS DE COMMERCE RÉEL. EN OUTRE, LES COMMERCES N'AI PAS ETE EXECUTES, LES RESULTATS PEUVENT ETRE COMPENSES POUR L'IMPACT, LE CAS ECHEANT, DE CERTAINS FACTEURS DE MARCHE TELS QUE LA LIQUIDITE. LES PROGRAMMES SIMULTANÉS DE COMMERCE EN GÉNÉRAL SONT ÉGALEMENT SUJETS AU FAIT QU'ILS SONT CONÇUS AVEC LE BÉNÉFICE DE HINDSIGHT. AUCUNE REPRÉSENTATION N'EST FAITE QUE TOUT COMPTE EST OU PEUT PROVOQUER DES BÉNÉFICES OU DES PERTES SIMILAIRES À CELLES INDIQUÉES. Tous les métiers, les modèles, les diagrammes, les systèmes, etc. discutés dans ce site Web ou publicité sont à titre indicatif seulement et ne sont pas interprétés comme des recommandations consultatives spécifiques. Toutes les idées et les matériaux présentés ici sont à titre informatif et éducatif seulement. Aucun système ou méthode de négociation n'a jamais été développé qui puisse garantir les bénéfices ou prévenir les pertes. Les témoignages et les exemples utilisés ici sont des résultats exceptionnels qui ne s'appliquent pas aux personnes moyennes et ne sont pas destinés à représenter ou à garantir que quiconque atteindra les mêmes résultats ou des résultats similaires. Les métiers placés sur la dépendance des systèmes de méthodes Trend sont pris à vos propres risques pour votre propre compte. Il ne s'agit pas d'une offre d'achat ou de vente d'intérêts à terme. Catégories Articles populaires Swing Trading System V 2.0 Amibroker Code AFL. Le crédit est attribué au créateur du Code AFL. Aucun changement n'a été apporté par le propriétaire du blog à. Pour identifier un renversement de tendance dans une stratégie de négociation est une grande question pour chaque commerçant. Inversion de tendance si attrapé à un bon moment peut être vraiment. 160NIRVANA Amibroker révisé ou modifié AFL. Un système commercial qui est largement utilisé par les commerçants pour évaluer la tendance comme le montre le Heiken. Amibroker Code AFL pour tracer Elliot vague Avec SAR sur le tableau des prix. Le crédit est attribué au créateur du Code AFL. Aucun changement n'a été fait. 160Post Mis à jour le 15 mars 2013 pour la publication d'un nouveau code meilleur. Niveaux de point de pivotement automatique dans Amibroker. The AFL est fourni as. How pour optimiser le système de négociation NOTE: Il s'agit d'un sujet assez avancé. Veuillez lire d'abord les tutoriels précédents de l'AFL. L'idée derrière une optimisation est simple. D'abord vous devez avoir un système commercial, ceci peut être un croisement simple de la moyenne mobile par exemple. Dans presque tous les systèmes, il existe certains paramètres (comme période de moyenne) qui déterminent la façon dont le système donné se comporte (c'est-à-dire est bien adapté à long terme ou à court terme, comment réagit-on sur les stocks très volatils, etc.). L'optimisation est le processus de recherche de valeurs optimales de ces paramètres (donnant le meilleur profit du système) pour un symbole donné (ou un portefeuille de symboles). AmiBroker est l'un des rares programmes qui vous permettent d'optimiser votre système sur plusieurs symboles à la fois. Pour optimiser votre système, vous devez définir de un à dix paramètres à optimiser. Vous décidez de la valeur minimale et maximale admissible du paramètre et des incréments de cette valeur à mettre à jour. AmiBroker effectue alors plusieurs tests en arrière du système en utilisant TOUTES les combinaisons possibles de valeurs de paramètres. Lorsque ce processus est terminé, AmiBroker affiche la liste des résultats triés par résultat net. Vous pouvez voir les valeurs des paramètres d'optimisation qui donnent le meilleur résultat. Écriture de la formule AFL L'optimisation dans le testeur est prise en charge par une nouvelle fonction appelée optimiser. La syntaxe de cette fonction est la suivante: variable optimize (quot Description quot, default. Min. Max. Step) variable - est une variable AFL normale qui obtient la valeur renvoyée par la fonction optimize. Avec les modes normales de backtesting, de scanning, d'exploration et de commentaires, la fonction d'optimisation renvoie la valeur par défaut, de sorte que l'appel de fonction ci-dessus est équivalent à: variable default En optimisation, la fonction optimise renvoie des valeurs successives de min à max (inclusivement) Quot Descriptionquot est une chaîne utilisée pour identifier la variable d'optimisation et est affichée sous la forme d'un nom de colonne dans la liste des résultats d'optimisation. La valeur par défaut est une valeur par défaut qui optimise les retours de fonction dans les modes d'exploration, d'indicateur, de commentaire, de balayage et de test normal min est une valeur minimale de la variable à optimiser max est une valeur maximale de la variable à optimiser est un intervalle utilisé pour augmenter le Valeur de min à max AmiBroker prend en charge jusqu'à 64 appels pour optimiser la fonction (donc jusqu'à 64 variables d'optimisation), notez que si vous utilisez l'optimisation exhaustive, il est vraiment bon idée de limiter le nombre de variables d'optimisation à quelques-uns. Chaque appel pour optimiser des boucles d'optimisation de pas (max-min) et des appels multiples pour optimiser multiplie le nombre de runs nécessaires. Par exemple, l'optimisation de deux paramètres en 10 étapes nécessitera 1010 100 boucles d'optimisation. Optimisation de la fonction uniquement ONCE par variable au début de votre formule car chaque appel génère une nouvelle boucle d'optimisation L'optimisation de plusieurs symboles est entièrement prise en charge par AmiBroker L'espace de recherche maximum est de 2 64 (10 19 10,000,000,000,000,000,000) combinaisons 1. Optimisation de variable unique: sigavg Optimize (Signal 12,26.) 1) Acheter Croix (MACD (12,26), Signal (12,26 sigavg)) Sell Cross (Signal (12,26 sigavg), MACD (12,26)) 2. Optimisation à deux variables (adapté à la cartographie 3D) par Optimisation (par 2. 5. 50. 1) Niveau Optimisation (niveau 2. 2. 150. 4) Achat Croix (CCI (per), - Level) 3. Optimisation de la variable multiple (3): mfast Optimize (MACD Fast) 12. 8. 16. 1) mslow Optimisation (MACD Slow 26. 17. 30. 1) sigavg Optimize (Signal (Mfast, mslow, sigavg), MACD (mfast, mslow).) Après la saisie du signal (mfast, mslow, sigavg) La formule suffit de cliquer sur le bouton Optimiser dans la fenêtre QuotAutomatic Analysisquot. AmiBroker commencera à tester toutes les combinaisons possibles de variables d'optimisation et rapportera les résultats dans la liste. Une fois l'optimisation effectuée, la liste des résultats est présentée triée par le bénéfice net. Comme vous pouvez trier les résultats par n'importe quelle colonne dans la liste des résultats, il est facile d'obtenir les valeurs optimales des paramètres pour le tirage le plus bas, le plus petit nombre de métiers, le plus grand facteur de profit, Les dernières colonnes de la liste des résultats présentent les valeurs des variables d'optimisation pour un test donné. Lorsque vous décidez de la combinaison de paramètres qui convient le mieux à vos besoins, il suffit de remplacer les valeurs par défaut pour optimiser les appels de fonction avec les valeurs optimales. A l'étape actuelle, vous devez les saisir manuellement dans la fenêtre d'édition de la formule (le deuxième paramètre d'optimisation de l'appel de fonction). Affichage des diagrammes d'optimisation animés 3D Pour afficher le diagramme d'optimisation 3D, vous devez d'abord exécuter l'optimisation à deux variables. Deux optimisation variable a besoin d'une formule qui a 2 appels de fonction Optimize (). Un exemple de formule d'optimisation à deux variables ressemble à ceci: par Optimiser (par 2. 5. 50. 1) Niveau Optimiser (niveau 2. 2. 150. 4) Acheter Croix (CCI (par), niveau) Sell Cross (Niveau, CCI (per)) Après avoir saisi la formule, vous devez cliquer sur le bouton quotOptimizequot. Une fois l'optimisation terminée, cliquez sur la flèche du bouton Optimiser et choisissez Afficher le graphique d'optimisation 3D. En quelques secondes, un tracé de surface tridimensionnel coloré apparaîtra dans une fenêtre de visualisation de graphiques en 3D. Un exemple de graphique 3D généré à l'aide de la formule ci-dessus est illustré ci-dessous. Par défaut, les graphiques 3D affichent les valeurs du bénéfice net par rapport aux variables d'optimisation. Vous pouvez cependant tracer le graphique de surface 3D pour n'importe quelle colonne dans la table de résultats d'optimisation. Il suffit de cliquer sur l'en-tête de colonne pour le trier (une flèche bleue apparaîtra indiquant que les résultats d'optimisation sont triés par colonne sélectionnée), puis de nouveau afficher le graphique d'optimisation 3D. En visualisant comment vos paramètres système affectent les performances de trading, vous pouvez décider plus facilement quelles valeurs de paramètres produisent quotfragilequot et qui produisent quotrobustquot performance du système. Les paramètres robustes sont des régions dans le graphique 3D qui montrent des changements progressifs plutôt que brusques dans le graphique de surface. Les diagrammes d'optimisation 3D sont un excellent outil pour empêcher l'ajustement des courbes. L'ajustement de la courbe (ou la sur-optimisation) survient lorsque le système est plus complexe qu'il ne l'a été, et toute cette complexité a été concentrée sur des conditions de marché qui peuvent ne jamais se reproduire. Les changements radicaux (ou pics) dans les diagrammes d'optimisation 3D montrent clairement des zones de sur-optimisation. Vous devriez choisir la région de paramètre qui produit un plateau large et large sur le diagramme 3D pour votre commerce de la vie réelle. Les jeux de paramètres générant des pointes de profit ne fonctionneront pas de manière fiable dans les transactions réelles. Commandes de visualisation de diagramme 3D AmiBrokers Afficheur de diagramme 3D offre des capacités de visualisation totale avec rotation de graphique complète et animation. Maintenant, vous pouvez afficher les résultats de votre système de toutes les perspectives imaginables. Vous pouvez contrôler la position et les autres paramètres du graphique à l'aide de la souris, de la barre d'outils et des raccourcis clavier, que vous trouviez plus facile pour vous. Vous trouverez ci-dessous la liste. - pour faire pivoter - maintenir enfoncé le bouton de la souris GAUCHE et se déplacer dans les directions XY - pour zoomer, zoom arrière - maintenir enfoncé le bouton de la souris DROITE et déplacer dans les directions XY - déplacer (traduire) - maintenez enfoncé le bouton gauche de la souris et la touche CTRL et Déplacer dans les directions XY - pour Animer - maintenez enfoncé le bouton de la souris GAUCHE, faites glisser rapidement et relâchez le bouton tout en faisant glisser ESPACE - animer (auto-rotation) TOUCHE GAUCHE - tourner vert. Gauche FLECHE DROITE - tourner vert. Right FLECHE ARRIÈRE - rotation horizontale. Up FLECHE BAS - rotation de l'horiz. NUMPAD 4 - déplacement vers la gauche NUMPAD 6 - déplacement vers la droite NUMPAD 8 - déplacement vers le haut NUMPAD 2 - déplacement vers le bas PAGE UP - niveau de l'eau vers le haut PAGE DOWN - réduction du niveau d'eau Amélioration intelligente (non exhaustive) AmiBroker offre désormais une optimisation intelligente (non exhaustive) en plus d'une recherche régulière et exhaustive. La recherche non exhaustive est utile si le nombre de toutes les combinaisons de paramètres du système commercial donné est simplement trop important pour être réalisable pour une recherche exhaustive. La recherche exhaustive est parfaitement fine tant qu'il est raisonnable de l'utiliser. Disons que vous avez 2 paramètres allant de 1 à 100 (étape 1). Thats 10000 combinaisons - parfaitement OK pour une recherche exhaustive. Maintenant, avec 3 paramètres vous avez obtenu 1 million de combinaisons - il est encore OK pour la recherche exhaustive (mais peut être long). Avec 4 paramètres vous avez 100 millions de combinaisons et avec 5 paramètres (1..100) vous avez 10 milliards de combinaisons. Dans ce cas, il serait trop long pour vérifier tous, et c'est le domaine où les méthodes non-exhaustive de recherche intelligente peut résoudre le problème qui n'est pas résoluble dans un délai raisonnable en utilisant la recherche exhaustive. Voici l'instruction la plus simple pour utiliser un nouvel optimiseur non exhaustif (dans ce cas CMA-ES). 1. Ouvrez votre formule dans l'Editeur de Formule 2. Ajoutez cette ligne unique en haut de votre formule: OptimizerSetEngine (quotcmaequot) vous pouvez également utiliser quotspsoquot ou quottribquot ici 3. (Facultatif) Sélectionnez votre cible d'optimisation dans Automatic Analysis, Settings, quotWalk - Page avant, zone cible Optimisation. Si vous omettez cette étape, elle s'améliorera pour le CARMDD (rendement annuel composé divisé par le retrait maximal). Maintenant, si vous exécutez l'optimisation à l'aide de cette formule, il utilisera de nouveaux évolutive (non exhaustive) CMA-ES optimiseur. Comment fonctionne-t-il L'optimisation est le processus de recherche de la fonction minimum (ou maximum) d'une fonction donnée. Tout système commercial peut être considéré comme une fonction de certain nombre d'arguments. Les entrées sont des paramètres et des données de cotation. La sortie est votre objectif d'optimisation (disons CARMDD). Et vous cherchez le maximum de la fonction donnée. Certains des algorithmes intelligents d'optimisation sont basés sur la nature (comportement animal) - Algorithme PSO, ou processus biologique - Algorithmes génétiques, et certains sont basés sur des concepts mathématiques dérivés par les humains - CMA-ES. Ces algorithmes sont utilisés dans de nombreux domaines différents, y compris la finance. Entrez quotPSO financequot ou quotCMA-ES financequot dans Google et vous trouverez beaucoup d'info. Des méthodes non exhaustives (ou quotsmartquot) trouveront global ou local optimal. L'objectif est bien sûr de trouver globale, mais si il ya un seul pic pointu dans des combinaisons de paramètres zillions, des méthodes non exhaustives peuvent échouer à trouver ce pic unique, mais en prenant forme commerçants perspecive, trouver un seul pic pointu est inutile pour Parce que ce résultat serait instable (trop fragile) et non réplicable dans le commerce réel. Dans le processus d'optimisation nous recherchons plutôt des régions de plateau avec des paramètres stables et c'est le secteur où les méthodes intelligentes brillent. En ce qui concerne l'algorithme utilisé par la recherche non exhaustive, il apparaît comme suit: a) l'optimiseur génère une population de départ (généralement aléatoire) des ensembles de paramètres b) le test de retour est effectué par AmiBroker pour chaque ensemble de paramètres de la population c) Évaluée selon la logique de l'algorithme et la nouvelle population est générée sur la base de l'évolution des résultats, d) si de nouvelles améliorations sont trouvées, sauvegardez-les et passez à l'étape b) jusqu'à ce que les critères d'arrêt soient satisfaits. Itérations maximales b) s'arrêter si la plage des meilleures valeurs objectives des dernières X générations est nulle c) s'arrêter si l'ajout d'un vecteur d'écart-type 0,1 dans n'importe quelle direction d'axe principal ne change pas la valeur de la valeur objective d) Exhaustif) dans AmiBroker, vous devez spécifier le moteur d'optimisation que vous souhaitez utiliser dans la formule AFL à l'aide de la fonction OptimizerSetEngine. La fonction sélectionne le moteur d'optimisation externe défini par son nom. AmiBroker est actuellement livré avec 3 moteurs: Standard Particle Swarm Optimizer (quotspsoquot), Tribus (quottribquot) et CMA-ES (quotcmaequot) - les noms dans les accolades doivent être utilisés dans les appels OptimizerSetEngine. En plus de sélectionner le moteur d'optimisation, vous pouvez définir certains de ses paramètres internes. Pour ce faire, utilisez la fonction OptimizerSetOption. Fonction OptimizerSetOption (quotnamequot, value) La fonction a défini des paramètres supplémentaires pour le moteur d'optimisation externe. Les paramètres dépendent du moteur. Les trois optimiseurs livrés avec AmiBroker (SPSO, Trib, CMAE) supportent deux paramètres: quotRunsquot (nombre d'exécutions) et quotMaxEvalquot (évaluations maximales (tests) par exécution unique). Le comportement de chaque paramètre dépend du moteur, de sorte que les mêmes valeurs peuvent et, habituellement, donneront des résultats différents avec différents moteurs utilisés. La différence entre Runs et MaxEval est la suivante. L'évaluation (ou le test) est un seul contre-test (ou une évaluation de la valeur de la fonction objective). RUN est une exécution complète de l'algorithme (recherche de la valeur optimale) - impliquant généralement de nombreux tests (évaluations). Chaque exécution simplement RESTARTS l'ensemble du processus d'optimisation à partir du nouveau début (nouvelle population aléatoire initiale). Par conséquent chaque exécution peut conduire à trouver différent local maxmin (si elle ne trouve pas globale). Ainsi, le paramètre Runs définit le nombre d'exécutions d'algorithmes ultérieures. MaxEval est le nombre maximum d'évaluations (bactests) dans une seule exécution. Si le problème est relativement simple et que 1000 tests sont suffisants pour trouver le max global, 5x1000 est plus susceptible de trouver le maximum global car il ya moins de chances d'être coincé dans le max local, Être délicat. Cela dépend du problème à tester, de sa complexité, etc. Toute méthode stochastique non exhaustive ne vous donne pas la garantie de trouver maxmin global, quel que soit le nombre de tests, s'il est plus petit que exhaustif. La réponse la plus facile est de. Spécifiez le nombre de tests qu'il est raisonnable de faire en termes de temps à remplir. Un autre conseil simple est de multiplier par 10 le nombre de tests en ajoutant une nouvelle dimension. Cela peut conduire à surestimer le nombre de tests requis, mais il est tout à fait sûr. Les moteurs expédiés sont conçus pour être simples à utiliser, donc quotreasonablequot defaultautomatique valeurs sont utilisées afin que l'optimisation peut être généralement exécuté sans rien spécifier (acceptant par défaut). Il est important de comprendre que toutes les méthodes intelligentes d'optimisation fonctionnent le mieux dans des espaces de paramètres continus et des fonctions objectives relativement lisses. Si l'espace des paramètres est discret, les algorithmes évolutifs peuvent avoir du mal à trouver la valeur optimale. Il est particulièrement vrai pour les paramètres binaires (onoff) - ils ne sont pas adaptés à toute méthode de recherche qui utilise le gradient de changement de fonction objectif (comme le font la plupart des méthodes intelligentes). Si votre système d'échange contient de nombreux paramètres binaires, vous ne devriez pas utiliser l'optimiseur intelligent directement sur eux. Au lieu de cela, essayez d'optimiser uniquement les paramètres continus à l'aide de l'optimiseur intelligent et changez les paramètres binaires manuellement ou via un script externe. SPSO - Standard Particle Swarm Optimizer est basé sur SPSO2007 code qui est censé produire de bons résultats à condition que les paramètres corrects (c'est-à-Runs, MaxEval) sont fournis pour un problème particulier. Choisir les bonnes options pour l'optimiseur PSO peut être délicat, donc les résultats peuvent varier considérablement d'un cas à l'autre. SPSO. dll est fourni avec des codes sources complets dans le sous-dossier quotADKquot. OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) Optimiser (quotsquot, 26, 1, 100, 1) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotRunsquot, 1) (0, MACD (fa, sl)) TRIBES - Adaptive Parameter-less Optimiseur d'essaim de particules de particules Tribus est adaptatif (quotfquot, 12, 1, 100, 1) , Version sans paramètre de l'optimiseur non exhaustif PSO (optimisation des essaims de particules). Pour des raisons scientifiques, voir: particleswarm. infoTribes2006Cooren. pdf En théorie, il devrait fonctionner mieux que le PSO régulier, car il peut ajuster automatiquement les tailles des essaims et la stratégie de l'algorithme au problème en cours de résolution. La pratique montre que sa performance est assez similaire à PSO. Le plugin Tribes. DLL implémente la variante quotTribes-Dquot (c'est-à-dire sans dimension). Basé sur clerc. maurice. free. frpsoTribesTRIBES-D. zip par Maurice Clerc. Les codes sources originaux utilisés avec l'autorisation de l'auteur Tribes. DLL sont fournis avec le code source complet (dans le dossier quotADKquot) Paramètres supportés: quotMaxEvalquot - nombre maximum d'évaluations (backtests) par run (par défaut 1000). Vous devez augmenter le nombre d'évaluations avec un nombre croissant de dimensions (nombre de paramètres d'optimisation). Le 1000 par défaut est bon pour 2 ou 3 dimensions maximum. QuotRunsquot - nombre de cycles (redémarrages). (Par défaut 5) Vous pouvez laisser le nombre d'exécutions à la valeur par défaut de 5. Par défaut, le nombre d'exécutions (ou redémarrages) est défini sur 5. Pour utiliser l'optimiseur Tribes, il suffit d'ajouter une ligne à votre code: OptimizerSetOption (quotMaxEvalquot , 5000) 5000 évaluations max CMA-ES - Covariance Matrix Adaptation Optimiseur de stratégie évolutionnaire CMA-ES (Covariance Matrix Adaptation Evolutionary Strategy) est avancé non exhaustive optimiseur. Pour des raisons scientifiques voir: bionik. tu-berlin. deusernikocmaesintro. html Selon des repères scientifiques surperforme neuf autres, les stratégies évolutives les plus populaires (comme PSO, évolution génétique et différentielle). Bionik. tu-berlin. deusernikocec2005.html Le plugin CMAE. DLL implémente quotGlobalquot variante de recherche avec plusieurs redémarrages avec la taille de la population croissante CMAE. DLL est livré avec le code source complet (dans le dossier quotADKquot) Par défaut le nombre de runs (ou redémarre) est défini À 5. Il est conseillé de laisser le nombre de redémarrages par défaut. Vous pouvez le varier en utilisant l'appel OptimizerSetOption (quotRunsquot, N), où N doit être dans la plage 1..10. La spécification de plus de 10 exécutions n'est pas recommandée, bien que possible. Notez que chaque exécution utilise TWICE la taille de la population de l'exécution précédente de sorte qu'il croît de façon exponentielle. Par conséquent, avec 10 courses, vous vous retrouvez avec la population 210 plus grande (1024 fois) que la première série. Il existe un autre paramètre quotMaxEvalquot. La valeur par défaut est ZERO, ce qui signifie que le plugin calcule automatiquement MaxEval requis. Il est conseillé de ne pas définir MaxEval par vous-même comme défaut fonctionne bien. L'algorithme est assez intelligent pour minimiser le nombre d'évaluations requises et il converge très rapidement au point de solution, si souvent il trouve des solutions plus rapidement que d'autres stratégies. Il est normal que le plugin saute quelques étapes d'évaluation, si elle détecte que la solution a été trouvée, donc vous ne devriez pas être surpris que la barre de progression d'optimisation peut se déplacer très rapidement à certains points. Le plugin a également la capacité d'augmenter le nombre d'étapes sur la valeur initialement estimée si elle est nécessaire pour trouver la solution. En raison de son caractère adaptatif, le temps quotestimated leftquot andor quotnumber de stepsquot affiché par le dialogue de progression est seulement quotbest devinez à l'timequot et peut varier pendant cours d'optimisation. Pour utiliser l'optimiseur CMA-ES, il vous suffit d'ajouter une ligne à votre code: Ceci exécutera l'optimisation avec des paramètres par défaut qui sont très bien pour la plupart des cas. Il convient de noter, comme c'est le cas avec de nombreux algorithmes de recherche d'espace continu, que la diminution du paramètre quotstepquot dans les appels de fonction Optimize () n'affecte pas de manière significative les temps d'optimisation. La seule chose qui importe est le problème quotdimension, c'est-à-dire le nombre de paramètres différents (nombre d'optimiser les appels de fonction). Le nombre de quotstepsquot par paramètre peut être défini sans affecter le temps d'optimisation, donc utilisez la meilleure résolution que vous voulez. En théorie, l'algorithme devrait être en mesure de trouver une solution dans au plus 900 (N3) (N3) backtests où quotNquot est la dimension. En pratique, il converge beaucoup plus rapidement. Par exemple, on peut trouver la solution en espace de paramètre dimensionnel 3 (N3) (par exemple 100100100 1 million d'étapes exhaustives) dans seulement 500-900 étapes CMA-ES. Optimisation individuelle multi-thread A partir de AmiBroker 5.70 en plus du multithreading multi-symbole. Vous pouvez effectuer l'optimisation de symbole unique multi-thread. Pour accéder à cette fonctionnalité, cliquez sur la flèche déroulante à côté du bouton quotOptimizequot dans la fenêtre Nouvelle analyse et sélectionnez quot. QuotIndividual Optimizequot utilisera tous les cœurs de processeur disponibles pour effectuer l'optimisation d'un seul symbole, ce qui le rend beaucoup plus rapide que l'optimisation régulière. Dans le mode quotCurrent symbolquot, il effectue l'optimisation sur un symbole. Dans tous les modes de symboles et quotFilterquot, il traitera tous les symboles de façon séquentielle, c'est-à-dire la première optimisation complète pour le premier symbole, puis l'optimisation sur le second symbole, etc. Limitations: 1. Le backtestter personnalisé n'est PAS supporté (encore) Seule l'optimisation EXHAUSTIVE fonctionne. Finalement, nous pouvons nous débarrasser de la limitation (1) - lorsque AmiBroker est modifié pour backtester personnalisé n'utilise plus OLE. Mais (2) est probablement ici pour rester longtemps.


No comments:

Post a Comment