La théorie des flux aléatoires et le FOREX - page 43

 

La théorie de l'écoulement est un travail très vaste et fondamental. J'ai essayé de faire de mon mieux pour l'exprimer ici. Les mathématiques sont trop compliquées. Mais il peut être utilisé pour décrire mathématiquement n'importe quel flux, il peut s'agir d'un flux d'événements dans le monde (comme les discours des dirigeants des banques centrales, les taux d'intérêt, les actions de Ben Laden, etc. N'IMPORTE QUOI ! !!) Il peut s'agir d'un flux d'énergie psychologique, d'un flux d'ordres de vente etc. Les mathématiques sont données là, comment et quelles formules peuvent le faire, comment un flux interagira avec un autre et comment l'identifier et l'étudier, etc.

Nuzhny merci, j'ai un filtre Kalman et il est implémenté dans plusieurs langues. Il ne s'agit pas de ça, mais de ce qui est intégré dans ce filtre. Quel modèle. La procédure de filtrage elle-même est standard et bien connue. C'est comme la transformée de Fourier, tout le monde la connaît, mais il faut comprendre ce que c'est et comment. Beaucoup de gens peuvent tenir un scalpel dans leurs mains, mais tous ne sont pas chirurgiens. Si vous mettez des modèles linéaires dans un filtre, ce sera un filtre linéaire, et si vous mettez des modèles non linéaires dans un filtre, ce sera un filtre non linéaire. La procédure est unique et universelle (il en existe quelques variantes en fonction des données initiales, mais cela n'a pas d'importance).

Le fait que de nombreuses formules de Bolchakov pendant plus de 50 ans n'ont pas pu être résolues, alors que Berg a prouvé mathématiquement qu'il n'est pas possible de leur donner une solution exacte. Et relativement récemment, Slukin, chef de l'institut de recherche de l'Université technique d'État de Moscou Bauman, a montré qu'il est possible de trouver des solutions avec une précision dite suffisante pour la pratique.

Par la volonté du destin, j'ai été confronté à ces recherches scientifiques, comme je pouvais les décrire en me référant au marché (souvent en expliquant quelque chose aux autres, je mets mes propres billes en place). Je comprends que si l'investisseur avait le mot de passe du compte réel avec des fonds propres reposant dans le ciel ou avait gagné la première place d'un concours pendant 3 ans, le concours aurait eu plus de poids. J'espère que les idées et les réflexions exprimées ici ne sont pas moins précieuses. Nuzhny J'espère que les 4 heures que vous avez passées à le lire n'ont pas été vaines. Au moins, je pense que c'était intéressant et que ça donne à réfléchir.

 

Veuillez indiquer comment améliorer l'indicateur. J'ai choisi ce principe pour les raisons décrites ici 'Comment écrire rapidement des zigzags sans redessiner'.

Voici le modèle d'indicateur lui-même.

#property  indicator_chart_window
#property  indicator_buffers 2
#property  indicator_color1  Silver
#property  indicator_color2  MediumVioletRed

extern  int      MinBars = 0;

int      PreBars;
datetime BarTime;
int      StartPos;
int      pos;

double   Kalman[], Prognoz[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() {
  SetIndexBuffer(0, Kalman);
  SetIndexBuffer(1, Prognoz);
  SetIndexStyle(0,DRAW_LINE);
  SetIndexStyle(1,DRAW_LINE);
//---- Устанавливает значение пустой величины  
  SetIndexEmptyValue(0,0.0);
  SetIndexEmptyValue(1,0.0);
  SetIndexLabel(0,"Kalman");
  SetIndexLabel(1,"Prognoz");
  return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit() {
  return(0);
}
//+------------------------------------------------------------------+
//|расчеты при инициализации и сбоях                                 |
//+------------------------------------------------------------------+
int Reset() {
  if ( MinBars == 0) MinBars = Bars-2;
  StartPos = MinBars;
  PreBars = 0;
  BarTime = 0;
// .......
  StartPos++;
  return( StartPos);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
double K_1=1, K_2=1;
//  Работаем только по закончившимся барам
  if (Bars == PreBars) return(0);  
//  Проверим, достаточно ли баров на графике
  if (Bars < MinBars) {
    Alert("Калман: Недостаточно баров на графике");
    return(0);
  }  
//  Если не было докачки истории, обсчитываем только закончившийся бар
  if (Bars- PreBars == 1 && BarTime==Time[1]) StartPos = 1;
//  Иначе пересчитываем заданное в функции Reset() количество баров 
  else StartPos = Reset();
// Модифицируем контрольные переменные
  PreBars = Bars;  
  BarTime = Time[0];
// Цикл по истории
  for ( pos= StartPos; pos>0; pos--) {
// алгоритм расчета .....
// ......
// истинное (оцененное) значение цены 
   Kalman[ pos]= K_1*Close[ pos];      // в качестве примера
// наносим прогноз на график
   Prognoz[ pos-1]= K_2* Kalman[ pos]; // в качестве примера

  }  //  pos=StartPos;pos>0;pos--) 
  return(0);
}

Comment faire pour que l'indicateur prenne les données d'un timeframe de 5, 15, 30, etc. défini par une variable externe, et les affiche correctement sur le graphique.

Merci d'avance.

Z.I. L'indicateur est construit sur le principe que ce qui était hier, il y a une heure ou une minute n'a pas d'importance. Il est important de savoir quel est le prix actuel et quelle est la précision de la prévision = matrice de transition = matrice du système (dans l'exemple pris nombre) respectivement K_1 (correction) et K_2 (responsable de la précision de la prévision).

Dossiers :
 
Prival >> :

Comment créer un indicateur sur un graphique en minutes, qui prendrait les données de l'intervalle de temps 5, 15, 30, etc., défini par une variable externe, et les afficherait correctement sur le graphique.

Merci d'avance.

Le remplacement de Close par iClose ne fonctionnera-t-il pas ?

Vous devez seulement utiliser un mécanisme supplémentaire pour précharger (avant d'appeler iClose) les cotations des périodes requises.

 
sabluk писал(а) >>

Le remplacement de Close par iClose ne fonctionnerait-il pas ?

Il suffit d'utiliser un mécanisme supplémentaire pour précharger (avant l'appel à iClose) les cotations des périodes requises.

Ce mécanisme ne devrait être déclenché que par la barre formée. Il ne doit pas pouvoir lire entre les deux (voir ci-dessous).

Je pense que c'est simple, mais je ne comprends pas ce qu'il faut ajouter au si

 
_
Dossiers :
 
Prival писал(а) >>

Ce n'est pas la question, c'est ce qui est mis dans ce filtre. Quel modèle. La procédure de filtrage elle-même est standard et bien connue. C'est comme la transformée de Fourier, tout le monde sait comment la faire, mais il faut comprendre ce qui est là et comment. Beaucoup de gens peuvent tenir un scalpel dans leurs mains, mais tous ne sont pas chirurgiens. Si vous mettez des modèles linéaires dans un filtre, ce sera un filtre linéaire, et si vous mettez des modèles non linéaires, ce sera un filtre non linéaire. La procédure est unique et universelle (bien qu'il existe quelques variations en fonction des données initiales, mais cela n'a pas d'importance).

Bonjour Sergei !

Je me demande s'il est possible d'utiliser un modèle statistique dans le filtre de Kalman. Les modèles linéaires et non linéaires et tout autre modèle déterministe sont une chose, mais le modèle statistique en est une autre.

 

Voici ce que Sergei a répondu à mon message il y a quelques mois, Yuri.

 
Yurixx писал(а) >>

Bonjour Sergei !

Je me demande s'il est possible d'utiliser un modèle statistique dans le filtre de Kalman. Un modèle linéaire, non linéaire ou tout autre modèle déterministe est une chose, mais un modèle statistique en est une autre.

Il existe aussi des modèles statistiques. J'ai joint un fichier intitulé "Random Flow Theory and FOREX" pour voir comment et à partir de quelles hypothèses le modèle de Singer est élaboré. Ce n'est pas trop compliqué. Si vous avez besoin de précisions sur quelque chose, je suis souvent sur Skype.

 
Mathemat >> :

En soustrayant la valeur LR actuelle du prix, nous nous débarrassons parfaitement des tendances, y compris celles qui ne sont pas linéaires.

Bonjour, cher Mathemat.
Je m'excuse par avance si ma question vous semble trop simple et sans intérêt, mais elle est très importante pour moi.
En général, votre discussion ici m'a beaucoup intéressé.
À la page 17 de ce fil, le 22.11.2007 à 14:12, vous avez écrit ce qui suit :
"En soustrayant la valeur actuelle du LR du prix, nous nous débarrassons parfaitement des tendances, y compris celles qui ne sont pas linéaires."
Obtenez-vous de nouvelles valeurs de prix à la suite d'une telle opération, c'est-à-dire une nouvelle série de cotations ?
Je vous remercie d'avance.

 
prostoleha >> :

"En soustrayant la valeur LR actuelle du prix, nous nous débarrassons parfaitement des tendances, y compris celles qui ne sont pas linéaires."
Allez-vous obtenir de nouveaux prix à la suite de cette opération, c'est-à-dire une nouvelle série de cotations ?

Si vous soustrayez la régression linéaire des prix, vous obtenez bien sûr quelque chose d'autre qui fluctue autour de zéro, plutôt que des prix.