Errori, bug, domande - pagina 1741
![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
Volete ottenere il tipo effettivo dell'oggetto tramite puntatore?
Qualcosa come una funzione:
Il typename genera una stringa in fase di compilazione, ecco perché è necessario "tirare le code".
Volete ottenere il tipo di oggetto effettivo tramite puntatore?
Qualcosa come una funzione:
Sì, qui.
Stanislav Korotky:
Vorrei renderlo più sottile. Ma come? In MQL,typename(this) nel metodo base virtuale restituisce la classe base. In C++typeid(*this).name() nel metodo virtuale di base restituisce la classe effettiva dell'oggetto.
Questa è solo una caratteristica delle pubblicazioni di profilo?
Non riesco a mettere insieme i pezzi.
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}
uno degli a e b di ritorno dovrebbe essere esterno //a1 e //b1. Non passa attraverso questo.
a + ::a + b + ::b
Ma in generale, si dovrebbe ricevere uno schiaffo per una tale pratica.
a + ::a + b + ::b
Ma in generale, si dovrebbe essere puniti per una tale pratica.
Grazie) Non ho un libro C++ a portata di mano. Ma visivamente ricordo che sembrava avere questo dentro. Devo essermene dimenticato. Non l'ho mai usato per questo scopo. Bene, ora devo cambiare la variabile ovunque - ora.
Beh, in realtà questo è ciò per cui è stato progettato. Quindi ti sbagli. Non bisogna abusarne.
Quando si trascina(CHARTEVENT_OBJECT_DRAG) un oggetto grafico OBJ_CHART con il mouse, l'intervallo di visualizzazione corrente in OBJ_CHART viene resettato.
Si prega di rimuovere questo reset nella prossima build.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
Ilyas, 2016.10.18 09:24
Perché non includete la lista di inizializzazione nel corpo? In senso figurato, un oggetto classe (compreso il suo questo) è inizializzato sul segno ':'{
const int a;
A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
// A() : a(this.a) {} // no problem
};
Identificatore
Descrizione
Tipo di proprietà
COMMENTO GRAFICO
Testo del commento sul grafico
stringa
NOME_ESPERTO GRAFICO
Nome dell'Expert Advisor lanciato sul grafico con il chart_id specificato
stringa
NOME_SCRITTORE GRAFICO
Nome dello script che viene lanciato sul grafico con il chart_id specificato
stringa
Molto tempo speso per la localizzazione. EA
{
public:
const string Name;
const long Chart;
int GetSubWindow( void ) const
{
const ulong StartTime = GetMicrosecondCount();
const int Res = ObjectFind(this.Chart, this.Name);
Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");
return(Res);
}
CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0 ) :
Name((string)MathRand()), Chart(chart_id)
{
ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
}
~CHARTOBJECT( void )
{
if (this.GetSubWindow() != -1)
ObjectDelete(this.Chart, this.Name);
}
long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
{
return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
}
};
CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;
void OnInit()
{
Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}
void OnDeinit( const int Reason )
{
Bitmap.GetSubWindow();
delete Bitmap;
}
Dopo averla rimossa dal grafico, ci sarà un output di log
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1) 3005619 mcs.
In tre secondi è stato rimosso e fuori. Riprodotto solo nella versione di rilascio. Durante il debug tutto è normale.
Per favore, confermate con voi stessi. In modalità script, giocare non ha funzionato. Solo l'EA.