Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
#Calcoli degli ordini e aggiornamenti delle informazioni sul conto- Aperto
( Una volta ho chiesto - ma ho ancora bisogno di aiuto )
Chiamo le mie funzioni di calcolo con OnTick() o Start(), e queste dipendono dai Tick dei simboli del grafico.
E ho iniziato a ricercare come posso fare gli aggiornamenti di calcolo del mio EA non dipende da Ticks e simboli ( / Chart - Ticks, Symbols ).
Sto solo cercando di fare "Tutti i calcoli degli ordini e le informazioni sul conto" si aggiornanoin sincronia (/ tempo reale) con "Terminal > Trade".
Per favore aiutatemi, grazie.
Grazie in anticipo.
OnTimer()
https://www.mql5.com/en/docs/basis/function/events#ontimer
E SymbolName(x,1);E SymbolName(x,1);
Buon commento, che mi ha aiutato, grazie mille.
Ora, sto usando OnTick() e OnTimer(), entrambe le funzioni funzionano bene per me. (È la prima volta che uso OnTimer() per gli EA)
---
Inoltre vorrei provare Ticks. Ho solo bisogno di Ticks da quali simboli (coppie) su 'Terminal > Trade' e simbolo del grafico corrente. Questo SymbolName() potrebbe aiutarmi?
Per favore, aiutatemi o datemi un consiglio, come posso fare?
Tutto il meglio.
{
Print(i," Symbol: ",SymbolName(i,1)," Ask: ",MarketInfo(SymbolName(i,1),MODE_ASK)," Bid: ",MarketInfo(SymbolName(i,1),MODE_BID));
}
{
Print(i," Symbol: ",SymbolName(i,1)," Ask: ",MarketInfo(SymbolName(i,1),MODE_ASK)," Bid: ",MarketInfo(SymbolName(i,1),MODE_BID));
}
Incredibile esempio e commento davvero utile per me, grazie mille amico.
È possibile che i Ticks provengano da coppie / simboli di trading, per favore?
Perché quasi tutto il tempo il mio Market Watch mostra tutti i simboli - specialmente io cerco nuove buone coppie per i trade e questa è l'unica ragione per cui sto cercando alcuni modi per come posso ottenere simboli/coppie 'Terminal > Trade', solo attualmente aprendo trade ticks.
Grazie mille in anticipo.
no ma puoi aggiornare il prezzo nella funzione OnTimer() impostata su un valore basso per esempio 250 millisecondi sarà uguale a 4 tick al secondo quindi perché ne hai bisogno ?
Grazie per il tuo commento.
( sottotopic -#Calcoli degli ordini e aggiornamenti delle informazioni sul conto - Aperto) Come ho detto, io uso i calcoli dei profitti degli ordini e questo non è sincronizzato con 'Terminal > Trade', questa è l'unica ragione.
Così, a volte la volatilità molto bassa, Ticks viene meno quantità, e penso che le funzioni potrebbero essere eseguito 4 volte in un secondo, in modo che l'esecuzione per niente ( / vano ).
Se non riesco a trovare il modo in cui può darmi ' Terminale > Commercio ' ticks per Ordini Calcoli di profitto e conto info ( / aggiornamenti ) sincronizzazione. Userò i tuoi metodi molto utili - quale mi hai mostrato che modi nei tuoi ultimi commenti, grazie mille. (Ho già testato e quel modo mi funziona)
Grazie in anticipo.
Beh, se siete davvero interessati, potete usare:
{
datetime time; // Time of the last prices update
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Price of the last deal (Last)
ulong volume; // Volume for the current Last price
long time_msc; // Time of a price last update in milliseconds
uint flags // Tick flags
};
La struttura per restituire i prezzi correnti (MqlTick)
Questa è una struttura per memorizzare gli ultimi prezzi del simbolo. È progettata per il recupero veloce delle informazioni più richieste sui prezzi correnti.
La variabile di tipo MqlTick permette di ottenere i valori di Ask, Bid, Last e Volume con una sola chiamata della funzione SymbolInfoTick().
I parametri di ogni tick vengono compilati indipendentemente dal fatto che ci siano cambiamenti rispetto al tick precedente. Così, è possibile trovare un prezzo corretto per qualsiasi momento nel passato senza la necessità di cercare i valori precedenti nella cronologia dei tick. Per esempio, anche se solo un prezzo Bid cambia durante un tick di arrivo, la struttura contiene ancora altri parametri, tra cui il precedente prezzo Ask, il volume, ecc.
Puoi analizzare i tick flags per scoprire quali dati sono stati cambiati esattamente:
Esempio:
{
MqlTick last_tick;
//---
if(SymbolInfoTick(Symbol(),last_tick))
{
Print(last_tick.time,": Bid = ",last_tick.bid,
" Ask = ",last_tick.ask," Volume = ",last_tick.volume);
}
else Print("SymbolInfoTick() failed, error = ",GetLastError());
//---
}
Vedi anche
https://www.mql5.com/en/docs/constants/structures/mqltick
Strutture e classi, CopyTicks(), SymbolInfoTick()
Quindi puoi usarlo per controllare se c'è stato un nuovo tick per un simbolo specifico, ma questo sarà effettivamente un passo in più rispetto alla lettura diretta dei livelli di prezzo, quindi ancora una volta, perché ne avresti bisogno.
Marco vd Heijden:
Beh, se ti piace davvero puoi usare: ...
Così puoi usarlo per controllare se c'è stato un nuovo tick per un simbolo specifico, ma questo sarà effettivamente un passo in più rispetto alla lettura diretta dei livelli di prezzo, quindi ancora una volta, perché ne avresti bisogno.
Grazie per il tuo commento informativo, molto apprezzato.
---
Se ho ragione questa parte della frase è una domanda.
E ho bisogno di descrivere la mia situazione.
Tutta questa preoccupazione viene da qui.
---
Spero che tu mi capisca ora più chiaramente.
Tutto il meglio.
Beh, se vuoi davvero aspettare ogni tick dovrai scrivere un EA separato per ogni simbolo e usare la funzione OnTick().
Ma posso dirti che programmo anche micro controllori e sono in un ciclo while infinito (per sempre) fino a quando non si verifica un'interruzione di corrente, o un interrupt.
Per controllare se una condizione è vera o falsa, usa il più piccolo tipo di dati booleani e il tuo processore lo fa già milioni se non miliardi di volte al secondo con tutti i processi in esecuzione in background e la grafica ecc.
È quando si inizia a fare calcoli pesanti che coinvolgono tipi di dati più grandi, che questo diventa un problema.