Errori, bug, domande - pagina 171

 
Rosh:
Questo non dovrebbe essere il caso. Hai bisogno del codice sorgente, meglio scrivere al Service Desk.

Cercherò di capire Service Desk , ma inequivocabilmente la mia classe è scritta correttamente, perché se dichiaro un puntatore a una classe - tutto ok, due o più errori dovuti all'allocazione errata della memoria, creo una variabile di tipo classe, tutto ok, creo 10 variabili di tipo classe - tutto ok anche, perché non uso l'operatore new

In generale, non è difficile allocare la memoria quando si chiama il costruttore, ma ahimè, non posso passare almeno un parametro al costruttore

 
Lizar:

Aggiungo l'indicatore al grafico con la funzione ChartIndicatorAdd(). Ora non riesco a capire quale funzione per rimuoverlo dal grafico.

Non c'è questa possibilità.

E IndicatorRelease non vi aiuterà qui.

 
IgorM:


In generale non è difficile allocare la memoria quando viene chiamato il costruttore, ma ahimè, non posso passare almeno un parametro al costruttore

Creare una funzione speciale per l'inizializzazione, che fa tutto quello che vorreste vedere in un costruttore tradizionale. E chiamatelo subito dopo la dichiarazione (per gli oggetti creati automaticamente) o chiamate il nuovo operatore (per gli oggetti creati dinamicamente).
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
Rosh:
Creare una funzione speciale per l'inizializzazione, che faccia tutto quello che vorreste vedere in un costruttore tradizionale. E chiamatelo subito dopo la dichiarazione (per gli oggetti creati automaticamente) o chiamate il nuovo operatore (per gli oggetti creati dinamicamente).

L'ho fatto molto tempo fa, ma sarebbe meglio fare tutto nel costruttore - sarebbe possibile allocare la memoria usando ArrayResize() e garantire la corretta allocazione della memoria quando si lavora con i puntatori

Ok, non c'è modo di passare il parametro per l'allocazione della memoria al costruttore, me ne sono fatto una ragione, peccato che tu non possa promettermelo

SZY: non ho trovato l'overloading degli operatori in MQL5, in C++ è void operator +(); http://www.programmersclub.ru/24/ - una sciocchezza, ma l'ho usato nel 1995 in Borland C++

 
IgorM:

HH: Non ho trovato il sovraccarico dell'operatore in MQL5, in C++ è void operator +(); http://www.programmersclub.ru/24/ - sciocchezza, e l'ho usato nel 1995 in Borland C++

Non esiste il sovraccarico:

Sovraccarico

All'interno della stessa classe si possono definire due o più metodi che condividono lo stesso nome ma hanno un numero diverso di parametri. Quando questo accade, i metodi sono chiamati sovraccarichi, e il processo è chiamatosovraccarico del metodo. L'overloading dei metodi è uno dei modi in cui viene implementato il polimorfismo. Il sovraccarico dei metodi nelle classi segue le stesse regole del sovraccarico delle funzioni.

Se non c'è una corrispondenza esatta per la funzione da chiamare, il compilatore cerca tre livelli in modo sequenziale

  1. cercando tra i metodi della classe;
  2. Ricerca tra i metodi delle classi base, partendo dall'antenato più vicino fino al primo;
  3. Ricerca tra le funzioni rimanenti.

Se non viene trovata nessuna corrispondenza esatta in nessun livello, ma vengono trovate diverse funzioni adatte a diversi livelli, viene usata la funzione trovata al livello più basso. Non ci può essere più di una funzione adatta all'interno di un livello.

Non c'è sovraccarico degli operatori in MQL5.

 

Qualcuno ha qualche soluzione per "ripristinare" le linee di bilancio e l'equità dai dati storici?

Ho davvero bisogno di una fic del genere....

PS

In realtà ho alcune idee sull'equilibrio, ma ho solo domande sull'equità. :(

 
Interesting:

Qualcuno ha qualche soluzione per "ripristinare" le linee di bilancio e l'equità dai dati storici?

Ho davvero bisogno di una fic del genere....

PS

In realtà ho alcune idee sull'equilibrio, ma ho solo domande sull'equità. :(


Potete provare a esportare la lista delle compravendite e scrivere un Expert Advisor, che ripeterà le azioni e le eseguirà nel tester)
 
mrProF:
Puoi provare a esportare la lista di compravendite e scrivere un Expert Advisor che ripeta l'azione ed eseguirla nel tester)

Non è così. È necessario all'interno dell'EA e solo sulla base di dati storici.

La linea dell'equilibrio può essere ripristinata semplicemente basandosi sulla storia degli scambi, non c'è quasi dubbio su questo.

Creiamo una lista di operazioni che influenzano il bilancio e costruiamo una curva di bilancio basata su di esse.

La complessità sta nel costruire la curva di equità. Questo ci richiede di calcolare quali trade sono stati aperti e cosa è successo alle posizioni aperte e come hanno influenzato l'equity.

Tutto questo dovrebbe essere fatto in certi intervalli di tempo (ad esempio, al momento di formare un nuovo quotidiano o alle 00:00 ora del server).

PS

Si tratta di ripristinare (costruire) l'equilibrio e le linee di capitale all'interno dell'Expert Advisor collegato a un conto reale o demo (dove i trade erano tenuti in precedenza).

Allo stesso tempo, l'Expert Advisor non sarà in grado di caricare questi dati da un file.

 
Interesting:

Non è così. È necessario all'interno dell'EA e solo su dati storici.

Cerca nel database di mql4.com l'indicatore delle azioni.

La matematica rimarrà la stessa, dovete solo cambiare la contabilità commerciale.

 
komposter:

Cerca nel database di mql4.com l'indicatore delle azioni.

La matematica rimarrà la stessa, dovrete solo cambiare la contabilità commerciale.

Grazie, gli darò un'occhiata.
Motivazione: