une stratégie commerciale basée sur la théorie des vagues d'Elliott - page 26

 
Une panne d'électricité peut être atténuée par des alimentations sans coupure.
Le serveur de mon courtier est tombé en panne pendant quelques heures hier. Il n'y a rien que vous puissiez faire à ce sujet.
 
Une panne d'électricité peut être atténuée par des alimentations sans coupure. <br / translate="no">Le serveur de mon courtier est tombé en panne pendant quelques heures hier. Il n'y a rien que vous puissiez faire à ce sujet.


Oui, il n'y a pas eu de lumière pendant une demi-journée et le FAI est tout près dans le bureau - pas de lumière ou pas de réseau :).

Bonne chance et bonne chance avec les tendances.
 
Vladislav,
La procédure de la chaîne de régression linéaire est une chose assez simple. Même mis en œuvre sur plusieurs t/f + toute autre logique (celle que j'imagine) ne prendra pas beaucoup de temps.
En même temps, vous avez écrit que le cycle de calcul de votre programme est d'environ 30-40 secondes.
D'après ce que j'ai compris, la partie essentielle de ce temps est occupée par le processus d'optimisation de la recherche d'une véritable trajectoire, c'est-à-dire le minimum fonctionnel du prix. C'est vrai ? Sinon, qu'est-ce qui consomme une telle quantité de temps ?
 
Vladislav, <br / translate="no">La procédure du canal de régression linéaire est une chose assez simple. Même implémenté sur plusieurs t/fs + toute autre logique (celle que j'imagine) ne prendra pas beaucoup de temps.
En même temps, vous avez écrit que le cycle de calcul de votre programme est d'environ 30-40 secondes.
D'après ce que j'ai compris, la partie essentielle de ce temps est occupée par le processus d'optimisation de la recherche d'une véritable trajectoire, c'est-à-dire le minimum fonctionnel du prix. C'est vrai ? Si ce n'est pas le cas, qu'est-ce qui prend autant de temps ?


C'est exactement ce que l'optimisation absorbe. Il y a plus d'un canal. De plus, il y a des passages itératifs et des raffinements. Projections. Seulement, c'est déjà un peu plus rapide - j'ai ajouté quelques critères pour couper les échantillons.

Bonne chance et bonnes tendances.
 
Vladislav

Cela fait longtemps que je pense à faire l'identification des niveaux, mais je n'ai pas encore eu le temps de le faire. Je rapporterais mes trois kopecks (suivant le principe - plus c'est facile, mieux c'est). J'ai utilisé l'indicateur MarketProfil, les lignes vertes sont responsables des niveaux d'hier, rougeâtres - pour ceux d'aujourd'hui (lignes tracées manuellement). L'algorithme n'est pas encore écrit, mais l'idée est claire à partir de l'image (je ne sais pas quand je vais l'écrire).

https://c.mql5.com/mql4/forum/2006/05/levels.gif
 
Bonjour, tout le monde !

Une de mes connaissances m'a embêté, - regarde Her-sta. Et m'a envoyé le script et un lien vers cette page.
J'ai trouvé très difficile de le regarder tel qu'il était, alors j'ai hâtivement esquissé ma version.
Le texte est ci-dessous. Le graphique est mis en place par glisser-déposer avec la souris et peut être déplacé à volonté.
Je pense que c'est plus pratique de le voir de cette façon. Il est peut-être plus facile de créer un indicateur, cependant.
Merci à solandr pour le travail préliminaire. A un moment donné, j'ai moi-même voulu aller plus loin dans
J'ai toujours voulu faire une analyse d'erreur de différentes fonctions se référant à la probabilité de changement de tendance mais je n'ai jamais eu l'occasion de le faire.
Bien que je sois moi-même un grand partisan des extrapolations basées sur la transformée de Fourier ou les méthodes "rapides" d'amplitude-temps.
les méthodes d'amplitude-temps. Une ligne est une ligne, mais une vague est autre chose.
Et qu'est-ce que VG a fait ? Intéressant. Vous vous souvenez qu'il y a longtemps, je vous ai envoyé des variantes de la régression polynomiale ?
Mais je semble avoir un surnom différent alors...
//------------------------
//#property show_inputs
//-----------------------
//extern int ip=800;
//extern int i0=570;
//-----------------------
double lr0,lrp;
int t0,tp;
double A[10],R[10],DDR[10];
double SA,is,aa,bb,sum2,SAo,disp_o;
double S,pMin,pMax,RM,Hrst; 
int T,i0,ip,f;
//**************************************************************
int init()
{
   t0=TimeOnDropped();
   i0=iBarShift(Symbol(),Period(),t0); 
   ip=i0+100;
   tp=Time[ip];
   T=ip-i0+1;
  
   ArrayResize(A, T);
   ArrayResize(R, T);
   ArrayResize(DDR, T);
  
   ObjectCreate("lrHerst",2,0,0,0,0,0);
   ObjectSet("lrHerst",OBJPROP_COLOR,Yellow);
} 
//**************************************************************
int start()
{
  while(IsStopped()==false)
  {
    if (f==1)
    {
      tp=ObjectGet("lrHerst",OBJPROP_TIME1);
      ip=iBarShift(Symbol(),Period(),tp);
      t0=ObjectGet("lrHerst",OBJPROP_TIME2);
      if (t0>Time[0]) t0=Time[0];
      i0=iBarShift(Symbol(),Period(),t0);
  
      T=ip-i0+1;
      ArrayResize(A, T);
      ArrayResize(R, T);
      ArrayResize(DDR, T);
    }
    
    for(int i=T-1; i>=0; i--) A[i]=Open[i+i0];

    SA=af_SA(A,T);
  
    //----------------------------LR----------------------------------------
    //----------aa-------------
    is=(T-1)/2.0;   //среднее значение по оси индекса
    aa=0;        
    sum2=0;
    
    for(i=T-1; i>=0; i--)
    {
       aa+=(i-is)*(A[i]-SA);
       sum2+=MathPow((i-is),2);
    }
    aa=aa/sum2;
    //-----------bb------------
    bb=SA-aa*is;
 
    for(i=T-1; i>=0; i--) DDR[i]=aa*i+bb; 

    lr0=DDR[0];
    lrp=DDR[T-1];
  
    //linregres_grafic_c(0,DDR,i0);
//----------------------------------------------------------------------

    //-----Расчёт ошибок линейной регрессии
    for(i=T-1; i>=0; i--) R[i]=A[i]-(aa*i+bb);

    SAo=af_SA(R,T);   //среднее значение ошибок линейной регрессии
    disp_o=af_disp_o(R,SAo,T);  // Дисперсия ошибок
    S=CKO(disp_o);
         
    pMin=Low[Lowest(NULL,0,MODE_LOW,T,i0)];
    pMax=High[Highest(NULL,0,MODE_HIGH,T,i0)];
    RM=pMax-pMin;
  
    Hrst = MathLog(RM/S)/MathLog(T*0.5);
    Comment("Хёрст = ",DoubleToStr(Hrst ,4),"\n","T = ",T);
    
    ObjectMove("lrHerst",0,tp,lrp); 
    ObjectMove("lrHerst",1,t0,lr0);
    f=1;
  
  }//---while
  //--------------------------------------------------
  return(0);
}
//***************************************************************
//функция для расчёта дисперсии ошибок
double af_disp_o(double data[], double centr, int T)
{
   double disp=0;
   for(int k=T-1; k>=0; k--) disp+=MathPow((data[k]-centr),2);
   if(T>1) disp=disp/(T-2);
   return(disp);
}
//***************************************************************
//функция для расчёта СКО
double CKO(double disp)
{
   double sko=MathPow(disp,0.5);
   return(sko);
}
//***************************************************************
//функция для подсчёта среднего арифметического значения по массиву
double af_SA(double data[],int T)
{
   double sum=0;
   for(int k=T-1; k>=0; k--) sum+=data[k];
   sum=sum/T;
   return(sum);
}
//***************************************************************
/*
//функция рисования канала линейной регрессии 
int linregres_grafic_c(int window_number, double data[], int i0b)
{
   int deletedArrows,k,size;
   string line_name;
   //очистка предыдущего рисунка
   deletedArrows=ObjectsDeleteAll(window_number,OBJ_TREND);
   
   //находим размер массива
   size=ArraySize(data);
   
   //рисуем центральную линию линейной регрессии
   for(k=size-1; k>=1; k--)
   {
      line_name="line_lin_reg"+k;
      ObjectCreate(line_name,OBJ_TREND,window_number,Time[k+i0b],data[k],Time[k+i0b-1],data[k-1]);
      ObjectSet(line_name,OBJPROP_COLOR,Yellow);
      ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
      ObjectSet(line_name,OBJPROP_WIDTH,2);
      ObjectSet(line_name,OBJPROP_BACK,true);
      ObjectSet(line_name,OBJPROP_RAY,false);
   }
   
   //рисуем проекцию центральной линии линейной регрессии
   line_name="line_lin_reg_proec";
   ObjectCreate(line_name,OBJ_TREND,window_number,Time[size-1+i0b],data[size-1],Time[i0b],data[0]);
   ObjectSet(line_name,OBJPROP_COLOR,Red);
   ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
   ObjectSet(line_name,OBJPROP_WIDTH,1);
   ObjectSet(line_name,OBJPROP_BACK,false);
   ObjectSet(line_name,OBJPROP_RAY,true);
   
   return(0);
}
*/
//***************************************************************
void deinit()
{
  ObjectDelete("lrHerst");
  Comment(" ");
}
//***************************************************************



Sincèrement - Alexander.

 
Vladislav, l'analyse faite par Solandr à l'époque était correcte, mais elle était de grande qualité.

Mais le marché Forex ne peut avoir d'autres analyses et prévisions, tout d'abord en raison de sa fractalité !
C'est-à-dire qu'il y a une fluctuation constante des intervalles de confiance et des probabilités de mouvement dans une direction ou une autre. Et chaque prochaine fluctuation peut changer le type de trajectoire des prix et je pense que c'est assez significatif. Dans le même temps, l'ensemble des accidents (par exemple les nouvelles) qui ont influencé la fluctuation actuelle peut conduire au développement de l'un ou l'autre scénario de la trajectoire des prix. En d'autres termes, le prix peut visiter les limites des intervalles de confiance, mais les trajectoires peuvent être très différentes. Nous ne pouvons pas prédire la trajectoire - le maximum que nous puissions faire est de regarder où se trouve le prix maintenant et ce qu'il peut faire ensuite. En d'autres termes, certaines prévisions standard comme acheter ici, puis vendre là avec un stop ici n'ont que peu d'effet sur le Forex. Le prix n'atteindra/transgressera pas les niveaux recommandés et oscillera entre eux plusieurs fois pendant que le trader doit attendre.
En fait, comme il me semble, à en juger par les premières transactions effectuées dans le système Vladislava, le marché suit simplement la probabilité d'un mouvement dans une direction ou une autre et prend des décisions sur les transactions des traders. La seule différence entre les traders de décision du système Vladislava est que chaque trader prend une décision sur sa propre intuition, qui est toute différente (tous ont leur propre canal, qui, selon le trader, fait bouger le prix ;o)). Alors que le système de Vladislava est basé sur le théorème de la limite centrale de la mathématique, qui dans l'application au marché du Forex peut avoir l'interprétation suivante. Si nous considérons le trading d'un seul trader, négociant selon sa propre intuition, alors selon le théorème de la limite centrale, la distribution du prix du marché, formée par l'action conjointe de tous les traders, négociant selon leurs propres stratégies, tendra vers la distribution normale. Pour appliquer cela au marché, il suffit de trouver, dans un premier temps, les chaînes regardées par les traders, de les estimer en fonction des chaînes regardées par la majorité des traders, ou des chaînes optimales selon l'estimation intégrale prise sur l'ensemble de l'échantillon de traders ;o). Ensuite, à partir de ces canaux sélectionnés, nous pouvons calculer la probabilité de la localisation des prix à différentes distances du centre du canal, sur la base de laquelle nous pouvons faire des hypothèses concernant la probabilité de mouvement des prix d'un côté ou de l'autre. Bien sûr, les canaux changent constamment, surtout dans les transactions intrajournalières et les prix vont et viennent. Et ce qui était juste il y a 3 heures peut n'avoir que peu ou rien à faire MAINTENANT, afin de réaliser un bénéfice. Ainsi, au mieux, ceux qui le souhaitent peuvent regarder le travail du conseiller expert de Vladislava pour avoir une sorte d'orientation sur la situation actuelle. Eh bien, et la prédiction sous la forme standard est bien sûr impossible - au mieux, une sorte de raisonnement qualitatif. Et la véritable décision sera prise lorsque la situation s'imposera. Dans le même temps, les niveaux et les périodes ne peuvent être prédits à l'avance que dans les fourchettes les plus larges.

PS : A propos, regardez la question de savoir comment les traders négocient. Il y a tellement d'échanges dans un marché rapide. C'est pourquoi il faut se précipiter pour attraper quelque chose. C'est pourquoi même ce forum est rempli de fils de discussion demandant aux développeurs de MT4 des boutons à presser plus confortablement lors de l'ouverture/fermeture d'ordres dans un marché rapide, ou des ordres d'ouverture/fermeture rapides par un EA lorsque toute la foule fait de même, engorgeant toutes les ressources techniques de trading (seulement, habituellement, la foule fait la même chose lorsque la moitié est déjà passée et qu'il n'y a presque aucune possibilité de mouvement du marché dans une direction ou une autre). :o))) Autrement dit, le mouvement le plus fort se produit lorsque la ligne centrale du canal est franchie (le centre de la distribution de probabilité du prix - toute la foule s'est levée et s'est mise à jouer). On pourrait penser que la ruée vers un marché rapide peut résoudre le problème de l'incompréhension de la situation actuelle du marché.
 
Mais il ne peut y avoir d'autres analyses et prévisions pour le marché du Forex, tout d'abord en raison de sa fractalité !

solandr,
Je ne voulais pas vous offenser de quelque manière que ce soit. Je veux simplement dire que Vladislav, au début de la discussion de sa stratégie, a souligné sa différence avec la plupart des autres. Et c'est justement le fait qu'il permet une prédiction non aléatoire grâce à des estimations quantitatives des probabilités de différentes directions de mouvement des prix.
 
Vladislav,
Il me semble que dans cette discussion, il y a un certain malentendu sur le concept de fractalité.
D'après ce que je comprends, la fractalité est une autosimilarité de structures aléatoires. Elle ne peut en soi nous empêcher de faire des estimations quantitatives. Et que ces estimations ont un caractère probabiliste, cela ne découle donc pas de la fractalité, mais du caractère occasionnel du phénomène auquel nous avons affaire.
J'aimerais connaître votre opinion à ce sujet. En particulier, quel sens pratique donnez-vous à cette déclaration :
Une fois que vous avez construit un échantillon de base (niveaux demi-horaire=>quotidien), vous pouvez l'affiner jusqu'au bon niveau de détail (avez-vous oublié qu'une approche fractale est utilisée ici ?).

Et une autre question, en rapport avec votre dernière réponse :
C'est exactement ce que l'optimisation absorbe. Il y a plus d'une chaîne ici.

L'un de vos axiomes est l'existence d'une trajectoire vraie (c'est-à-dire unique), qui est déterminée à la suite du processus d'optimisation. Comment une trajectoire unique peut-elle conduire à des canaux multiples ?
 
Rosh,
D'après ce que je comprends, MarketProfil donne la réponse en fréquence de la gamme. C'est-à-dire le nombre de fois où, pendant une période donnée, le prix a pris une valeur donnée. Est-ce que j'ai bien compris ?
Si c'est le cas, je comprends la disposition des lignes rouges. Mais pourquoi y a-t-il tant de verts ?
J'ai eu l'idée de faire une identification des niveaux sur cette base. Bien que je n'aie jamais eu affaire à l'indicateur MarketProfil. C'est bien de savoir que c'est un vélo. :-) Au moins, cela m'a fait gagner beaucoup de temps.