[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 252

 

drknn, s'agit-il d'une limite au nombre d'ordres ?

int SchBuy(int MAGIC){
  string SMB=Symbol();
  int SchBuy=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--) {
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;}
      if(OrderType()==OP_BUY){ 
        SchBuy++;
      }  
    }
  }
  return( SchBuy);
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell(int MAGIC){
  string SMB=Symbol();
  int SchSell=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--){
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;} 
      if(OrderType()==OP_SELL){
        SchSell++;
      }
    }
  }
 return( SchSell);     
}                  
 
IlyaA >> :


Hé mec, tu peux parler comme ça ou comme ça :) >> Je suis en train de me casser les yeux. :)

:-)) Oui je peux vous aimer, mais je ne pense pas que tout le monde puisse nous aimer, que ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

 
Ibiss >> :

drknn, s'agit-il d'une limite au nombre d'ordres ?



Eh bien, un signal commercial arrive. Disons qu'un signal arrive pour ouvrir un ordre d'achat. Avant de l'ouvrir, nous recalculons les ordres d'achat sur notre paire. S'il n'y en a pas, nous ouvrons une commande. S'il y a au moins un ordre, alors le deuxième ordre d'achat ne s'ouvrira pas sur le même signal.

Ces deux sous-routines ne sont que des compteurs d'ordres.

À propos, limiter les ordres sur un seul chandelier à l'aide de compteurs n'est pas le seul moyen d'éviter les piles d'ordres sur un seul chandelier.

 

Je reçois une erreur pendant la compilation :

WriteError - La fonction n'est pas définie.

peut-être que 'WriteError' devrait être défini dans les variables globales ? je ne comprends pas encore)

merci)


 
Hier, j'ai lu "Gap 1_500 ou comment larguer un DC" et une pensée similaire m'est venue. En bref. Et si nous ouvrons des positions sur des instruments bien corrélés (coefficient => -1 et 1) dans les deux sens. La perte sur le premier instrument sera comblée par un profit sur le second et il restera peut-être un peu de pain et de beurre. Mais quelque chose me dit que l'idée n'est pas nouvelle. Veuillez le commenter.
 

J'ai écrit un indicateur, il montre la valeur High-Low comme un histogramme B si la valeur est supérieure à la précédente - vert, en dessous - rouge. Mais l'indicateur n'est pas affiché dans le thermique, quelle est l'erreur ?

Le code de l'indicateur :

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

int BarsCount = 10000;

//---- buffers
double buf_1[], buf_2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i, HL_0, HL_1;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        HL_0 = High[ i]-Low[ i];
        HL_1 = High[ i-1]-Low[ i-1];
        
        if( HL_0> HL_1) buf_1[ i] = HL_0;
        if( HL_0< HL_1) buf_2[ i] = HL_0;
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Ibiss >> :

Je reçois une erreur pendant la compilation :

WriteError - La fonction n'est pas définie.

peut-être que 'WriteError' devrait être défini dans les variables globales ? je ne comprends pas encore)

merci)



C'est vrai, vous n'avez pas la fonction WriteError(i). Il s'agit de ma fonction personnelle de gestion des erreurs
 
Pourquoi ? La fonction Sleep() ne fonctionne pas dans le testeur ???
 
AndBar писал(а) >>

:-)) Oui je peux vous aimer, mais je ne pense pas que tout le monde puisse nous aimer, que ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

Quel est le budget de MQL5 ?

>> ce fil de discussion vous aidera. TOUTES les variantes sont disponibles ici.

 
RomanS >> :
Pourquoi ? La fonction Sleep() ne fonctionne pas dans le testeur ???

Si je ne me trompe pas, j'ai lu quelque part que ça ne marche pas.