Sunday, 8 January 2017

Kb Multi Système De Négociation

MetaTrader 5 - Exemples Création d'un expert multi-système Multi-System Expert Introduction Je crois qu'il ya très peu de commerçants qui échangent plus d'un symbole commercial et utilisent plusieurs stratégies. Cette approche ne vous permet pas seulement d'augmenter potentiellement votre bénéfice, mais aussi de minimiser le risque de tirage substantiel sur la gestion de l'argent efficace. Lors de la création d'un Expert Advisor, la première étape naturelle dans la vérification de l'efficacité de la stratégie du programme est l'optimisation afin de déterminer les meilleurs paramètres d'entrée. Avec les valeurs des paramètres identifiées, les conseillers experts seraient techniquement prêts à être négociés. Cependant, cela laisserait une question importante sans réponse. Quel serait le résultat des tests comme si un commerçant pouvait mettre toutes ses stratégies ensemble dans un seul conseiller expert La réalisation que rabattre sur plusieurs symboles ou stratégies pourrait à un certain point se chevaucher et se traduire par un abaissement catastrophique total ou même un appel de marge peut parfois venir comme Une mauvaise surprise. Cet article présente un concept de création d'un expert multi-système multi-système Expert qui nous permettra de trouver une réponse à cette question importante. 1. Structure du conseiller expert En général, la structure du conseiller expert est la suivante: Fig. 1. Structure du Multi-currency multi-system Expert Expert Comme vous pouvez le voir, le programme est basé sur une boucle for. Chaque stratégie est organisée dans une boucle où chaque itération est responsable de la négociation de chaque symbole séparément. Ici, vous pouvez organiser en boucles nombre illimité de stratégies. Important est que votre ordinateur dispose de ressources suffisantes pour traiter un tel programme. Vous devez garder à l'esprit qu'il ne peut y avoir qu'une seule position pour chaque symbole échangé dans MetaTrader 5. Cette position représente la somme de lots d'Achats et de ventes précédemment exécutés. Par conséquent, le résultat d'un test multi-stratégie pour un symbole ne sera pas identique à la somme des résultats de tests séparés des mêmes stratégies pour le même symbole. Pour une étude plus approfondie de la structure du conseiller expert nous prendrons 2 stratégies dont chacun des échanges deux symboles: Achat: le prix d'Ask atteint la bande inférieure de l'indicateur Bands de Bollinger calculé basé sur le prix bas. Clôture: Le prix de soumission atteint la bande inférieure de l'indicateur de Bollinger Bands calculé sur la base du prix élevé. A vendre: Le prix de la soumission atteint la bande supérieure de l'indicateur de Bollinger Bands calculé sur la base du prix élevé. Fermeture: Le prix demandé atteint la bande supérieure de l'indicateur de Bollinger Bands calculé sur la base du prix Bas. Restriction: un seul contrat peut être exécuté sur n'importe quelle barre. Acheter: la barre précédente est baissière (close lt ouvert) et le prix Ask atteint les bars précédents. Clôture: par Stop Loss ou Take Profit. Vendre: la barre précédente est haussière (close gt open) et Bid price atteint les bars précédents. Clôture: par Stop Loss ou Take Profit. Restriction: un seul contrat peut être exécuté sur n'importe quelle barre. Pour être indépendant des nouveaux ticks pour un symbole sur lequel le Expert Advisor sera testé ou qui sera commercialisé, il est conseillé d'utiliser la fonction OnTimer () pour le commerce en mode multi-devises. Lors de l'initialisation du Expert Advisor, nous spécifions la fréquence de génération d'un événement pour l'appel de calcul de programme à l'aide de la fonction EventSetTimer (), et lors de la désinitialisation, nous utilisons la fonction EventKillTimer () pour indiquer au terminal d'arrêter la génération d'événements: EventSetTimer (). Vous pouvez également utiliser EventSetMillisecondTimer (). Où la fréquence est définie exacte à millisecond, mais vous ne devriez pas abuser de lui par des appels trop fréquents de calcul de programme. Pour accéder aux paramètres de compte, de position et de symbole, ainsi qu'aux fonctions de négociation, nous utiliserons CAccountInfo. CPositionInfo. CSymbolInfo et CTrade, respectivement. Permet de les inclure dans le Expert Advisor: Puisque le Expert Advisor est basé sur des boucles for, nous devrons créer des tableaux pour ses paramètres externes. Commençons par créer des constantes égales au nombre de symboles pour chaque stratégie: Nous créons ensuite des paramètres externes. En utilisant des constantes, nous déterminons les tailles des matrices auxquelles elles seront copiées. De plus, nous créons des descripteurs d'indicateurs et d'autres variables globales. Un exemple pour un symbole de stratégie est fourni ci-dessous: Pour avoir la possibilité de désactiver la négociation pour un certain symbole, nous avons créé une variable booléenne IsTradeA0 qui sera placée au tout début des boucles for. 2. Initialisation du conseiller expert Tout d'abord, permet d'obtenir les valeurs requises pour toutes les stratégies, p. Ex. influence. Puisque l'effet de levier est appliqué au compte de trading et n'a rien à voir avec une stratégie ou un symbole, il n'est pas nécessaire de copier sa valeur dans les tableaux: Nous copions alors des variables externes dans des tableaux. Si un paramètre externe est défini par le type qui nécessite la conversion à un autre, cela peut être fait d'une manière plus pratique lors de la copie à des tableaux. Dans ce cas, nous pouvons voir que BBPeriodA0 a été créé comme uint pour empêcher l'utilisateur de définir une valeur négative. Ici, nous le convertir en int et le copier dans le tableau qui a également été créé comme int. Sinon, le compilateur donnera un avertissement si vous essayez d'insérer un paramètre de type uint dans la poignée d'indicateur. Permet de voir si le symbole commercialisé est disponible dans le Market Watch et s'il a été utilisé plus d'une fois dans une stratégie: Si les symboles ont été sélectionnés correctement, vérifier les erreurs dans les paramètres d'entrée pour chacun d'eux, Les données requises pour le calcul du lot et, si nécessaire, faire d'autres choses telles que définies par la stratégie donnée. Nous mettrons en œuvre les actions mentionnées ci-dessus dans une boucle for. Ensuite, nous définissons les paramètres des opérations de trading de la stratégie A en utilisant l'objet TradeA de la classe CTrade. La même procédure est répétée pour chaque stratégie, c.-à-d. Copie des variables externes dans les tableaux Vérifiez si les symboles sont correctement sélectionnés Vérifiez les erreurs, définissez les poignées d'indicateur, calculez les données du lot et tout ce qui est nécessaire pour une stratégie donnée. Enfin, il serait bon de vérifier si un seul et même symbole est utilisé dans plusieurs stratégies (un exemple pour deux stratégies est fourni ci-dessous): 3. Trading For Loops Le cadre des boucles for dans la fonction OnTimer () est le suivant: Si un expert expert à symbole unique basé sur une seule stratégie a une condition par laquelle tous les calculs ultérieurs doivent cesser, nous utilisons l'opérateur de retour. Dans notre cas, il suffit de terminer l'itération actuelle et de passer à l'itération du symbole suivant. Pour ce faire, il est préférable d'utiliser l'opérateur continue. Si vous souhaitez améliorer votre expert expert en multi-stratégies en ajoutant une stratégie avec une boucle for qui contient une condition pour la terminaison de tous les calculs suivants, vous pouvez utiliser le modèle suivant: Après avoir créé le cadre des boucles for, Il code à partir d'autres EE, puis remplace certaines variables par des éléments de tableau. Par exemple, nous changeons la variable prédéfinie Symbole en SymbolAi ou Point en PointAi. Les valeurs de ces variables sont typiques du symbole donné et ont donc été copiées sur des tableaux lors de l'initialisation. Par exemple, nous allons trouver la valeur de l'indicateur: Pour mettre en œuvre la fermeture d'une position d'achat, nous écrire le code suivant: Ouverture d'une position d'achat: N'oubliez pas de terminer la génération d'événement de minuterie et de supprimer les poignées d'indicateur à la désinitialisation. 4. Résultats des tests Lorsque le Expert Advisor est prêt, nous testons séparément chaque stratégie et chaque symbole et comparons les résultats des tests avec ceux obtenus en mode test lors de la négociation simultanée de toutes les stratégies et symboles. On suppose que l'utilisateur a déjà identifié les valeurs optimales des paramètres d'entrée. Voici les paramètres du testeur de stratégie: Fig. 2. Paramètres du testeur de stratégie Résultats pour la stratégie A, EURUSD: Fig. 3. Résultats des tests pour la stratégie A, EURUSD Résultats pour la stratégie A, GBPUSD: Fig. 4. Résultats des tests pour la stratégie A, GBPUSD Résultats pour la stratégie B, AUDUSD: Fig. 5. Résultats des tests pour la stratégie, AUDUSD Résultats pour la stratégie B, EURJPY: Fig. 6. Résultats des tests pour la stratégie, EURJPY Résultats des tests pour toutes les stratégies et symboles: Fig. 7. Résultats des tests pour toutes les stratégies et les symboles Conclusion En conséquence, nous avons une structure simple et pratique du multi-système multi-système expert Expert dans lequel vous pouvez placer pratiquement n'importe laquelle de vos stratégies. Un tel conseiller expert vous permet de mieux évaluer l'efficacité de la négociation en utilisant toutes vos stratégies. Il peut également s'avérer utile dans le cas où un seul conseiller expert est autorisé à travailler sur un compte donné. Le code source du conseiller expert est joint à l'article pour faciliter l'étude de l'information ci-dessus. Multi-Agent Forex Trading système Lee, R. iJADE stock conseiller: un agent intelligent stock basé système de prévision utilisant RBF hybride réseau récurrent. IEEE Transactions on Systems, Man et Cybernetics 34 (3), 421428 (2004) CrossRef Kimoto, T. Asakawa, M. Yoda, M. Takeoka, M. Système de prédiction du marché boursier avec réseaux modulaires de neurones. In: 1990 Conférence internationale mixte sur les réseaux de neurones, vol. 1, pp. 16 (1990) Kwon, Y. Moon, B. Prévision quotidienne des stocks à l'aide d'hybrides neurogénétiques. Dans: Cant-Paz, E. Foster, J. A. Deb, K. Davis, L. Roy, R. OReilly, U.-M. Beyer, H.-G. Kendall, G. Wilson, S. W. Harman, M. Wegener, J. Dasgupta, D. Potter, M. A. Schultz, A. Dowsland, K. A. Jonoska, N. Miller, J. Standish, R. K. (Éd.) GECCO 2003. LNCS, vol. 2723, pp. 22032214. Springer, Heidelberg (2003) CrossRef Franses, P. Griensven, K. Prévision des taux de change à l'aide de réseaux de neurones pour les règles techniques de négociation. Etude de la dynamique non-linéaire et de l'économétrie 2 (4), 109114 (1998) Lu, H. Han, J. Feng, L. (1998) Genay, R. Linéaire, prévision non linéaire et essentielle des taux de change avec des règles techniques simples de négociation. Application de machines à vecteurs de support dans la prévision des séries chronologiques financières. A. Analyse des techniques hybrides de calculs doux et durs pour les systèmes de surveillance du Forex. Revue internationale de science de gestion 29 (4), 309317 (2001). Dans: Proceedings of the 2002 IEEE International Conference on Fuzzy Systems, p. 16161622 (2002) Abraham, A. Nath, B. Mahanti, P. Systèmes intelligents hybrides pour l'analyse du marché boursier. Dans: Alexandrov, V. N. Dongarra, J. Juliano, B. A. Renner, R. S. Tan, C. J.K. (Eds.) ICCS-ComputSci 2001. LNCS, vol. 2073, pp. 337345. Springer, Heidelberg (2001) CrossRef Barbosa, R. Belo, O. Trading Algorithmique utilisant des Agents Intelligents. Dans: Actes de la Conférence internationale 2008 sur l'intelligence artificielle (2008) Barbosa, R. Belo, O. Mise en œuvre étape par étape d'un agent de négociation hybride USDJPY. Revue internationale des technologies et des systèmes d'agents (2009)


No comments:

Post a Comment