Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 928

 
TarasBY:
if (iBarShift (_Symbol, PERIOD_D1, OrderOpenTime()) == 0) continue;

Sono SHOCKED !!! Una linea !!! Grazie!!! Ho già iniziato a scomporre il tempo in ore, minuti, secondi per ottenere i secondi dall'inizio della giornata e confrontare...

Non ci avrei mai pensato io.

 
abeiks:
Ciao!
Come posso ottenere ogni tick di altre coppie di valute in Expert Advisor (MQL4)?
Allora potete dirmi come ottenere ogni 10ms le informazioni sui tick di altre coppie di valute?
 
OnTimer() vi aiuterà.
 
AlexeyVik:
OnTimer() è il vostro aiuto.
Grazie!
 
AlexeyVik:
OnTimer() vi aiuterà.
La periodicità specificata di EventSetTimer( int seconds ) è usata lì. Significa che posso ottenere informazioni sui tick ogni 1 secondo? Ho bisogno di una maggiore velocità - 10-20ms.
 

L'indicatore ha bisogno di ottenere l'indice dal tempo di apertura della barra giornaliera, su un timeframe più piccolo.

Funziona correttamente solo sulla barra zero. Cosa c'è che non va?

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Magenta
//--- input parameters
//--- buffers
double I[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexBuffer(0,I);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),limit, i,index;
    datetime DAY;
    bool exact=true;
   if(counted_bars>0)
      counted_bars--;  
   limit=Bars-counted_bars-1;
   for(i=limit;i>=0;i--)
   {
      DAY=iTime(NULL,PERIOD_D1,i);
      index=iBarShift(NULL,PERIOD_CURRENT,DAY);
      I[i]=index;
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
abeiks:
La periodicità specificata di EventSetTimer( int seconds ) è usata lì. Questo significa che posso ottenere informazioni sui tick ogni 1 secondo? Ho bisogno di una maggiore velocità - 10-20ms.
Non solo EventSetTimer( int seconds ) ma anche EventSetMillisecondTimer, perché sei così disattento? C'è scritto accanto.
 
AlexeyVik:
Non solo EventSetTimer( int seconds ) ma anche EventSetMillisecondTimer, perché sei così disattento? È scritto accanto ad esso.
Grazie! Stavo cercando nel libro di riferimento OnTimer e menziona solo EventSetTimer.
 
Puoi dirmi come scrivere un semplice EA come questo? Apre un ordine a una certa ora del giorno, e poi se l'ordine chiude a uno stop loss, apre lo stesso ordine nella direzione opposta. Il giorno dopo tutto si ripete. Vorrei testare questo tipo di EA e vedere se il suo profitto sarà stabile. Per favore, aiutatemi a scriverlo.
 

Per favore aiutatemi, come faccio a scrivere"se il prezzo viene da un certo intervallo"?

Esempio dall'immagine: per aprire un trade, il prezzo dovrebbe venire da un certo range 1.1100 e 1.1100 dovrebbe venire da un certo range 1.1200.

La variante con iHighest e iLowest non è adatta perché questa condizione non dipende dal tempo.