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
Il modo più semplice:
static datetime tlastbar=0;
datetime tnewbar=iTime(NULL,PERIOD_CURRENT,0);
bool isnewbar=tnewbar!=tlastbar;
tlastbar=tnewbar;
Ecco la mia versione finale.
In effetti sono un po' preoccupato perché è così facile.
Alain: Sarebbe bello se tu emettessi la benedizione.
// -----------------------------------------------------------------------
if(MathMod(TimeCurrent(),PeriodSeconds()) < currPeriodProgress) iNewBar = true;bool NewBar(void)
{
bool iNewBar = false;
static double currPeriodProgress = 0;
currPeriodProgress = MathMod(TimeCurrent(),PeriodSeconds());
return(iNewBar);
}
// ------------------------------------------------------------------------
void OnTick()
{
if(NewBar()) PlaySound("tick.wav");
Saluti da Colonia
Willbur
Il problema è che può essere usato solo da OnTick(). Da altri gestori di eventi non sei mai sicuro se TimeCurrent() è legato al simbolo che vuoi.
E vi suggerisco di non fare mai lo stesso calcolo due volte:
Per quanto ne so l'argomento è per mql5. Il tuo codice è solo per mql4.
Ho usato questi in MQL4
Cosa intendi con questo? È solo uno snipped e può essere incluso dove si vuole, ad esempio all'interno della sua funzione NewBar(). E imo è la soluzione più semplice e veloce e affidabile. Ho incluso questo in un derivato della classe CSymbolInfo per tutti i timeframe separatamente e funziona perfettamente.
Non esiste una funzione iTime() in mql5.
MT5, davvero? Ma MQL5 non è solo MT5, almeno così l'ho sempre capito, perché MT4 usa il compilatore MQL5. Ma in realtà non sapevo che, io uso principalmente MT4. Comunque, grazie per l'informazione sulla restrizione.
MQL4 iTime() è facile e comprensibile per i commercianti, come la maggior parte delle altre funzioni di MQL4.
MQL5 è diverso, c'è bisogno di una laurea in informatica per codificarlo, e questo è ciò che abbatte la maggior parte delle persone.
Ecco un esempio che ho incontrato la settimana scorsa, quando volevo iniziare a convertire i miei EA MT4 in MT5 e la soluzione che ho trovato.
No, mql4 è per MT4, mql5 è per MT5. Hanno un sottoinsieme di funzioni in comune, ma sono 2 lingue diverse.
Il linguaggio è lo stesso ma hanno un piccolo sottoinsieme di funzioni non in comune ;) Comunque, probabilmente hai ragione con questa definizione. MQ ha fatto molto per generare confusione a questo punto.
MT5, davvero? Ma MQL5 non è solo MT5, almeno così l'ho sempre capito, perché MT4 usa il compilatore MQL5. Ma in realtà non sapevo che, io uso principalmente MT4. Comunque, grazie per le informazioni sulla restrizione.