Point et figure

10 réponses

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #116547

Est-il possible de créer un indicateur ou un EA Point and Figure dans EA Wizard ?

Merci d'avance pour toute aide ou information 🙂 .

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #142290

Bonjour,

 

Comment travailler avec Point&Figure dans MetaTrader ? Cela devrait être possible. L'EA produit par l'assistant n'est pas limité par certains paramètres de temps.

0

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #142303

Bonjour, merci pour votre réponse. J'utilise actuellement un indicateur Point and figure que j'ai obtenu sur un forum internet et qui fonctionne bien sur Metatrader. Je l'ai importé en tant qu'indicateur personnalisé dans EA Wizard. J'ai essayé d'utiliser la sortie de l'indicateur dans EA Wizard sans succès. Bien entendu, je n'ai pas d'expérience dans le codage ou l'utilisation de l'EA Wizard, donc je ne suis pas sûr de faire quelque chose de mal. C'est la raison pour laquelle j'écris à ce forum pour savoir si je peux utiliser les fonctions de l'EA wizard pour créer la logique et les résultats du point and figure. Je serais heureux d'utiliser l'une ou l'autre méthode (indicateur personnalisé ou en créer un moi-même) tant que je suis capable de programmer les cassures des X et des O dans EA Wizard pour créer un EA.

Je ne sais pas trop comment joindre un fichier mq4 dans ce post donc j'ai fait un copier-coller du code. Désolé pour mon ignorance 🙁 Merci !

 

//+——————————————————————+

//| XO.mq4
//| GranParadiso |
//+——————————————————————+
1TP14Propriété copyright "GranParadiso"
#property link "[email protected]"
 
#propriété indicateur_fenêtre_de_carte
#propriété indicator_buffers 2
#indicateur de propriété_couleur1 Rouge
#property indicator_style1 STYLE_SOLID
#propriété indicator_width1 2
# indicateur de propriété_color2 Vert
#propriété indicator_style2 STYLE_SOLID
#propriété indicator_width2 2
 
 
extern int BoxSize = 5 ;
extern int ReversalAmount = 3 ;
 
 
int LastCalculatedBarIndex ;
int LastTrend ;
double arr_XO_Open[] ;
double arr_XO_Close[] ;
double arr_Open[] ;
double arr_Close[] ;
//+——————————————————————+
//|                                                                  |
//+——————————————————————+
int init()
  {
   IndicatorBuffers(4) ;
   SetIndexBuffer(0,arr_XO_Open) ;
   SetIndexStyle(0,DRAW_HISTOGRAM) ;
 
   SetIndexBuffer(1,arr_XO_Close) ;
   SetIndexStyle(1,DRAW_HISTOGRAM) ;
 
   SetIndexBuffer(2,arr_Open) ;
   SetIndexBuffer(3,arr_Close) ;
 
   retour(0) ;
  }
//+——————————————————————+
//|                                                                  |
//+——————————————————————+
int start()
  {
   int
   j,
   k ;
   double UP,
   DW ;
 
   int counted_bars=IndicatorCounted() ;
   if(counted_bars < 0) return(-1) ;
   if(counted_bars>0) counted_bars- ;
   int limit=Bars-comptés_bars ;
   if(counted_bars==0) limit-=1+1;
 
   for(int i=limit;i>=0;i-)
     {
      Dernière tendance=0 ;
      si(i==Bars-1)
        {
         arr_Open[i]=MathRound(Close[i]*(MathPow(10,Digits)/BoxSize))/(MathPow(10,Digits)/BoxSize) ;
         arr_Close[i]=arr_Open[i] ;
         continuer ;
        }
 
      if(arr_Open[i+1]>arr_Close[i+1]) LastTrend=-1;
      if(arr_Open[i+1]<arr_Close[i+1]) LastTrend=1 ;
 
      arr_Close[i]=arr_Close[i+1];
      arr_Open[i]=arr_Open[i+1];
 
      UP=0.0 ;
      DW=0.0 ;
 
      UP=(High[i]-arr_Close[i])/Point ;
      DW=(arr_Close[i]-Low[i])/Point ;
 
      switch(LastTrend)
        {
         cas 1 :
            si(UP<BoxSize) UP=0.0 ;
            else UP=MathFloor(UP/BoxSize)*BoxSize ;
            if(DW<(BoxSize*ReversalAmount)) DW=0.0 ;
            else DW=MathFloor(DW/BoxSize)*BoxSize ;
            arr_Close[i]=arr_Close[i]+UP*Point ;
            si(DW!=0.0)
              {
               arr_Close[i+1]=arr_Close[i+1]+UP*Point;
               arr_Open[i]=arr_Close[i+1]-BoxSize*Point ;
               arr_Close[i]=arr_Close[i+1]-UP*Point-DW*Point ;
              }
            pause ;
 
         cas -1 :
            if(UP<(BoxSize*ReversalAmount)) UP=0.0 ;
            else UP=MathFloor(UP/BoxSize)*BoxSize ;
            si(DW<BoxSize) DW=0.0 ;
            else DW=MathFloor(DW/BoxSize)*BoxSize ;
            arr_Close[i]=arr_Close[i]-DW*Point ;
            if(UP!=0.0)
              {
               arr_Close[i+1]=arr_Close[i+1]-DW*Point;
               arr_Open[i]=arr_Close[i+1]+BoxSize*Point ;
               arr_Close[i]=arr_Close[i+1]+UP*Point+DW*Point ;
              }
            pause ;
 
         par défaut :
            if(UP<(BoxSize*ReversalAmount)) UP=0.0 ;
            else UP=MathFloor(UP/BoxSize)*BoxSize ;
            if(DW<(BoxSize*ReversalAmount)) DW=0.0 ;
            else DW=MathFloor(DW/BoxSize)*BoxSize ;
            arr_Close[i]=arr_Close[i]+UP*Point ;
            arr_Close[i]=arr_Close[i]-DW*Point ;
            pause ;
        }
     }
 
   limit=0 ;
   k=0 ;
   if(arr_Open[0]!=arr_XO_Open[0])
     {
      limit=Bars ;
      arr_XO_Open[0]=arr_Open[0];
      arr_XO_Close[0]=arr_Close[0];
     }
   for(j=1;j<limite;j++)
     {
      if(arr_Open[j]!=arr_XO_Open[k])
        {
         k++ ;
         arr_XO_Open[k]=arr_Open[j];
         arr_XO_Close[k]=arr_Close[j] ;
        }
     }
 
   retour(0) ;
  }
//+——————————————————————+

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #142318

Bonjour,

 

Ok, je vais vérifier ce qu'il est possible de faire ici

0

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #142336

Merci pour votre aide... très appréciée !

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #142359

Bonjour,

 

Avez-vous réussi à importer l'indicateur comme indiqué sur la capture d'écran ci-jointe ?

0

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #142362

Bonjour,

 

Oui, je l'ai importé de cette façon. Comme je l'ai mentionné, j'ai essayé d'utiliser les sorties (arr_XO_Open a,d arr_XO_Close) dans l'assistant EA mais sans succès. Je l'ai peut-être utilisé de la mauvaise manière....i j'ai supposé que ces 2 variables étaient les niveaux X ou O du graphique en points et figures. Avez-vous réussi à utiliser ces 2 sorties d'une manière ou d'une autre ?

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #142371

Bonjour,

 

oui, cela fonctionne bien pour moi avec l'EA ci-joint

Fichier : pointFigure.sqw

0

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #142376

Bonjour,

 

Je n'arrive pas à ouvrir le fichier que vous m'avez envoyé. Lorsque je double-clique, Windows me dit qu'il ne peut pas l'ouvrir. J'ai essayé le bloc-notes mais il s'ouvre avec beaucoup de texte qui ne m'est pas familier. Des suggestions ? 

Aussi...quand vous dites que cela fonctionne bien pour vous...voulez-vous dire que ces variables ( arr_XO_open, arr_XO_close) peuvent être utilisées comme les niveaux X et O dans l'EA ? Lesquels utiliserais-je ? Je veux essentiellement pouvoir programmer un breakout, par un montant entré par l'utilisateur, de la colonne "X" ou "O" d'un graphique en points et figures. Dans l'EA que j'ai essayé avant d'écrire sur ce forum, je l'ai programmé pour acheter au marché si les variables étaient cassées par un montant fixe. Lorsque j'ai essayé l'EA dans le testeur de stratégie de MT4, aucune transaction n'a été effectuée. 

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #142378

Bonjour,

 

Je n'ai jamais oublié, voir les captures d'écran ci-jointes sur la façon dont je l'ai configuré.

Fichier : PF1.jpgPF1.jpg
Fichier : PF2.jpgPF2.jpg
Fichier : PF3.jpgPF3.jpg

0

nates !

Abonné, bbp_participant, communauté, 7 réponses.

Visiter le profil

Il y a 7 ans #142459

Bonjour, merci pour votre aide. Grâce à votre utilisation de la fonction "Log to Journal", j'ai réussi à trouver ce que les 2 variables (arr_XO_open, arr_XO_close) et leurs valeurs. J'essaie d'utiliser ces valeurs dans ma tentative d'EA. C'est un gros travail en cours ! Merci encore pour votre aide et je reviendrai très probablement sur ce forum dans un futur proche pour en redemander ! Je vous remercie !

0

Affichage de 10 réponses de 1 à 10 (sur un total de 10)