[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 252

 

drknn, è un limite al numero di ordini?

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 >> :


Ehi amico puoi parlare così o così :) >> Mi sto rompendo gli occhi. :)

:-)) Sì, mi potete piacere, ma non credo che tutti possano piacerci, che ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

 
Ibiss >> :

drknn, è un limite al numero di ordini?



Bene, arriva un segnale commerciale. Diciamo che arriva un segnale per aprire un ordine di acquisto. Prima di aprirlo, ricalcoliamo gli ordini di acquisto sulla nostra coppia. Se non ce ne sono, apriamo un ordine. Se c'è almeno 1 ordine, allora il secondo ordine di acquisto non si aprirà sullo stesso segnale.

Queste due subroutine sono solo dei contatori di ordini.

A proposito, limitare gli ordini su una singola candela usando i contatori non è l'unico modo per evitare cumuli di ordini su una singola candela.

 

Ricevo un errore durante la compilazione:

WriteError' - la funzione non è definita

forse 'WriteError' dovrebbe essere definito in variabili globali? Non l'ho ancora capito)

grazie)


 
Ieri ho letto "Gap 1_500 o come scaricare un DC" e mi è venuto in mente un pensiero simile. In breve. Cosa succede se apriamo posizioni su strumenti ben correlati (coefficiente => -1 e 1) in entrambe le direzioni. La perdita sul primo strumento sarà chiusa dal profitto sul secondo e potrebbe rimanere un po' di pane e burro. Ma qualcosa mi dice che l'idea non è nuova. Gentilmente commentate.
 

Ho scritto un indicatore, mostra il valore High-Low come un istogramma B se il valore è superiore al precedente - verde, sotto - rosso. ma l'indicatore non viene visualizzato nella termica, qual è l'errore?

Il codice dell'indicatore:

#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 >> :

Ricevo un errore durante la compilazione:

WriteError' - la funzione non è definita

forse 'WriteError' dovrebbe essere definito in variabili globali? Non l'ho ancora capito)

grazie)



Esatto, non avete la funzione WriteError(i). Questa è la mia personale funzione di gestione degli errori personalizzata
 
Perché? La funzione Sleep() non funziona nel tester?
 
AndBar писал(а) >>

:-)) Sì, mi potete piacere, ma non credo che tutti possano piacerci, che ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

'kogda je budet MQL5?

>> questo thread ti aiuterà. Tutte le varianti sono disponibili qui.

 
RomanS >> :
Perché? La funzione Sleep() non funziona nel tester?

Se non mi sbaglio, ho letto da qualche parte che non funziona.

Motivazione: