[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 479

 
costy_:

Comment répondre sans savoir que NumTimeFrames TimeFrames[i] est vide ou quoi ?

Ecrivez plus complètement, comment, ou plutôt, quoi lire attentivement s'il n'y a rien. Écrivez le code complet, sinon vous risquez de "ronger le granit de la science",,,,)) if(true)continue ; else return("Sleep("+7*1000*60*60+")") ;

Tu as raison.


int TimeFrames[]={5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument = Symbol();

// пробегаем по задданым периодам
for(i=0; i<NumTimeFrames; i++)
  {
    // пробегаем по всем барам выбранного периода, ЕСЛИ на нем появились новые бары 
    if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {


        // тут вычисления индиктора

        total_bars[i]=iBars(instrument,TimeFrames[i]); // запоминаем число баров на данном периоде
     }


En gros, si j'ai bien compris, nous pouvons éviter de vérifier l'apparition de nouvelles barres.

En fait, il peut être réduit à une simple question : "sur quelles commandes et à quel moment MT télécharge-t-il les devis des sociétés de courtage ?

 
palladin:

Pourriez-vous citer le code que vous avez utilisé pour tester votre affirmation ?


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_D1));
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Reshetov:

Comme je l'ai supposé, vous n'avez pas compris la question.

Essayez ça :


int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_M1));
//----
   return(0);
  }
//+------------------------------------------------------------------+


Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)

 
palladin:

Comme je l'ai supposé, vous n'avez pas compris la question.

Essayez ça :



Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)



Quel numéro affichez-vous ?

Quelle est l'heure de cette barre iBars ?

Y a-t-il une histoire sur la M1 ?
 

Reshetov ,Sergeev ,Costy_.

merci


J'ai revérifié, il semble fonctionner après tout, et j'avais tort dans ma supposition.

iBars ne semble pas fonctionner correctement, même sur le graphique en cours.


 
for(i=0;i<=OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
      {
      if(OrderType() == OP_BUYSTOP)
        {
        if(OrderOpenPrice() > priceBuy)
          {
          priceBuy = OrderOpenPrice();
          }
        }
      }
    } 
  if(TakePrices1 == false)
    {  
    bTakeProfit = priceBuy + (10*2)*Point;
    TakePrices1 = true;
    }
Cette pièce sélectionne l'ordre d'achat le plus élevé et ajoute 20 pips à son prix, et déplace le take profit à ce niveau. Mais en fait ce n'est pas 20 pips, c'est 13 pips. Pourquoi 13, pas 10, pas 30, mais 13 ? D'où vient ce nombre ?
 
sss2019:
Cette pièce sélectionne l'ordre d'achat le plus élevé et ajoute 20 pips à son prix, et déplace le take profit à ce niveau. Mais en fait, ce n'est pas 20 pips, c'est 13 pips. Pourquoi 13, pas 10, pas 30, mais 13 ? D'où vient ce nombre ?


20-Spred

Ouverture à l'offre, fermeture à la demande

 
Vinin:


20-Spred

Ouverture à l'offre, fermeture à la demande


Non, le take profit ne s'est pas encore déclenché. Ce code trouve l'ordre d'achat en attente le plus élevé et soustrait 20 points de son prix ouvert. Le bénéfice est simplement déplacé vers 20 points de plus. Il semble que le spread ne doive pas être pris en compte ici. De plus, le spread est fixé à 2 points et il nous manque 7 points.
 
Je ne comprends pas quel est le problème. Il semble que lorsque j'imprime les valeurs, le prix est au bon niveau, mais lorsque je mets cette valeur dans l'ordre, son take profit ne bouge toujours que de 13 pips.
 

Tra ta ta