Temps de lecture estimé: 14 min

PrescienTrader ajoute les fonctions AFL suivantes à AmiBroker. La plupart des utilisateurs n'auront qu'à utiliser le PrescienTrader () , PTPlotFLDs () et PTBacktest ().

Si vous souhaitez simplement utiliser PrescienTrader comme un outil autonome pour analyser les graphiques, vous pouvez double-cliquez simplement sur la formule PrescienTrader AFL, pour créer un nouveau volet de graphique PrescienTrader. Vous n'avez pas besoin de lire le reste de cet article.

Les autres fonctions sont destinées à utilisateurs avancés qui veulent appeler nos algorithmes à partir de scriPT AFL personnalisés, pour le développement de systèmes de trading.


PrescienTrader

PrescienTrader ()
  • C'est le fonction principale qui affiche un volet graphique PrescienTrader, affiche tous les tracés et génère des rapports dans la fenêtre d'interprétation.
  • le La fonction n'accepte aucun paramètre, car tous les paramètres sont définis dans la fenêtre Paramètres AmiBroker.
  • Bien qu'il soit possible de tracer PrescienTrader sur un panneau de graphique de prix existant, il contient de nombreux indicateurs et graphiques qui peuvent causer trop d'encombrement et peuvent entrer en conflit avec vos indicateurs existants. Par conséquent, nous vous recommandons de créer un volet séparé, exclusivement pour PrescienTrader.
  • Vous devez définir la clé API dans la fenêtre Paramètres. Si vous ne définissez pas la clé API, PrescienTrader affichera un Clé API non valide message.
  • Pour savoir comment utiliser chacun de ces paramètres, veuillez lire l'article, Paramètres PrescienTrader.

PTPlotFLDs

PTPlotFLDs ()
  • Cette fonction trace la Future ligne de démarcation (FLD) pour chaque pic de cycle identifié par PrescienTrader.
  • La fonction n'accepte aucun paramètre, car tous les paramètres sont définis dans la fenêtre Paramètres AmiBroker.
  • Étant donné que le FLD est étroitement lié au prix et utilise la même échelle que le prix, nous vous recommandons de tracer les FLD sur votre volet graphique des prix, PAS sur le volet PrescienTrader.
  • Cette fonction utilise PrescienTrader comme source de données pour générer les tracés FLD. Donc, il EXIGE la PrescienTrader () fonction à exécuter dans un volet graphique séparé.
  • Vous pouvez définir les paramètres suivants dans la fenêtre Paramètres:
    • FLD (1-10) - Cela vous permet de sélectionner les tracés FLD à afficher sur le graphique. Chaque fréquence de crête de cycle a un tracé FLD associé, mais ce paramètre vous permet d'éviter l'encombrement des graphiques, en limitant le nombre de tracés.
    • Synchroniser avec PrescienTrader - Lorsque cette option est activée, la fonction s'exécute automatiquement une fois par seconde, pour récupérer les dernières données de PrescienTrader, garantissant que les tracés FLD restent synchronisés avec l'analyse des cycles générée par PrescienTrader. Si vous désactivez la synchronisation, vous devrez peut-être actualiser manuellement le graphique à chaque fois.
  • La fonction trace les FLD passés, présents et futurs. Cependant, pour afficher passé Tracés FLD, vous devez activer les indicateurs statiques dans PrescienTrader. En effet, les fréquences de cycle changent à chaque nouvelle barre. Par conséquent, pour tracer un FLD passé, la fonction doit avoir accès aux analyses du cycle passé, qui nécessitent les indicateurs statiques. Si les indicateurs statiques sont désactivés, vous ne verrez que les graphiques FLD pour la barre actuelle et les barres futures. Gardez à l'esprit, les futurs graphiques FLD ne sont qu'une estimation et peuvent changer à mesure que de nouvelles barres sont ajoutées au graphique.

PTBarAnalysis

PTBarAnalysis (série de données, polarité, base PL, plage de rétrospective, fréquence minimale, fréquence maximale, filtre harmonique, condition physique minimale, meilleurs cycles X, barre d'analyse, barre de début de tracé, barre d'extrémité de tracé, index de cache) 

PTBarAnalysis effectue une analyse des cycles ponctuels sur une seule barre. Il génère ensuite divers tracés dans la plage de tracés spécifiée, en reculant et éventuellement en avant dans le temps. Le graphique en arrière peut être utilisé pour vérifier visuellement la précision de l'analyse des cycles, en confirmant que sa forme suit les barres de prix correspondantes. Le tracé vers l'avant est utilisé pour prédire les prix futurs ou pour afficher la précision de ses prédictions sur les mesures passées. C'est la fonction que vous utiliseriez pour trading en direct.

Cette fonction ne renvoie aucune valeur directement. Au lieu de cela, il remplit un ensemble de variables AFL, y compris les scalaires, les tableaux et les matrices. Ces tableaux peuvent être tracés comme n'importe quel tableau AFL.

Paramètres

  • Série de données (tableau)
    • Ce paramètre attend un Réseau AmiBroker, contenant les séries de données réelles que vous souhaitez analyser. Par exemple, si vous voulez analyser les prix de clôture, vous passeriez le AmiBroker intégré Fermer (C) variable, qui est un tableau contenant les cours de clôture de votre série de données.
  • Polarité (entier)
    • 0 = positif
    • 1 = négatif
  • Base PL (entier)
    • 0 = amplitude
    • 1 = force
  • Gamme rétrospective (entier)
    • 1 - 15
  • Fréquence minimale (entier)
    • Généralement 10 - 100
  • Fréquence max (entier)
    • Typiquement 150 - 300
  • Filtre harmonique (entier)
    • 0 - 100
  • Min Fitness (entier)
    • 0 - 100
  • Best X Cycles (entier)
    • 1 - 10
  • Barre d'analyse (entier)
    • Il s'agit de l'index à barres pour lequel l'analyse sera effectuée.
    • Lorsque vous effectuez une analyse pour le trading en direct, vous devez définir la barre d'analyse égale à l'index de la dernière barre du graphique.
    • AmiBroker affiche la première barre du graphique en tant que barre numéro 1. Cependant, l'index interne utilisé par AFL commence à la barre 0. Par conséquent, si vous souhaitez analyser une barre spécifique, vous devez soustraire 1 du numéro de barre affiché dans AmiBroker à obtenir le bon numéro de barre. S'il y a 5 000 barres sur un graphique, le dernier numéro de barre serait 4 999, pas 5 000.
    • Vous pouvez spécifier un index de barre passé pour effectuer une analyse ponctuelle pour cette barre. Par exemple, si vous avez spécifié un indice de barre de 1 000, vous pouvez ensuite comparer la ligne Prescient des barres 1 001 à la dernière barre du graphique, avec les barres de prix réelles pour cette plage de barres pour voir la précision de la prévision. à ce moment-là. Lors de la génération des tracés de cycle, la fonction ignore toutes les données de prix à droite du numéro de barre spécifié.
  • Barre de démarrage du tracé (entier)
    • Spécifie l'index de la barre où le tracé doit commencer.
    • Il n'est généralement pas nécessaire de calculer les tracés pour toute la série. Par exemple, si votre vue graphique affiche 100 barres, vous n'avez besoin que de tracés pour ces 100 barres, pas pour la série entière.
  • Barre d'extrémité du tracé (entier)
    • Spécifie l'index de la barre où le tracé doit se terminer.
    • Vous pouvez projeter les tracés dans le futur en spécifiant une barre d'extrémité de tracé supérieure au nombre de barres sur le graphique.
  • Index du cache (entier)
    • La fonction contient un mécanisme de mise en cache interne destiné à empêcher l'envoi de plusieurs demandes API consécutives pour les mêmes données. Le cache stocke les séries de données, les paramètres et les résultats pour chaque demande d'API. S'il reçoit la même série de données et les mêmes paramètres deux fois de suite, il ignore la demande d'API et renvoie immédiatement le résultat mis en cache.
    • Si vous analysez simplement une seule série de données sur un graphique, vous devez définir l'index de cache sur 0.
    • Si vous analysez plusieurs séries de données sur un graphique, vous devez spécifier un index de cache unique pour chaque série de données. Par exemple, si vous analysez la période de base, plus deux périodes de temps plus longues, vous devez spécifier l'index de cache 0 pour la période de base, l'index de cache 1 pour HTP 1 et l'index de cache 2 pour HTP 2. Cela créerait un cache séparé pour chaque période.

Réponse

Tableaux AFL:

Chaque élément de ces tableaux représente une barre, commençant par la barre zéro.

Si vous définissez Barre d'extrémité du tracé à un nombre supérieur à LastValue (BarIndex ()), il sera automatiquement déplacer les tableaux vers l'arrière par la différence. Vous pouvez ensuite projeter les tracés dans le futur en utilisant le Terrain les fonctions XShift paramètre.

Par exemple, supposons que votre graphique contienne 5 000 barres, ce qui signifie que le dernier indice de barre est 4 999. Si vous définissez Barre d'extrémité du tracé à 5 009, le tableau serait décalé vers la gauche de 10 barres. Vous devez ensuite définir XShift sur 10, pour tracer 10 barres dans le futur. Étant donné que le tableau a été déplacé vers la gauche de 10 barres, le tracé XShifted sera correctement aligné avec le graphique.

  • PTPL - le Ligne Prescient terrain
  • PTPLSlope - le pente de la ligne Prescient. Une valeur positive signifie qu'elle est inclinée vers le haut et une valeur négative signifie qu'elle est inclinée vers le bas.
  • PTTrendBar - le numéro de barre relatif dans la tendance actuelle de la ligne Prescient. Le premier numéro de barre dans chaque tendance est la barre 0 et tous les numéros de barre suivants sont relatifs à la première barre de la tendance.
  • PTTrendBars - le nombre total de barres dans la tendance actuelle de la ligne Prescient.
  • PTTrendPct - le pourcentage achevé de la tendance actuelle de la ligne Prescient. Le pourcentage n'atteindra jamais 100, car cela signifierait qu'une nouvelle tendance a commencé avec un achèvement de zéro pour cent. Ainsi, 100% de l'ancienne tendance équivaut à 0% de la nouvelle tendance.

Matrices AFL:

  • PTCycles - contient une ligne pour chaque fréquence de cycle individuelle, dans la plage spécifiée par le minFréquence et maxFrequency paramètres. Chaque ligne contient huit colonnes, les numéros de colonne étant identifiés par des variables AFL. Lors de la lecture des valeurs de la matrice, vous devez toujours référencer les numéros de colonne en utilisant leurs variables AFL associées, plutôt que de coder en dur les numéros de colonne. De cette façon, si les numéros de colonne changent à l'avenir, votre code fonctionnera toujours,
    • La fréquence (PTColFrequency) - la fréquence du cycle.
    • Amplitude (PTColAmplitude) - l'amplitude du cycle.
    • Force (PTColStrength) - la force du cycle, qui est l'amplitude divisée par la fréquence.
    • Barre de démarrage (PTColStartBar) - l'index de barre où commence le tracé du cycle. Ceci est utilisé pour définir la phase correcte pour le tracé de cycle, mais ce n'est généralement pas nécessaire, car la fonction vous fournit les tracés dans la matrice PTPlots discutée ci-dessous.
    • Aptitude (PTColFitness) - une mesure statistique de la fiabilité du cycle, de 0% à 100%.
    • De pointe (PTColPeak) - indique si le cycle est ou non un pic et si oui, s'il a été filtré ou non par l'un des filtres spécifiés dans les réglages des paramètres:
      • 0 = pas un pic
      • 1 = pic valide
      • -1 = pic filtré par Min Fitness filtre
      • -2 = pic filtré par Filtre harmonique
      • -3 = pic filtré par Best X Cycles filtre
    • Pente (PTColSlope) - indique si le cycle est en pente ascendante ou descendante. La pente ne sera calculée que sur les cycles qui sont des pics valides (Peak = 1):
      • 1 = en pente en haut
      • -1 = en pente vers le bas
    • Prix FLD (PTColFLDPrice) - indique le prix du FLD du cycle. Cela ne sera calculé que sur les cycles qui sont des pics valides (Peak = 1).
  • PTPeaks - le PTPeaks matrice contient les mêmes informations dans le même format que le PTCycles matrice, sauf qu'elle n'inclut que les cycles qui sont des pics valides (Peak = 1). Les cycles seront triés par fréquence.
  • PTPlots - le PTPlots la matrice contient les tracés pour chaque cycle qui est un pic valide (Peak = 1), triés par fréquence de cycle. Chaque ligne représente un fréquence de cycle de pointe et chaque colonne représente un bar. Comme pour les tableaux, si vous spécifiez un Barre d'extrémité du tracé au-delà de la dernière barre du graphique, les lignes de la matrice seront décalées vers la gauche de la différence. Vous pouvez utiliser le MxGetBlock pour convertir les lignes de la matrice en tableaux AFL.
  • PTFLDPrix - La matrice PTFLDPrices contient les prix FLD pour chaque cycle qui est un pic valide (Peak = 1), triés par fréquence de cycle. Chaque ligne représente une fréquence de cycle maximale et chaque colonne représente une barre. Cette matrice ne contiendra que les prix FLD pour la barre actuelle et les barres futures. Utilisez le PTRangeAnalysis pour obtenir des données FLD antérieures. Comme pour les tableaux, si vous spécifiez une barre d'extrémité de tracé au-delà de la dernière barre du graphique, les lignes de la matrice seront décalées vers la gauche de la différence. Vous pouvez utiliser la fonction MxGetBlock pour convertir les lignes de matrice en tableaux AFL.

AFL Scalars

  • PTFLDScore - Le Score FLD est un indicateur puissant qui peut aider à confirmer ou à rejeter les transactions proposées par la ligne Prescient et les autres indicateurs de cycle.
    • Le score FLD est calculé en multipliant la force ou l'amplitude (en fonction de la Base PL réglage) de chaque fréquence de cycle de crête de 1 ou -1, selon que le prix de la série est supérieur ou inférieur au prix FLD, et en les additionnant tous ensemble.
    • Si le score FLD est positif, cela indique que le marché est dans une situation cyclique tendance haussière.
    • Si le score FLD est négatif, cela indique que le marché est dans une situation cyclique tendance à la baisse.

PTRangeAnalysis

PTRangeAnalysis (série de données, polarité, base PL, plage de réflexion, fréquence minimale, fréquence maximale, filtre harmonique, condition physique minimale, meilleurs cycles X, barre de démarrage, barre d'extrémité, matrices de processus)

PTRangeAnalysis analyse un gamme complète de bars, renvoyant le point dans le temps valeurs pour chaque barre dans la plage analysée. Appel PTRangeAnalysis pour une plage de 1 000 barres équivaut à appeler PTBarAnalysis 1 000 fois, une fois pour chaque barre de la plage. C'est la fonction à utiliser pour backtesting et optimisation, NE PAS pour le trading en direct.

Cette fonction ne renvoie aucune valeur directement. Au lieu de cela, il remplit un ensemble de tableaux et de matrices AFL. Ces tableaux peuvent être tracés comme n'importe quel tableau AFL.

Paramètres

  • Série de données (tableau)
    • Ce paramètre attend un Réseau AmiBroker, contenant les séries de données réelles que vous souhaitez analyser. Par exemple, si vous voulez analyser les prix de clôture, vous passeriez le AmiBroker intégré Fermer (C) variable, qui est un tableau contenant les cours de clôture de votre série de données.
  • Polarité (entier ou tableau
    • 0 = positif
    • 1 = négatif
  • Base PL (entier ou tableau)
    • 0 = amplitude
    • 1 = force
  • Gamme rétrospective (entier ou tableau)
    • 1 - 15
  • Fréquence minimale (entier ou tableau)
    • Généralement 10 - 100
  • Fréquence max (entier ou tableau)
    • Typiquement 150 - 300
  • Filtre harmonique (entier ou tableau)
    • 10 - 100
  • Min Fitness (entier ou tableau)
    • 0 - 95
  • Best X Cycles (entier ou tableau)
    • 1 - 10
  • Barre de début / fin (entier)
    • le Barre de démarrage et Barre d'extrémité Les paramètres spécifient la plage de barres à analyser. contrairement à PTBarAnalysis, La barre d'extrémité peut NE PAS dépasser l'indice à barres de la dernière valeur du graphique. Cette fonction est utilisée pour backtesting, pas de trading en direct, il ne serait donc pas logique de projeter les parcelles dans le futur.
  • Tableaux de processus (entier)
    • Ce paramètre détermine si la fonction traite les paramètres sous forme d'entiers ou de tableaux. Cela ne s'applique qu'aux paramètres qui peuvent être des entiers ou des tableaux, qui incluent la polarité, la base PL, la plage de rétrospective, la fréquence minimale, la fréquence maximale, le filtre harmonique, la condition physique minimale et les meilleurs cycles X.
    • Normalement, ces paramètres sont des entiers, ce qui signifie que le même paramétrage serait appliqué à toute la plage de barres analysées. Il s'agit du paramètre par défaut et la plupart des utilisateurs devraient laisser cela de côté. Cependant, si vous êtes un utilisateur avancé, cela vous donne la possibilité incroyablement puissante de faire varier les réglages des paramètres bar par bar en passant les valeurs sous forme de tableaux.
    • Si vous utilisez des tableaux, vous devez définir le paramètre Process Arrays sur 1, afin que PrescienTrader sache les traiter comme des tableaux. L'activation de cette fonctionnalité augmente considérablement la taille du fichier de chaque demande d'API, ce qui consomme de la bande passante et ralentit le temps de traitement, ne l'activez donc que si vous savez ce que vous faites et si vous avez une bonne raison de le faire.
      • 0 = désactivé
      • 1 = activé

Réponse

Tableaux AFL

Chaque élément de ces tableaux représente une barre, commençant par la barre zéro.

  • PTStaticPL - la statique Ligne Prescient. Il contient les valeurs de tracé de la ligne Prescient calculées au point dans le temps de chaque barre dans la plage spécifiée. C'est très différent de l'analyse standard Prescient Line retournée par PTBarAnalysis, qui calcule la ligne Prescient à un Célibataire point dans le temps, puis projette l'intrigue vers l'arrière et vers l'avant dans le temps.
  • PTStaticPLSlope - la pente du statique Prescient Line. Une valeur positive signifie qu'elle est inclinée vers le haut et une valeur négative signifie qu'elle est inclinée vers le bas.
  • PTStaticPLSlopeCum - le cumulatif pente de la ligne presciente statique. Voici ce que vous utiliseriez pour terrain la ligne Prescient statique.
  • PTStaticTrendBar - le numéro de barre relatif dans la tendance actuelle de la ligne Prescient statique. Le premier numéro de barre dans chaque tendance est la barre 0 et tous les numéros de barre suivants sont relatifs à la première barre de la tendance.
  • PTStaticTrendBars - le nombre total de barres dans la tendance actuelle de la ligne Prescient statique.
  • PTStaticTrendPct - le pourcentage achevé de la tendance actuelle de la ligne Prescient statique. Le pourcentage n'atteindra jamais 100, car cela signifierait qu'une nouvelle tendance a commencé avec un achèvement de zéro pour cent. Ainsi, 100% de l'ancienne tendance équivaut à 0% de la nouvelle tendance.
  • PTStaticFLDScore - voir la description dans le PTBarAnalysis section pour une explication du score FLD.

Matrices AFL

Ces matrices renvoient une liste de valeurs relatives à la fréquences de cycle de pointe de chaque barre. Chaque matrice représente un indicateur différent, mais elles sont toutes triées par fréquence. Ainsi, par exemple, la ligne 3, la colonne 999 correspond à la même fréquence du cycle de crête à la barre 1 000, dans toutes les matrices. Les matrices contiennent le nombre de lignes nécessaires pour répertorier toutes les fréquences de cycle de crête pour toutes les barres.

  • PTStaticFrequencies - chaque ligne de cette matrice correspond à un fréquence de cycle de pointe.
  • PTStaticSlopes - chaque ligne de cette matrice correspond à la pente de la fréquence trouvée dans le PTStaticFrequencies matrice, à la même ligne et colonne.
  • PTStaticFLDPrices - chaque ligne de cette matrice correspond au prix FLD de la fréquence trouvée dans la matrice PTStaticFrequencies, à la même ligne et colonne.

PTBacktest

PTBacktest ()

Cette fonction est utilisée pour courir une monofil analyse pour une exploration, backtest ou optimisation. Il ne prend aucun paramètre car vous configurez tous les paramètres dans le Paramètres fenêtre. Quand il s'exécute, il appelle PTRangeAnalysis et génère les matrices et matrices AFL décrites dans la fonction PTRangeAnalysis.

Contrairement à la fonction PrescienTrader, qui prend en charge deux périodes plus longues, la PTBacktest la fonction prend en charge illimité périodes plus longues.

Lis le Exploration, backtest et OPTimisation article, pour une explication détaillée de l'utilisation de cette fonction.


PTBacktestMultiPrepare

PTBacktestMultiPrepare ()

Cette fonction est utilisée pour préparer une multi-thread analyse pour une exploration, backtest ou optimisation. Il utilise les paramètres définis dans la fenêtre Paramètres pour générer les données au format approprié pour une demande d'API.

Lis le Exploration, backtest et OPTimisation article, pour une explication détaillée de l'utilisation de cette fonction.


PTBacktestMultiExecute

PrescientAnalysisExecute ()

Cette fonction est utilisée pour exécuter une multi-thread analyse pour une exploration, backtest ou optimisation. Il analyse les données, envoie les résultats aux colonnes d'exploration et génère des tableaux AFL contenant les résultats.

Lis le Exploration, backtest et OPTimisation article, pour une explication détaillée de l'utilisation de cette fonction.


PTLogToFile

PTLogToFile (Message)

Vous pouvez utiliser PTLogToFile pour écrire des messages dans le fichier journal défini dans la fenêtre Paramètres de backtest.


PTWait

PTWait (secondes)

Vous pouvez utiliser PTWait pour suspendre l'exécution pendant le nombre de secondes spécifié. Normalement, ceci est utilisé lors des requêtes API. Si une demande d'API échoue en raison d'une connexion Internet interrompue, vous pouvez utiliser PTWait pour attendre un certain nombre de secondes avant de réessayer.

PTPositionSize

PTPositionSize (Points à risque, pourcentage de risque sur actions, devise de base du compte)

Cette fonction automatise le dimensionnement de position basé sur la volatilité de style Van Tharp dans AmiBroker. Nous pensons que c'est la meilleure approche pour le dimensionnement des positions, car il gère automatiquement le risque en fonction de la volatilité et des fonds propres du portefeuille.

Intégré d'AmiBroker SetPositionSize La fonction inclut une option pour spécifier la taille de la position en pourcentage des capitaux propres, mais elle considère la taille de la position comme marge montant requis pour ouvrir le poste. Le problème est, la marge n'est que vaguement associée au risque. Bien qu'il soit vrai que des instruments plus risqués généralement ont des exigences de marge plus élevées, nous pensons qu'il est préférable de calculer la taille de la position en fonction du risque exact de chaque transaction, et non en comptant sur votre courtier pour gérer votre risque pour vous. Par conséquent, nous devons utiliser le en espèces valeur de la position, pas la valeur de la marge. Par exemple, si vous achetez un contrat à terme et que son prix baisse de 2%, vous avez perdu 2% du valeur de rachat de ce contrat, pas 2% de votre dépôt de garantie!

Cette fonction définit la taille de position qu'AmiBroker utilise pour exécuter des transactions; il ne renvoie PAS de valeur. Il est destiné à remplacer la fonction SetPositionSize intégrée.

  • le Points à risque L'argument doit être un tableau, spécifiant le nombre de points que vous êtes prêt à risquer sur chaque transaction. En règle générale, ce serait le même nombre de points que vous utilisez pour votre arrêt. Si vous n'utilisez pas d'arrêts, estimez le nombre maximal de points que votre système de trading perd généralement avant de quitter ou d'annuler une position. Nous vous recommandons d'utiliser une formule qui prend en compte la fourchette de prix typique de l'instrument actuel. Par exemple, ATR (20) * 2 spécifierait un risque maximum de deux fois la plage vraie moyenne. Il est particulièrement important d'utiliser une formule, et non une valeur statique, lors du backtest de plusieurs instruments (backtesting de portefeuille), afin que Points Risked s'adapte automatiquement à la fourchette de prix et à la volatilité de chaque instrument.
  • Pourcentage des actions risquées est le pourcentage de votre capital actuel que vous êtes prêt à risquer sur chaque transaction. Nous utilisons normalement 2%, mais vous pouvez utiliser une valeur supérieure ou inférieure, selon votre tolérance au risque.
  • Devise de base du compte est une chaîne contenant la devise de base de votre compte de trading. Par exemple, «USD».

La fonction utilise les champs suivants de la fenêtre Informations sur AmiBroker:

  • Dépôt de marge
  • Valeur en points
  • Devise

De plus, la fonction prend en charge dimensionnement de position multidevise, ce qui est nécessaire lorsque la devise de base d'un instrument diffère de la devise de base de votre compte. Le plus souvent, cela se produit avec des paires de devises libellées dans des devises autres que le dollar américain. Pour effectuer un dimensionnement de position multidevise, la fonction recherche le prix de la paire Forex qui est une combinaison de la devise de base de votre compte et de la devise de base de la paire Forex en cours de backtest. Par exemple, si vous effectuez un backtest CHFJPY, la devise de base serait JPY. Si la devise de base de votre compte est USD, la fonction recherche le prix USDJPY, pour calculer le prix du JPY en dollars américains, ce qui lui permet ensuite de calculer la taille de la position pour CHFJPY en dollars américains. Par conséquent, les données suivantes sont requises pour que le dimensionnement de position multidevise fonctionne:

  1. Vous devez saisir le bon Valeur en points pour chaque instrument que vous testez. Consultez la documentation AmiBroker pour une explication de la valeur en points.
  2. Vous devez saisir le Dépôt de marge pour chaque instrument que vous testez. Vous pouvez saisir un dépôt de garantie fixe sous forme de nombre positif ou de pourcentage de la valeur de rachat du contrat en saisissant le pourcentage sous forme de nombre négatif. Par exemple, si votre courtier offre un effet de levier de 20: 1, le dépôt de garantie sera de 5%. Vous devez donc saisir -5 comme dépôt de garantie.
  3. Pour tout instrument NE PAS libellé dans la devise de base de votre compte, vous devez saisir la devise de base dans Devise champ. En utilisant l'exemple de CHFJPY, vous entrez JPY dans le champ Devise de cet instrument.
  4. Vous devez avoir des citations dans votre base de données AmiBroker pour le symbole ticker XXXOOO ou OOOXXX, où XXX représente votre Compte devise de base et OOO représente le instrument devise de base. Si la devise de base de votre compte apparaît en premier dans le symbole (XXXOOO), la fonction inversera automatiquement le prix de la paire de devises. Encore une fois, en utilisant l'exemple de CHFJPY, si la devise de base de votre compte est USD, vous devez avoir des devis pour USDJPY dans votre base de données. Le symbole doit être formaté exactement comme XXXOOO ou OOOXXXX, PAS XXX-OOO ou une autre variante. Si votre fournisseur de données utilise un format de symbole boursier non standard, vous pouvez mapper le format standard au format non standard dans votre base de données en créant une variable nommée d'après le format standard et en affectant le format non standard comme valeur. Encore une fois, en utilisant l'exemple ci-dessus, si votre base de données contenait le symbole USD-JPY, vous pouvez mapper USDJPY à USD-JPY en utilisant le code suivant:
USDJPY = "USD-JPY";

Alternativement, vous pouvez définir une valeur de conversion fixe en définissant la variable égale à une valeur numérique. Par exemple:

USDJPY = 108,68;
  • La définition d'une valeur de conversion fixe remplace toutes les valeurs de votre base de données. Cela est surtout utile lorsque vous n'avez pas de devis dans votre base de données pour la devise de conversion.
  • Vous devez créer des variables pour toutes vos cartes de symboles avant appel de la fonction PrescientPositionSize.
  • La fonction PrescientPositionSize ignore les paramètres de conversion de devises intégrés d'AmiBroker. Ainsi, lorsque vous utilisez cette fonction, vous pouvez ignorer les paramètres de la Préférences-> Devises écran. Nous vous recommandons en fait désactiver les fonctions de conversion de devises dynamiques d'AmiBroker en supprimant les symboles du Symbole de taux dynamique dans cet écran. En effet, la conversion de devise dynamique intégrée d'AmiBroker crée un problème lorsque la devise de conversion a un historique de cotation plus court que l'instrument analysé. Dans ce cas, la taille de la position sera définie sur zéro pour toutes les dates en dehors de la plage de l'historique des cotations de la devise de conversion. La suppression des symboles de la colonne Dynamic Rate Symbol désactive la conversion dynamique des devises, ce qui résout ce problème. Si l'historique de cotation de votre devise de conversion est plus court que l'historique de cotation de l'instrument analysé, la fonction PresicentPositionSize utilisera le prix de la dernière mesure de la devise de conversion, pour toutes les barres en dehors de la plage de l'historique des cotations de la devise de conversion.
Cet article a-t-il été utile?
Ne pas aimer 0
Vues: 713
LIBRE POUR TOUJOURS
Signaux de négociation quotidiens
par PrescientSignals
SOUSCRIRE
Abonnez-vous pour recevoir quotidiennement des signaux de trading GRATUITS dans votre boîte de réception
Les signaux gratuits sont retardés d'une semaine. Cela vous permet d'évaluer sans risque notre service PrescientSignals, en comparant les prévisions de la semaine précédente avec les résultats réels.
LIBRE POUR TOUJOURS
Signaux de négociation quotidiens par PrescientSignals
SOUSCRIRE
Abonnez-vous pour recevoir quotidiennement des signaux de trading GRATUITS dans votre boîte de réception
Les signaux gratuits sont retardés d'une semaine. Cela vous permet d'évaluer sans risque notre service PrescientSignals, en comparant les prévisions de la semaine précédente avec les résultats réels.