![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ecco una domanda.
Sarebbe corretto in MQL5:In MQL4 il codice è così:
Ecco una domanda.
Sarebbe corretto in MQL5:Il codice in MQL4 è così:
non del tutto corretto.
è auspicabile chiamare CopyTime una volta prima del ciclo
non del tutto corretto.
è auspicabile chiamare CopyTime una volta prima del ciclo
Giusto?
C'è una variabile Volume nella finestra Dati. Per quanto ho capito significa volume di scambio (reale). Ho notato oggi, su EUR/USD M1 (Alpari), che se metti il cursore del mouse su qualsiasi barra, puoi vedere i valori del volume. Mi chiedo se qualcuno sa come vengono calcolati questi valori? Questo è il volume di trading sulla coppia solo per i clienti Alpari, o sono solo numeri casuali, o cosa... Nello screenshot qui sotto potete vedere volume = 620m.
C'è una variabile Volume nella finestra Dati. Per quanto ho capito significa volume di scambio (reale). Ho notato oggi, su EUR/USD M1 (Alpari), che se metti il cursore del mouse su qualsiasi barra, puoi vedere i valori del volume. Mi chiedo se qualcuno sa come vengono calcolati questi valori? Questo è il volume di trading sulla coppia solo per i clienti Alpari, o sono solo numeri casuali, o cosa... Nello screenshot qui sotto potete vedere volume = 620m.
Strano inconveniente durante l'esecuzione del programma
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx;
MqlDateTime Struc;
TimeToStruct(lTime,Struc);
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));
ritorno(Resx);
}
Conta più volte la stessa cosa per confronto, un frammento del log è mostrato qui sotto. L'errore è mostrato in rosso perché non può essere un numero negativo. Sembra che una variabile sia stata corrotta. A cosa è legato questo problema e come risolverlo? Grazie in anticipo per il vostro aiuto.
Solo clienti Alpari. Ma i volumi interni dei grandi uffici sono molto correlati.
Ci sono classi per costruire interfacce grafiche nella libreria standard, e questa è una buona cosa.
La cosa deludente è che i dialoghi sono glitchati. Si può osservare nell'esempio di prova. Se si fa doppio clic e con il secondo clic si afferra un elemento "mobile" (ad esempio la barra di scorrimento o la barra del titolo della finestra), è possibile trascinarlo in qualsiasi punto dello schermo. La seconda caratteristica frustrante è che quando una finestra di dialogo viene spostata orizzontalmente, il grafico sul grafico scorre insieme ad essa. Non è fatale, ma sgradevole, soprattutto considerando che lo scopo dello spostamento è spesso quello di guardare il grafico sotto la finestra di dialogo. La terza è il funzionamento instabile dei controlli (ad esempio le caselle di controllo) e in generale leggeri lag (che probabilmente non possono essere eliminati nell'attuale implementazione del terminale).
Ci sono anche inconvenienti architettonici (per esempio, un'architettura sintonizzata sul montaggio statico dei dialoghi (collegamento anticipato degli elementi)), ma questo è per i buongustai. In linea di principio, è sopportabile.
Ci sono anche dei vantaggi e anche delle bellezze nell'implementazione, ma parlarne in questo thread è fuori questione.
I bug sono risolvibili.
--
Mi piacerebbe anche avere nel set di strumenti standard per implementare finestre di dialogo a più pagine (CTabBox o qualcosa del genere).
Strano inconveniente durante l'esecuzione del programma
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx;
MqlDateTime Struc;
TimeToStruct(lTime,Struc);
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));
ritorno(Resx);
}
Conta più volte la stessa cosa per confronto, un frammento del log è mostrato qui sotto. L'errore è mostrato in rosso perché non può essere un numero negativo. Sembra che una variabile sia stata corrotta. A cosa è legato questo problema e come risolverlo? Grazie in anticipo per il vostro aiuto.
1. Si prega di incollare il codice correttamente.
2. Puoi darmi il codice sorgente completo, un esempio funzionante o il codice della funzione MarketDayCycle.
Non ci sono array in questo pezzo di codice e non c'è modo di lavorare con gli array
quando si installa la nuova build 642, il suono Testing Finished non funziona dopo il completamento del test EA,
è un bug o . non è un bug?