Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Nouveau membre Laura est sur la route de la réputation...
    Date d'inscription
    July 2011
    Messages
    11
    Pouvoir de réputation
    3

    Problème avec flèche (indicateur perso) Problème avec flèche (indicateur perso)

    Coucou tout le monde,

    J'ai finalement laissé tombé l'EA et j'ai peaufiné ma stratégie toutes ces dernières semaines, là j'ai essayé de mettre ma stratégie sous la forme d'un indicateur perso, avec des flèches et des croix pour les signaux d'ouverture et fermeture.
    Problème, il n'y a que des flèches d'achat qui s'affichent et cela en quantité lol.
    Décidemment le language MQL4 et moi ca fait pas bon ménage ^^.
    J'ai essayé de chopper des petits bouts de code sur des indic avec des flèches mais rien à faire toujours le même soucis.

    Si quelqu'un pouvait jeter un coup d'oeil et me dire ce qui ne va pas ça serait gentil.
    Je vous joins un screenshot aussi pour vous donner une idée de tout ca.

    Indic Perso.JPG

    et voilà le code:

    Code:
    #property indicator_chart_window
    
    #property indicator_buffers 4
    #property indicator_color1 Green
    #property indicator_color2 Crimson
    #property indicator_color3 Lime
    #property indicator_color4 Red
    
    
    double Buy[];
    double Sell[];
    double CloseBuy[];
    double CloseSell[];
    
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int init()
      {
    //---- indicators
    IndicatorBuffers(4);
    
    
    SetIndexStyle (0, DRAW_ARROW); //---- BUY SIGNAL
    SetIndexArrow(0,241);
    SetIndexBuffer (0, Buy);
    
    SetIndexStyle (1, DRAW_ARROW); //---- SELL SIGNAL
    SetIndexArrow(1,242);
    SetIndexBuffer (1, Sell);
    
    SetIndexStyle (2, DRAW_ARROW); //---- STOP BUY
    SetIndexArrow(2,251);
    SetIndexBuffer (2, CloseBuy);
    
    SetIndexStyle (3, DRAW_ARROW); //---- STOP SELL
    SetIndexArrow(3,251);
    SetIndexBuffer (3, CloseSell);
    
    
    
       return(0);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function                       |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int start()
      {
      
             int counted_bars = IndicatorCounted(); 
             if(counted_bars < 0) return(-1); 
             int vv=Bars-IndicatorCounted();
       
       
       for(int i=0; i<vv; i++)
       {   
      
       double Var1 = iCustom(NULL, 0, "LauraPrice", 1.90,15, 0, 0);
       double Var2 = iCustom(NULL, 0, "LauraPrice", 1.90,15, 1, 0);
       double Var3 = iCustom(NULL, 0, "VidyaMod", 12,40, 0, 0);
    
          if (Var2>Var1    &&    Var3>Var2)
          Buy[i] = Low[i+1]-25*Point;
          
          if (Var2<Var1  &&   Var3<Var2)
          Sell[i] = High[i+1]+25*Point;
         
          if (Var3<Var2)
          CloseBuy[i] =  Buy[i+1]+ 100*Point;
          
          if (Var3>Var2)
          CloseSell[i] =  Sell[i+1]- 100*Point;        
                    
    }
    
    //----
       return(0);
      }
    //+------------------------------------------------------------------+

  2. #2
    Membre lvl 75 fxconfidential deviendra bientot célèbre... Avatar de fxconfidential
    Date d'inscription
    April 2008
    Localisation
    Barcelone
    Messages
    84
    Pouvoir de réputation
    10

    Bonjour,

    Je n'ai pas le code des indicateurs que tu utilises mais à vue d'oeil, ton problème vient sans doute du fait que tu demandes à ton indicateur de vérifier les valeurs pour Var1, 2 et 3 de la barre en cours. Ceci fait que l'indicateur n'A pas fini de se tracer et que sa valeur va donc changer pendant la durée de vie de la barre provoquant un affichage de flèches sous toutes les barres.

    Si je savais sur quoi sont basés les indicateurs, je pourrais situer le problème plus facilement.

    Bonne journée

  3. #3
    Nouveau membre Laura est sur la route de la réputation...
    Date d'inscription
    July 2011
    Messages
    11
    Pouvoir de réputation
    3

    Coucou fx confidential merci pour ta réponse.
    LauraPrice c'est un indic perso que j'avais faire par un programmateur, c'est un mélange de beaucoup indicateurs différents qui selon le cours (prix qui croise en dessous, prix qui croise au dessus, ou prix entre les deux courbes, va me signaler si le cours est à la hausse, à la baisse ou en consolidation. Vidya tu dois le connaitre, il trace une courbe également.

    Est-ce qu'on ne peux pas lui dire justement: "vérifie les conditions mais si le signal a dejà été donné n'en donne plus", ça a l'air simple comme ça, mais j'ai pas su faire :/

  4. #4
    Nouveau membre Laura est sur la route de la réputation...
    Date d'inscription
    July 2011
    Messages
    11
    Pouvoir de réputation
    3

    Re, j'ai un peu trifouillé le code, c'est bon je n'ai réussi qu'à mettre un signal que ce soit à la vente ou à l'achat, par contre j'ai un soucis:

    L'indic s'arrête quand il a pris les deux signaux (achat et vente), au lieu de répéter l'opération, c'est comme s'il s'arrêtait tout simplement.

    voici nouvelle capture d'écran:

    Indic Perso 2.JPG

    et voici le petit bout de code que j'ai trifouillé, j'ai rajouté deux variable a=0 et b=0 et ça donne ça

    Code:
            double achat = (Var2>Var1 && Var3 > Var2 && Var3>Var1);
            double vente = (Var2<Var1 && Var3 < Var1 && Var3<Var2);
       
        
       for(int i=0;i<l;i++) {
       
         
          if ( achat == 1 && a !=1) {
          Buy[i] = Low[i+1] - 25*Point;
          a =1; 
          }
          
          
          if ( vente == 1 && b !=1) {
          Sell[i] = High[i+1]+ 25*Point; 
          b = 1;
          }
          i++;
          continue;
          
          
      }

  5. #5
    Nouveau membre Laura est sur la route de la réputation...
    Date d'inscription
    July 2011
    Messages
    11
    Pouvoir de réputation
    3

    petit Up car je n'ai toujours pas trouvé de solution

  6. #6
    Membre Performance jeanjo est sur la route de la réputation...
    Date d'inscription
    November 2010
    Messages
    181
    Pouvoir de réputation
    3

    Met un bool en tête
    bool fait = false;

    if(condition == vrai && fait == false)
    {
    buffer = tant;
    fait = true;
    }
    if'condition == false) fait = false;

    Quelque chose dans ce style.

  7. #7
    Nouveau membre Laura est sur la route de la réputation...
    Date d'inscription
    July 2011
    Messages
    11
    Pouvoir de réputation
    3

    Citation Envoyé par jeanjo Voir le message
    Met un bool en tête
    bool fait = false;

    if(condition == vrai && fait == false)
    {
    buffer = tant;
    fait = true;
    }
    if'condition == false) fait = false;

    Quelque chose dans ce style.

    Merci jeanjo de t'être donner la peine de m'aider, je vais essayer ça et je te dirais si ça marche merci encore!

  8. #8
    Membre lvl 50 maje deviendra bientot célèbre...
    Date d'inscription
    June 2007
    Localisation
    Lac-st-Jean, Québec
    Messages
    66
    Pouvoir de réputation
    10

    Ça m'est déjà arrivé sur un indicateur, difficile sans le code, mais à première vue tes conditions reste mémorisés dans les variable.

    Exemple : Après avoir eu un signal UP si tu veut en avoir un autre, dès que tu as un signal down reset les variable qui t'indique une hausse.... pas contre avec ça tu n'aura pas deux up ou dn de suite...

Discussions similaires

  1. Retard alerte+fleche indicateur divergence OsMA
    Par mokavech dans le forum Programmation
    Réponses: 2
    Dernier message: 19/04/2011, 14h39
  2. Problème EA non conforme avec indicateur
    Par jeanjo dans le forum Systèmes de Trading Auto
    Réponses: 8
    Dernier message: 08/02/2011, 15h58
  3. Problème EA Perso : ouverture de trade
    Par babs06 dans le forum Programmation
    Réponses: 6
    Dernier message: 24/12/2010, 10h39
  4. Probleme avec l'indicateur trade management
    Par zhao77 dans le forum Trading Divers
    Réponses: 6
    Dernier message: 20/08/2010, 08h10

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact