De la théorie à la pratique - page 104

 
Максим Дмитриев:

Pourquoi lire les tics à intervalles exponentiels ? C'est juste... absurde. ))

Hmmm... Pensez-y ! Créez un histogramme des intervalles de temps entre les ticks, étudiez-le, lisez sur le "flux simple", découvrez à quel point l'histogramme que vous obtenez diffère de l'histogramme exponentiel et pourquoi, etc. etc.
 
Alexander_K2:

Les MPF de MQL peuvent-ils être générés uniformément de 0 à 1 ?

Si c'est le cas, prenez le logarithme naturel de celui-ci à chaque cycle d'exécution du programme, multipliez par -1. Il s'agit d'un générateur exponentiel MF standard. Vous obtenez 0,12, donc vous lisez un tick en 120 ms, la valeur suivante est 1,011, donc en 1011 ms, et ainsi de suite.

J'ajoute 1 et je prends la partie entière pour travailler sur une échelle de secondes, et non de millisecondes.

PS Toute la partie bien sûr, pas le module - corrigé.


C'est-à-dire que sur toute la plage de 0 à 1, vous ne travaillez que sur la partie qui tend vers zéro, le premier tiers pour être exact,

les deux tiers sont dégénérés en l'additionné (enfin, si on ne prend que la partie entière et les 2/3 de l'échelle, le grand 0,33333 selon la formule sera inférieur à un).

au total nous avons une série de timings 1111111111111111111111111111111112111111111111111111111411111111111111111111111111111111111113111111111111111111111111111111111111111111111111111111116 et alors ?

ZS C'est correct ?

 

Si la fréquence d'échantillonnage est d'au moins 1 seconde, alors vous démarrez le minuteur avec 1 seconde.

Ensuite, dans la fonction d'appel elle-même, vous définissez la condition permettant de traiter ce moment comme un tick ou de l'ignorer.

Dans la section de traitement, vous stockez le timing dans une variable statique, ou dans une variable globale prédéfinie (ne la confondez pas avec une variable globale du terminal, il s'agit d'autre chose). Lorsque vous arrivez à la condition, vous prenez la différence entre le temps actuel et le temps du tick précédent et vous comparez cette différence avec la valeur calculée lors de la dernière exécution pour le nouveau timing (par la formule que vous avez expliquée), si le temps est égal ou supérieur, vous entrez dans la section du nouveau tick, faites le calcul du nouveau timing, écrivez le nouveau temps et obtenez les données du tick et les envoyez à l'historique.

C'est-à-dire que, tout simplement, dans le timer nous avons déjà fixé la condition qui nous permet de décider si ce temps correspond au nouveau tick ou non. C'est la solution.

 
Alexander_K2:

Les MPF de MQL peuvent-ils être générés uniformément de 0 à 1 ?

Si c'est le cas, prenez le logarithme naturel de celui-ci à chaque cycle d'exécution du programme, multipliez par -1. Il s'agit d'un générateur exponentiel MF standard. Vous obtenez 0,12, donc vous lisez un tick en 120 ms, la valeur suivante est 1,011, donc en 1011 ms, et ainsi de suite.

J'ajoute 1 et je prends la partie entière pour travailler sur une échelle de secondes, et non de millisecondes.

PS Toute la partie bien sûr, pas le module - corrigé.

PPS S'il n'y a pas de nouveau tick dans l'étape actuelle - vous ne lisez rien !!!!!!!!!!!!!!!!


pour obtenir des nombres de 0,00 à 1,00, nous devons diviser le gpsh de l'emkuel par 32768, puis arrondir au deuxième chiffre.

 
Nikolay Demko:

C'est-à-dire que sur l'ensemble de l'intervalle de 0 à 1, vous ne travaillez que sur la partie qui tend vers zéro, le premier tiers pour être exact,

les deux tiers sont dégénérés en l'additionné (enfin, si on ne prend que la partie entière et les 2/3 de l'échelle, plus grande que 0,33333 selon la formule sera inférieure à un).

au total nous avons une série de timings 1111111111111111111111111111111112111111111111111111111411111111111111111111111111111111111113111111111111111111111111111111111111111111111111111111116 et alors ?

ZS C'est exact ?

Non, c'est un peu faux. Mes données DDE sont par incréments de 1 seconde, donc pas de dégénérescence du tout :)))))))))
 
Nikolay Demko:

Si la fréquence d'échantillonnage est d'au moins 1 seconde, alors vous démarrez le minuteur avec 1 seconde.

Ensuite, dans la fonction d'appel elle-même, vous définissez la condition permettant de traiter ce moment comme un tick ou de l'ignorer.

Dans la section de traitement, vous stockez le timing dans une variable statique, ou dans une variable globale prédéfinie (ne la confondez pas avec une variable globale du terminal, il s'agit d'autre chose). Lorsque vous arrivez à la condition, vous prenez la différence entre le temps actuel et le temps du tick précédent et vous comparez cette différence avec la valeur calculée lors de la dernière exécution pour le nouveau timing (par la formule que vous avez expliquée), si le temps est égal ou supérieur, vous entrez dans la section du nouveau tick, faites le calcul du nouveau timing, écrivez le nouveau temps et obtenez les données du tick et les envoyez à l'historique.

C'est-à-dire que, tout simplement, dans le timer nous avons déjà fixé la condition qui nous permet de décider si ce temps correspond au nouveau tick ou non. C'est la solution.

Compliqué, n'est-ce pas ? Mais à Kissimmee, c'est TRES facile. :)))))))))))))))))
 

Alexander_K2:

1. Et immédiatement, vous aviez tort. Nos incréments dépendent les uns des autres et comment ! Je ne sais pas pourquoi - mais, dès le premier jour de mon analyse, j'ai compris qu'il y a une dépendance entre deux cotations consécutives, on obtient un vecteur à partir du prix actuel et du prix précédent. 2 degrés de liberté. Il y a et il ne peut y avoir autre chose dans les incréments qu'une distribution de Student t2 ! Mais, bon sang, c'est un peu "impur". En fait, sur les incréments, nous avons une fonction de densité de probabilité = produit de la distribution t2 et d'une sorte de distribution exponentielle avec un lambda assez grand. Ce que signifie cette composante exponentielle - je ne l'ai pas encore compris. Travailler.

2. Il n'y a pas de distribution de Cauchy et il n'y en a jamais eu.

3. 4. 5. Nous avons exactement un processus non-markovien. Et c'est sur cela que nous devons nous appuyer. Et l'équation de Fokker-Planck, bien sûr, ne décrit pas entièrement le comportement de la fonction de densité de probabilité. Il doit contenir un terme intégral. Le résultat est une équation intégro-différentielle.

1) Non, je n'ai pas tort. Je ne prétends pas que les incréments de prix sont indépendants - c'est probablement faux. Je soutiens seulement que si vous voulez juger de leur distribution exacte à partir d'une distribution empirique construite à partir d'un échantillon, vous devez faire certaines hypothèses. Dans un matstat, il s'agit généralement de l'indépendance et de la distribution égale. De cette hypothèse, en raison du théorème de Lévy-Hinchin, on obtient que la distribution doit être infiniment divisible, et la distribution de Student n'est pertinente que lorsqu'elle coïncide avec Cauchy. S'il y a une dépendance et/ou une distribution inégale, la distribution empirique ne caractérise pas précisément la distribution des rendements. Cela a notamment pour conséquence que la distribution construite sur l'historique des cotations s'avère peu utile à l'avenir. En d'autres termes, vous niez le caractère markovien mais continuez à l'utiliser implicitement.

2) Cauchy existe certainement et est parfois, avec d'autres distributions infiniment divisibles, utilisé pour modéliser les prix (bien qu'il ne soit guère adapté au forex).

3) Les processus non-markoviens constituent une classe extrêmement large. Vous devez réduire le champ d'action d'une manière ou d'une autre - pour cela, vous devez considérer une certaine classe de processus se généralisant à la diffusion. Il est nécessaire de montrer d'une manière ou d'une autre que votre équation généralisée a une solution - il peut y avoir des problèmes ici, car il est peu probable qu'il soit possible d'utiliser l'appareil de SRS. Mais je ne comprends même pas si votre temps est discret ou continu. L'équation de Fokker-Planck est définie pour le continu, tandis que le processus de moyenne mobile est défini pour le discret.

 
Alexander_K2:
C'est un peu compliqué, n'est-ce pas ? C'est TRES facile dans Wissima. :)))))))))))))))))

112124113121222123221621222122611311321321223213111112211321232133121233121231322112131215113212223211231312211231161111114222211121221311321134224323

Votre formule m'a donné une série de chronologies comme celle-ci


 
Aleksey Nikolayev:

1) Non, je n'ai pas tort. Je ne prétends pas que les incréments de prix sont indépendants - c'est probablement faux. Je soutiens seulement que si vous voulez juger de leur distribution exacte à partir d'une distribution empirique construite à partir d'un échantillon, vous devez faire certaines hypothèses. Dans un matstat, il s'agit généralement de l'indépendance et de la distribution égale. De cette hypothèse, en raison du théorème de Lévy-Hinchin, on obtient que la distribution doit être infiniment divisible, et la distribution de Student n'est pertinente que lorsqu'elle coïncide avec Cauchy. S'il y a une dépendance et/ou une distribution inégale, la distribution empirique ne caractérise pas précisément la distribution des rendements. Cela a notamment pour conséquence que la distribution construite sur l'historique des cotations s'avère peu utile à l'avenir. En d'autres termes, vous niez le caractère markovien mais continuez à l'utiliser implicitement.

2) Cauchy existe certainement et est parfois, avec d'autres distributions infiniment divisibles, utilisé pour modéliser les prix (bien qu'il ne soit guère adapté au forex).

3) Les processus non-markoviens constituent une classe extrêmement large. Vous devez réduire le champ d'action d'une manière ou d'une autre - vous étudiez une certaine classe de processus en généralisant la diffusion dans ce but. Vous devez d'une manière ou d'une autre montrer que votre équation généralisée a une solution - il peut y avoir des problèmes ici, car il est peu probable que vous puissiez utiliser l'appareil de SRU. Mais je ne comprends même pas si votre temps est discret ou continu. L'équation de Fokker-Planck est définie pour le continu, tandis que le processus de moyenne mobile est défini pour le discret.


! !!!!!!!!!!!!

1. et je soutiens que c'est utile. Si vous prenez les incréments pour la même paire de devises dans un énorme échantillon (au moins 1.000.000 d'incréments), pour différentes périodes de temps, vous verrez que les paramètres de la distribution des incréments ne changent pas du tout.

2. La distribution de Cauchy en tant que type existe, mais dans Forex elle n'existe pas.

3. ! !!!!!!!!!!!!! Oui, vous avez raison - c'est vraiment un sujet pour une thèse de doctorat. Ecoutez, l'équation elle-même est bien sûr pour le temps continu, mais numériquement nous la résolvons par des méthodes de différence finie avec le temps discret. Non ?

PS Nous parlons d'incréments entre les cotations en tick, pas entre les prix OPEN ou CLOSE ou autres.

 
Nikolay Demko:

112124113121222123221621222122611311321321223213111112211321232133121233121231322112131215113212223211231312211231161111114222211121221311321134224323

votre formule m'a donné une série de timings comme ceci


Très similaire.
Raison: