Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 373

 
Alexey Viktorov:

Ancora una volta.

Non ti sto parlando delle azioni del trader, ma di quei registri (linee) che metti in pubblico.

Diciamo che non mi interessa che non ci sia la linea di apertura dell'ordine e la sua prima modifica nei log del terminale...

Perché non c'è più storia di questo ordine nei registri del broker? Dov'è la prova che l'ordine ha funzionato? Ed è stato modificato prima di essere attivato?

Non posso allegarli al mio messaggio per qualche motivo.

----------------------------

un'altra domanda agli esperti

se c'è una possibilità tecnica in mt4 del broker di reinviare i rapporti giornalieri per le date passate?

Per esempio, non abbiamo ricevuto i rapporti per 2 settimane, possiamo ri-generarli e inviarli all'e-mail del trader?

 
valeriy odintsov:

Ho i log - non posso allegarli al mio post per qualche motivo.

Non è necessario allegare i log al messaggio.

Ho prestato attenzione solo a una riga del registro del broker. Quello che ha fissato l'attivazione dell'ordine pendente.

 

Per favore ditemi come fare - ho bisogno di ottenere il valore del TF superiore sul TF inferiore al momento del TF inferiore - in MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

 
-Aleks-:

Per favore ditemi come fare - ho bisogno di ottenere il valore del TF superiore sul TF inferiore al momento del TF inferiore - in MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

Leggi l'aiuto per la funzione iBarShift()
 
Vitalii Ananev:
Leggi l'aiuto di iBarShift()
Risulta che ho bisogno di ottenere datetime, il valore della variabile pos, ma come faccio?
 
-Aleks-:
Risulta che ho bisogno di ottenere datetime, il valore della variabile pos, ma come farlo?
Se avete un numero di barra nella variabile pos, potete ottenere il valore temporale di questa barra usando la funzione Time[pos] o la funzione iTime(Symbol(),Period(),pos).
 
Vitalii Ananev:
Se avete un numero di barra nella variabile pos, potete ottenere il valore del tempo di questa barra usando la funzione Time[pos] o la funzione iTime(Symbol(),Period() ,pos).

Sì, ma non riesco a capire come faccio a finire con un valore a barre a metà giornata?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Ottengo i valori massimi delle barre...

E devo prendere il cambio della barra ogni 15 minuti, per esempio.

 
-Aleks-:

Sì, ma non riesco a capire come faccio a finire con un valore a barre a metà giornata?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Ottengo i valori massimi delle barre...

E ho bisogno di prendere un cambiamento nella barra giornaliera ogni 15 minuti, per esempio.

Non sono sicuro di quello che vuoi fare. Correggetemi se mi sbaglio. Volete ottenere i valori massimi del giorno ogni N minuti?
 
Vitalii Ananev:
Non sono sicuro di quello che vuoi fare. Correggetemi se mi sbaglio. Volete ottenere i valori massimi del giorno ogni N minuti?
Corretto.
 
-Aleks-:
Giusto.
Poi basta prendere il valore di iHigh(Symbol(),PERIOD_D1,0) dopo un certo periodo di tempo. Ma se si prendono i valori dei giorni passati, saranno gli stessi in qualsiasi momento.