[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 64

 
Merci ! !!
 

Si une taille de tableau variable est requise, c'est quelque chose comme ceci :

// Поиск фракталов
void fFractals(bool     РегулярностьЛевогоКрыла,
               bool     РегулярностьПравогоКрыла,
               int      ДлинаЛевогоКрыла,
               int      ДлинаПравогоКрыла,
               int      LostBars,
               int&     LFractals,int& HFractals,
               double&  LowF[],double& HighF[]) {
   double R, C[];
   int dim, i, j, Error;
   dim=ArrayResize(C, ДлинаЛевогоКрыла+1+ДлинаПравогоКрыла);
   if( LostBars<Bars-1 ) {
      i=ДлинаПравогоКрыла+БарОкончания+LostBars;
   }
   else {
      i=FirstBar-ДлинаЛевогоКрыла;
   }
   while( i>=ДлинаПравогоКрыла+БарОкончания ) {
      j=0;
      R=0;
      while ( j<dim ) { C[j]=High[j+i-ДлинаПравогоКрыла]; j++; }
      if( ( ( C[ДлинаПравогоКрыла]-C[ДлинаПравогоКрыла+1]> Zero &&  РегулярностьЛевогоКрыла )
         || ( C[ДлинаПравогоКрыла]-C[ДлинаПравогоКрыла+1]>-Zero && !РегулярностьЛевогоКрыла ) )
       && ( ( C[ДлинаПравогоКрыла]-C[ДлинаПравогоКрыла-1]> Zero &&  РегулярностьПравогоКрыла )
         || ( C[ДлинаПравогоКрыла]-C[ДлинаПравогоКрыла-1]>-Zero && !РегулярностьПравогоКрыла ) ) ) {
         R=C[ДлинаПравогоКрыла];       // Локальный максимум
         j=1;
         while ( j < dim ) {
            if( ( j< ДлинаПравогоКрыла && C[j-1]-C[j]>-Zero &&  РегулярностьПравогоКрыла )
             || ( j> ДлинаПравогоКрыла && C[j]-C[j-1]>-Zero &&  РегулярностьЛевогоКрыла  )
             || ( j< ДлинаПравогоКрыла && C[j-1]-R   > Zero && !РегулярностьПравогоКрыла )
             || ( j> ДлинаПравогоКрыла && C[j]-R     > Zero && !РегулярностьЛевогоКрыла  ) ) {
               R=0;                    // Нет фрактала
               break;
            }
            j++;
      }  }
      if( R > Zero && HighF[i]<Zero ) {
         HFractals++;
         HighF[i]=R;
      }
      j=0;
      R=0;
      while ( j < dim ) { C[j]=Low[j+i-ДлинаПравогоКрыла]; j++; }
      if( ( ( C[ДлинаПравогоКрыла+1]-C[ДлинаПравогоКрыла]> Zero &&  РегулярностьПравогоКрыла )
         || ( C[ДлинаПравогоКрыла+1]-C[ДлинаПравогоКрыла]>-Zero && !РегулярностьПравогоКрыла ) )
       && ( ( C[ДлинаПравогоКрыла-1]-C[ДлинаПравогоКрыла]> Zero &&  РегулярностьПравогоКрыла )
         || ( C[ДлинаПравогоКрыла-1]-C[ДлинаПравогоКрыла]>-Zero && !РегулярностьПравогоКрыла ) ) ) {
         R=C[ДлинаПравогоКрыла];       // Локальный минимум
         j=1;
         while ( j < dim ) {
            if( ( j< ДлинаПравогоКрыла && C[j]-C[j-1]>-Zero &&  РегулярностьПравогоКрыла )
             || ( j> ДлинаПравогоКрыла && C[j-1]-C[j]>-Zero &&  РегулярностьЛевогоКрыла  )
             || ( j< ДлинаПравогоКрыла && R-C[j-1]   > Zero && !РегулярностьПравогоКрыла )
             || ( j> ДлинаПравогоКрыла && R-C[j]     > Zero && !РегулярностьЛевогоКрыла  ) ) {
               R=0;                    // Нет фрактала
               break;
            }
            j++;
      }  }
      if( R > Zero && LowF[i]<Zero ) {
         LFractals++;
         LowF[i]=R;
      }
      i--;
   }
   return(0);
}
 

Je ne comprends pas de quoi il s'agit. ....

si () {achat}

autre while (a<0)

{print ...}

si (...) ...

LE COMPTEUR NE SORTIRA PAS lorsque "a" est supérieur à zéro et ne passera pas à l'étape suivante.

comment est-ce possible ? tout s'imprime et s'imprime.... il m'a fallu 10 minutes pour imprimer presque 6 gigaoctets de journaux. est-ce normal ? je ne me souviens pas de cela avant... ce n'est pas la première fois que j'imprime des paramètres....

 
Génial ! Merci !!!!!!
 
lottamer:

Je ne comprends pas de quoi il s'agit. ....

si () {achat}

autre while (a<0)

{print ...}

si (...) ...

LE COMPTEUR NE SORTIRA PAS de la boucle lorsque "a" est supérieur à zéro et ne passera pas au if suivant.

comment est-ce possible ? tout s'imprime et s'imprime.... il m'a fallu 10 minutes pour imprimer presque 6 gigaoctets de journaux. est-ce normal ? je ne me souviens pas que cela soit arrivé avant... ce n'est pas la première fois que j'imprime des paramètres....


Essayez d'ajouter des parenthèses :

si () {achat}

else{ while (a<0)

{print ...}}

si (...) ...

 
tara:

Essayez d'ajouter des parenthèses :

si () {achat}

else{ while (a<0)

{print ...}}

si (...) ...


n'a pas fonctionné.
 
que signifie 2013.01.09 19:37:44 Robot_zero EURUSD,M1 : shutdown by timeout ?

 
lottamer:
que signifie 2013.01.09 19:37:44 Robot_zero EURUSD,M1 : shutdown by timeout ?


arrêt par délai d'attente
 

Bonjour à tous ! Aidez-moi si c'est possible de le refaire ? Je veux que les positions soient ouvertes lorsque les bougies ferment en dessous ou au-dessus de la ligne. Peut-être un script séparé à ajouter ?

CELA FAIT PARTIE DE L'EXPERT

//+------------------------------------------------------------------+

//| Ouvrir une position|
//+------------------------------------------------------------------+
void OpenPositions() {
bool lbBuy=False, lbSell=False ;
double ldStop=0, ldTake=0 ;

if ((Ask>gdPrevAsk && Ask>=gdUpPrice && ebBuyFromUp)
|| (Ask<gdPrevAsk && Ask<=gdDnPrice && ebBuyFromDn)) lbBuy=True ;
if ((Bid>gdPrevBid && Bid>=gdUpPrice && !ebBuyFromUp)
|| (Bid<gdPrevBid && Bid<=gdDnPrice && !ebBuyFromDn)) lbSell=True ;

if (lbBuy) {
if (ExistPositionByOP(OP_SELL)) CloseAllPositions() ;
if (!ExistPositionByOP(OP_BUY)) {
if (StopLoss!=0) ldStop=Ask-StopLoss*Point ;
if (TakeProfit !=0) ldTake=Ask+TakeProfit*Point ;
OpenPosition(OP_BUY, ldStop, ldTake) ;
}
}
if (lbSell) {
if (ExistPositionByOP(OP_BUY) CloseAllPositions() ;
if (!ExistPositionByOP(OP_SELL)) {
si (StopLoss!=0) ldStop=Bid+StopLoss*Point ;
si (TakeProfit !=0) ldTake=Bid-TakeProfit*Point ;
OpenPosition(OP_SELL, ldStop, ldTake) ;
}
}
}
 
Vinin:

arrêts temporaires

C'est quoi un temps mort ? C'est pas du football ! :)