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

 
gross >>:

Здравствуйте, решил занятся изучением MQL4, начал работать с массивами, возник вопрос: при выводе элемента Time[] выходит такое вот значение 1264149780, вместо вида 2006.11.01 14:35 к примеру, или возможно 1264149780 это координата?

leggere https://docs.mql4.com/ru/convert/TimeToStr

1264149780 è il numero di secondi trascorsi dal 01.01.1970

 
alsu писал(а) >>

cercare altri errori logici.

La CRS è così:

Trovato l'errore logico tutto corrisponde.
Ora lo script assomiglia a questo, forse qualcuno potrebbe essere interessato:
int start()
  {
int Period_CCI=18;
int Period_MA=9;
double MApoCCI;
double ind_CCI, ind_CCI_2;
double Sum_CCI;
for (int k=0; k<5; k++)
  {
      for (int i=1+ k; i< Period_MA+1; i++)
       {
         ind_CCI= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, i);
         Sum_CCI= Sum_CCI+ ind_CCI;
       }
     MApoCCI= Sum_CCI/ Period_MA;
     int n= k+1;
     ind_CCI_2= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, n);
     Alert("MA по СиСиАй "+ k+" = "+ MApoCCI);
     Alert("СиСиАй "+ k+" = "+ ind_CCI_2);
     Sum_CCI=0;
}
//----
   return(0);
  }
 
Vekker писал(а) >>

Vuoi uno script o un indicatore?

Come esempio di un indicatore

File:
 
Vinin писал(а) >>

Vuoi uno script o un indicatore?

Come esempio di un indicatore

Questo script sarà più avanti nell'EA - come script è stato scritto per controllare le prestazioni di questo pezzo e la correttezza dei numeri che produce per la successiva elaborazione.

>>Grazie per l'indicatore allegato, puoi spiegare di cosa si tratta?

 
Vekker писал(а) >>

Questo script sarà più avanti nell'EA - come script è stato scritto per controllare le prestazioni di questo pezzo e la correttezza dei numeri che produce per la successiva elaborazione.

Grazie per l'indicatore allegato - puoi spiegare - di cosa si tratta?

// Costruire WPR

per (i=limite;i>0;i--) WPR[i]=iWPR(NULL,0,WPR.Period,i);

/prima lisciatura
per (i=limite;i>0;i--) EMA1[i]=iMAOnArray(WPR,0,EMA.1.Period,0,MODE_EMA,i);

// Secondo livellamento
per (i=limite;i>0;i--) EMA2[i]=iMAOnArray(EMA1,0,EMA.2.Period,0,MODE_EMA,i);

Dovremmo creare un indicatore che può essere utilizzato in seguito nell'Expert Advisor.

Sarà migliore e più veloce.

 

Potete dirmi per favore qual è il problema? Do due pezzi di codice che chiudono tutti i trade della stessa direzione:

for( ii=0; ii<OrdersTotal(); ii++)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

e il secondo:

for( ii=OrdersTotal(); ii>0; ii--)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

Sembra essere lo stesso, solo che il secondo dovrebbe chiudere i trade partendo dall'ultimo, e il primo dovrebbe chiudere dal primo.

Quindi, il primo funziona correttamente, tutti i trade vengono chiusi, ma il secondo chiude solo l'ultimo trade e il resto no. Perché?

 
Azimuth >>:

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

и второй:

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

Strano uso di ritorno, condizioni e se l'annidamento può essere ridotto.

if ((OrderType()==OP_BUY) && ( closelong==1))


E il conto alla rovescia può OrdersTotal di uno.


 
Puoi dirmi come far funzionare lo zigzag nel tester. Eseguo uno script alla ricerca di punti pivot e dà risultati dalla finestra delle quotazioni reali, non è il primo indicatore che lo fa. Come combatterlo.
 
Andrei-1 писал(а) >>
Potete dirmi come far funzionare lo zigzag in tester. Sto eseguendo uno script che cerca i pivot point ma mostra i risultati dalla finestra delle quotazioni reali, non è il primo indicatore che lo fa. Come combatterlo.

Uno zigzag lanciato sul grafico in modalità di visualizzazione guarda al futuro.

Posso darvi uno zigzag che non guarda al futuro.

 
Facciamo una prova. Sì, catturare savchenkoandrei-ya@yandex.ru o link.