[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 258

 
palesandr:

Il s'agit de faire la moyenne des ouvertures et fermetures sur n bougies.

il dessine juste une ligne pointant vers le bas

Qu'est-ce qui ne va pas ?

1) corriger la boucle interne

k non pas de 1 mais de i

2) dans les toutes premières étapes, allez au-delà de l'histoire

 
granit77:
J'aimerais également voir un exemple, comment le faire correctement.

Qu'est-ce qui pourrait être plus compliqué que ça ?

#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5];

void PutStack (double p_Price)
{
  int nCounter;
  
  for (nCounter = 4; nCounter > 0; nCounter--)
    aPrices [nCounter] = aPrices [nCounter - 1];
    
  aPrices [0] = p_Price;
}

int start()
{
  int nCounter;
  
  PutStack (Bid);
  
  for (nCounter = 0; nCounter < 5; nCounter++)
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits));
}

Le 0ème élément du tableau aura le prix du dernier tick, le 1er élément aura le prix il y a 1 tick, le 2ème élément aura le prix il y a 2 ticks, etc.

Ou peut-être que je me suis trompé et que je voulais dire autre chose ?

 
palesandr:

Il s'agit de faire la moyenne des ouvertures et fermetures sur n bougies.

il dessine juste une ligne pointant vers le bas

Qu'est-ce qui ne va pas ?


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red 

extern double n = 50;
double Buf_0[];

int init()
  {
 SetIndexBuffer(0,Buf_0);
 SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);    
    
   return(0);
  }

int start()
  {
   int    Counted_bars=IndicatorCounted();
      
   double v;
  int i=Bars-Counted_bars-1;
 
  while(i>=0)  
  {  v=0; 
          for(int k=i;k<i+n;k++)
        {
      
        v=v+MathAbs(Open[k]-Close[k]);
       
        
      }
       Buf_0[i] = v/n;
       
       i--;
       }
 return;
 }
 
Bicus:

Qu'est-ce qui pourrait être plus compliqué que ça ?

Le 0ème élément du tableau aura le prix du dernier tick, le 1er élément aura le prix il y a 1 tick, le 2ème élément aura le prix il y a 2 ticks, etc.

Ou ai-je mal compris quelque chose et voulais-je dire autre chose ?

Merci, c'est exactement ce dont j'ai besoin. Cela ne semble pas compliqué, mais les personnes qui ne connaissent pas les bases de la programmation mettent parfois beaucoup de temps à faire des choses simples. Ils doivent tout inventer à partir de rien.
Par exemple, pour vous le "tri à bulles" est un élément de l'alphabet, alors que moi je n'en ai entendu parler, et n'ayant pas d'exemple sous les yeux, je l'écrirais à nouveau :))
 
Quelqu'un dispose-t-il d'une fonction "Sauter la barre suivante" prête à l'emploi ? :)
 
Bonjour à tous et profit. Je voulais demander si quelqu'un a un indicateur comme le RSI, mais qui ne divergerait jamais. Merci.
 
ikatsko:
Quelqu'un a-t-il une fonction prête à l'emploi de saut de barre suivante ? :)

si(iTime(Symbol(),period_bar,number_of_ bars_to_skip)>OrderOpenTime()

Skip_bar_to_skip

0 - saut de l'actuel, 1 - de l'actuel et du suivant, etc.

 

yosuf:
J'ai récemment lu sur ce forum que si nous ouvrons 2 ordres dirigés différemment avec le même SL au même moment, nous pouvons essayer de terminer avec un profit après la fermeture de l'un d'eux. Quelqu'un a-t-il vérifié cette idée ou non ? Peut-être existe-t-il une EA similaire ?
160777:

Expert Grid v.2.

"Copyright©2008 EAfactory.com et Expert-4x.com - "Révision : 264".

Ouvre les positions dans les deux sens et les ferme si la différence est positive.

Éclairez-moi, comment est-il possible d'être du côté positif si les ordres sont égaux en termes de taille de lot ? La position totale sera toujours moins le double écart.

Une autre chose est que si les ordres ont des lots différents : alors le stop loss du plus petit n'est pas le même, mais le stop loss du plus grand est égal au take profit. Ensuite, leur clôture simultanée conduit, si l'on sait calculer, à un bénéfice.

 

Bonjour à tous, comment puis-je sauvegarder un rapport Statement.htm en utilisant MQL ? Quelqu'un le sait-il ?

 

Je n'arrive pas à trouver comment faire en sorte que les lignes s'affichent, soit par ce script, soit en repoussant ce script, ou peut-être que je me trompe :

   //---------------------------------
  
        double PriceBid = Bid;
        double PriceAsk = Ask;
        double be = GetWeightedBELevel();

        if(be != -1)
        {
                double BuyLots = GetBuyLotsSum();
                double SellLots = GetSellLotsSum();
                
                double Swap = GetSwap();
                //string str = be + " ";
                if(Swap < 0)
                {
                        double diff = BuyLots - SellLots;
                        //str = str + MarketInfo(Symbol(), MODE_TICKVALUE) * diff + " " + (-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point) + " ";
                        be += ND(-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point + diff / MathAbs(diff) * 1 * Point);
                }
                //str = str + Swap + " " + be;
                //Comment(str);
                        
                if((BuyLots > SellLots && ND(PrevPriceBid) < ND(be + TakeProfitBuy * Point) && ND(PriceBid) >= ND(be + TakeProfitBuy * Point)) ||
                        (BuyLots < SellLots && ND(PrevPriceAsk) > ND(be - TakeProfitSell * Point) && ND(PriceAsk) <= ND(be - TakeProfitSell * Point)))
                {
                        CloseAllBuy();
                        CloseAllSell();
                }               
                
        }
        //---------------------

c'est-à-dire que lorsque ce prix atteint ce niveau, les ordres sont fermés, et je veux voir ce prix sur le graphique sous la forme d'une ligne ou d'un petit enregistrement dans un carré et avec un tiret.

me guider dans la bonne direction
Raison: