De la théorie à la pratique - page 855

 
Aleksey Nikolayev:

Malheureusement, ce n'est pas si simple. Il y a le problème du "drawdown infini". Toute baisse (aussi importante soit-elle) sera atteinte en un temps infini avec une probabilité de un.

donc nous n'échangerons pas le "temps infini" )
 
Maxim Kuznetsov:


PS. Dans la plupart des "jeux de l'infini" abstraits, il y a un énorme défaut - le critère pour perdre est défini (atteint 0), mais il n'y a pas de victoire.

Mais les gens se fixent-ils un critère de réussite ?

 
Alexander_K:

Aaaaaa.... Sur le procès-verbal.... Nan, je suis parti de ça - je n'ai rien trouvé. Certaines informations cruciales sont perdues, je ne peux pas dire lesquelles, mais quelque chose est perdu à jamais - c'est un fait.

Un tick est une minute - c'est la quantité de mouvement du prix en 1 minute (vitesse). Un tick est le changement minimal du prix. 10 ticks - 10 changements de prix. vous ne savez pas combien de temps ils ont duré. l'inconvénient des ticks est qu'ils ne prennent pas en compte l'intensité du trading.
 
multiplicator:
Nous n'échangerons donc pas le "temps infini").

Bien sûr, nous ne le ferons pas - après une baisse suffisamment importante, nous déciderons que le jeu est devenu perdant. Le point de vue de l'énoncé "drawdown infini" est qu'il est inévitable.

 
multiplicator:
L'inconvénient des ticks est qu'ils ne montrent pas la vitesse. Une minute indique la quantité de mouvement du prix en 1 minute (vitesse). Un tick est un changement minimum du prix. 10 ticks - 10 changements de prix. vous ne savez pas combien de temps ils ont duré. l'inconvénient des ticks est qu'ils ne prennent pas en compte l'intensité du trading.

Tout à fait exact.

D'une manière générale, bien que le marché soit raisonnablement bien décrit, sous certaines contraintes, par des modèles de processus stochastiques, le problème de l'acquisition et du traitement des données est la pierre angulaire.

Rappelons que la méthode classique d'observation du mouvement d'une particule brownienne consiste à recueillir des données à intervalles réguliers - après 30 secondes. (comme l'a fait Perrin), ou après 10 sec. (comme ils le font maintenant dans les laboratoires de chimie).

Cependant, la différence fondamentale entre le mouvement brownien et le mouvement des prix est que les molécules se déplacent de façon continue (temps continu), alors que les prix ont des écarts de mouvement (temps discret).

Il faut donc trouver un équilibre entre l'intervalle de temps choisi pour la réception des données et la possibilité de perdre des données HAUT/BAS importantes.

Un certain Bass, ayant mangé des pommes de terre, recommande de prendre des données toutes les 1 seconde et de savoir si c'était un nouveau tic ou non.

Mais lui, anesthésié par la consommation de légumes racines, oublie que dans ce cas la distribution des incréments aura un "faux" pic à zéro à cause des pseudo-citations et toute la puissance des études statistiques part en fumée.

Ainsi, le moyen le plus correct est soit de travailler à chaque tic, soit une solution de compromis - lire toutes les 3-5 secondes, en fonction du DC.

Le problème de la recherche du Graal est certainement très complexe et la méthode de réception/traitement des données est l'un des éléments clés.

Et ce n'est pas sans raison que certains spécialistes des réseaux neuronaux, comme Alexey le Jeune ou Warlock, gardent ces méthodes dans le secret le plus absolu, et certaines personnes paient même pour recevoir des cotations en ticks sans filtres de courtage. Vous imaginez ? C'est fou.

 
Alexander_K:....... et certains paient de l'argent pour accepter des devis de tiques sans filtres DC. Vous imaginez ? C'est fou.

Les opérateurs ne paient pas pour une cotation, ils paient pour louer un espace du côté de la cotation.

Les concessionnaires paient pour un devis, donc ils ne gagnent pas sur lui.

 
multiplicator:
L'inconvénient des ticks est qu'ils n'indiquent pas la vitesse. Une minute indique combien de prix sont passés en 1 minute (vitesse). et un tick est le changement minimum du prix. 10 ticks sont 10 changements de prix. Vous ne savez pas combien de temps ils ont pris.
Comment pouvez-vous tenir compte de la vitesse si elle est distribuée de manière exponentielle, tout comme les incréments eux-mêmes, c'est un processus sans conséquence. Est-il possible de calculer la vitesse d'un bus en fonction de la façon dont vous vous tenez à un arrêt de bus pour en attendre un, lorsque les intervalles de temps entre l'arrivée du prochain sont distribués de façon exponentielle ? Il n'y a pas de dépendance.
 
Novaja:
Comment pouvez-vous tenir compte de la vitesse si elle est distribuée de manière exponentielle, ainsi que des incréments eux-mêmes, c'est un processus sans arrière-pensée. Est-il possible de calculer la vitesse d'un bus en fonction de la façon dont vous vous tenez à l'arrêt en attendant un bus, lorsque les intervalles de temps entre l'arrivée du prochain bus sont distribués de façon exponentielle ? Il n'y a pas de relation.

Oh, c'est élémentaire.

Prenez une barre de 15 minutes par exemple et regardez le volume terminal iVolume

et à l'intérieur de chaque tick iVolume=1, s'il y a eu un changement de prix, sinon 0 (zéro)

vitesse = trajet/temps = volume/temps

Par conséquent, la lecture des ticks par exposant ou une fois par seconde n'a pas de sens physique.

La signification est seulement la lecture des ticks avec le prix changé, c'est-à-dire que nous sommes intéressés par un seul vecteur

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Bugs et améliorations de CopyTicks() et CopyTicksRange() après la build 1485.

Alexey Volchanskiy, 2016.12.01 02:57

Je pense que c'est juste un bug dans la documentation Web, c'est vraiment vide dans ME encore. Ou la fonction est encore en cours de développement. Deuxièmement, vous demandez des données de quelque part à partir de 1970 et vous vous demandez pourquoi les tics du siècle dernier ne donnent pas de retour :) !!!) Qu'est-ce que vous fumez là ?

C'est comme ça que ça marche.

void OnStart()
{
    datetime dt1 = D'2016.11.28 00:00:00', dt2 = D'2016.11.30 00:00:00';
    MqlTick ticks[];
    ulong start, msc;
    //--- Замеряем время старта перед получением тиков
    start=GetMicrosecondCount();
    int copied = CopyTicksRange( _Symbol, ticks, COPY_TICKS_ALL, dt1*1000, dt2*1000);
//--- Рассчитаем, за сколько мс получена история
    msc=GetMicrosecondCount()-start;
    Print("copied=", copied, "   msc=", msc);
    return;
}

// вывод
2016.12.01 04:52:08.134 TestCopyTicks (EURUSD.m,M15)    copied=333081   msc=1294871
2016.12.01 04:52:16.877 TestCopyTicks (EURUSD.m,M15)    copied=333081   msc=318596

***

Dans ce code, changez COPY_TICKS_ALL en COPY_TICKS_INFO
Les ticks seront chargés dans le tableau des ticks .
 
Le problème des minutes est que vous ne pouvez pas calculer le nombre absolu d'incréments dans une barre. iVolume ne vous aidera pas, car le tick peut être différent.
 
Evgeniy Chumakov:
Le problème des barres minutes est que vous ne pouvez pas compter la somme absolue des incréments à l'intérieur de la barre. iVolume ne vous aidera pas, car le tick peut être différent.

N'entrez pas dans le vif du sujet, car c'est la vitesse qui m'intéressait.

Cependant, une barre d'une minute ne se forme pas toutes les minutes.

C'est pourquoi j'ai suggéré le M15.

en outre, les tests montrent que la poupée est presque inoffensive à partir de H4 et plus

Raison: