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:
externint Magic = 66622210;
externdouble Lot = 400.0;
color Colorrr;
datetime Vremyaaa;
//datetime shi = 120;color col = Black;
int operacia;
//-voidOnTick()
{
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?
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
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...
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.
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.
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:
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?
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?
C'è una funzione o una variabile che restituisce lo stato di arresto forzato dell'EA (questo è quando viene premuto "Stop") in modalità test?
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...
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?