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

 
dmitriyriy666:

Grazie. Riguardo a TimeCurrent è vero, il mio tempo non corrisponde a quello del server. Risolto, ma ancora non funziona... Non scrive alcun errore nel log.


P.S. Nel mio post precedente, il codice senza spazi è stato inserito in qualche modo. Ma penso di aver messo tutte le parentesi graffe correttamente.

Per favore, specifica se hai corretto tutto quello che ho scritto o solo TimeLocal() a TimeCurrent()
 
AlexeyVik:
Specifica, hai corretto tutto quello che ho scritto o solo TimeLocal() a TimeCurrent()


Sistemato i perizomi in ints, rimosso le virgolette, e provato senza spostamento - solo quando si attraversa, e provato con iTime ovunque e lì per essere. Non lo capisco affatto. Ora l'ho riscritto per aprire immediatamente il ciclo lì dopo aver trovato il tempo, e questo è ciò che ho ottenuto:

extern int Magic = 66622210;
extern double Lot = 400.0;
color Colorrr;
datetime Vremyaaa;
//datetime shi = 120;
color col = Black; 
int operacia;
//-
void OnTick()
{
   int AllObject = ObjectsTotal(); 
   for ( int i = 0; i < AllObject; i++)
   {
    int kolpos = 0;
    string NameObj = ObjectName(i); 
    Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
    Vremyaaa = ObjectGet(NameObj, OBJPROP_TIME);
    if((Colorrr == Green)||(Colorrr == Aqua)){operacia = OP_BUY;}
    if((Colorrr == Red)||(Colorrr == Purple)){operacia = OP_SELL;}
    if(Vremyaaa == TimeCurrent())
      {
       for (int pos = 0; pos < OrdersTotal(); pos++)
          {
           if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
             {
              if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
                {
                 kolpos++;
                }
             }   
          }
          
       if(kolpos == 0)
         {
           printf("otkrivaem order");
           int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
         }  
              
            
      }
    }
 
}

Forse è perché iTimeCurrent dà il tempo in secondi e scivola in un tempo pari?

 

C'è una funzione o una variabile che restituisce lo stato di arresto forzato dell'EA (questo è quando viene premuto "Stop") in modalità test?

 
dmitriyriy666:

Sistemato i perizomi in ints, rimosso le virgolette, e provato senza spostamento - solo quando si attraversa, e provato con iTime ovunque e lì per essere. Non lo capisco affatto. Ora l'ho riscritto per aprire immediatamente il ciclo lì dopo aver trovato il tempo, e questo è ciò che ho ottenuto:

Forse il fatto è che TimeCurrent dà il tempo ai secondi e slitta anche il tempo?

Sì, molto probabilmente, non ci ho fatto caso. Meglio impostare Time[0] o si può usare . diverse conversioni di TimeCurrent() da stringa a minuti e indietro da stringa a datetime
 
qomment:

C'è una funzione o una variabile che restituisce lo stato di arresto forzato dell'EA (questo è quando viene premuto "Stop") in modalità test?

IsStopped()
 
AlexeyVik:
Sì, probabilmente non ci ho fatto caso. Meglio mettere Time[0] o si può attraverso . diverse conversioni di TimeCurrent() da stringa a minuti e viceversa da stringa a datetime


Anche Time[0] non ha funzionato. Ho bisogno di tempo senza secondi - come posso ottenerlo? Ho provato if(Vremyaaa == TimeToString(TimeCurrent(), TIME_DATE|TIME_MINUTES)) non funziona...
 
c'è un indicatore di tick che mostra il tempo di ogni tick invece di mostrare solo i tick come un normale mt4
 

Buon pomeriggio,

Ricevo un avviso durante la compilazione

possibile perdita di dati a causa della conversione del tipo

sulla linea:

int Stop_Loss = MarketInfo(Symbol(),MODE_STOPLEVEL);

La descrizione di MarketInfo dice che restituisce il tipo double.

Ma il livello di stop è un intero e voglio usarlo

come un intero...

...È colpa degli sviluppatori o l'avvertimento è corretto e non lo capisco?

 

Buon tempo, signori, ha deciso di iniziare a postare in questo argomento stupido, se qualcuno ha qualche consiglio.

MT4 sta perdendo la rete - l'orologio del server non ticchetta, ma lo "stato della connessione" mostra che tutto è OK. Internet è garantito e non è occupato in alcun modo.

Questo accade molte volte al giorno, il cambiamento del broker non influisce su una situazione. Il terminale si blocca in qualche posizione e sembra che possa rimanere in questa posizione per sempre.

Qualsiasi consiglio sarebbe apprezzato.

 

Buon pomeriggio.

Potete dirmi quale broker ha il ritardo minimo (ping) su MT4?