Errori, bug, domande - pagina 2017

 
Alexey Navoykov:

L'ordine di esecuzione degli operandi in C++ non è regolato, quindi dipende dal singolo compilatore.

L'ordine in cui gli operandi sono valutati non può essere regolato perché dipende dal contesto

#ifdef __MQL__
class A { public:
        A *operator +( A* ) { return NULL; }
};
template<typename T>
T f( int i ) { Print( __FUNCTION__, ":", i ); return NULL; }
void OnStart()
{
        int i = f<int>(1) + f<int>(2) + f<int>(3); //слева направо 1-2-3
        A  *a = f<A* >(1) + f<A* >(2) + f<A* >(3); //справа налево 3-2-1
}

#endif

Se è strettamente regolamentato, l'efficienza si perde in uno dei 2 casi
 
A100:

L'ordine in cui gli operandi sono calcolati non può essere regolato perché dipende dal contesto

Se è strettamente regolamentato - in uno dei 2 casi si perde efficienza

Grande esempio!

Non riesco a capire perché durante l'esecuzione si verifica un errore di "accesso al puntatore non valido". Penso che tutto debba essere chiaro. Win7x64.

 
fxsaber:

Non riesco a capire perché durante l'esecuzione si verifica un errore di "accesso al puntatore non valido". Sembra che tutto dovrebbe essere pulito. Win7x64.

32bit è buono. Per 64bit ha bisogno di un po' di lavoro extra:

class A { public:
        A *operator +( A *a ) { return a; }
};
static A a;
int f( int i ) { Print( __FUNCTION__, ":", i ); return 0;  }
A  *g( int i ) { Print( __FUNCTION__, ":", i ); return &a; }
void OnStart()
{
        int i = f(1) + f(2) + f(3); //слева направо 1-2-3
        A  *a = g(1) + g(2) + g(3); //справа налево 3-2-1
}
 
A100:

Regole a 32 bit. Per 64, è necessario fare un po' di lavoro extra.

L'ottimizzatore sembra diventare saggio.

 
fxsaber:

IndicatoreParametri (+ IndicatoreRilascio)


Ho dimenticato di spiegare. Ho bisogno di mql4. Non ho nemmeno un manico. L'idea è che l'utente stesso installerà gli indicatori sul grafico, e il programma dovrebbe determinare il loro numero, nome e parametri utilizzati (questo non è un programma spia :) è per l'utente)

 
Aleksandr Teleguz:

Ho dimenticato di chiarire. Ho bisogno di mql4. Sì e non ho un manico. L'idea è che l'utente stesso installerà gli indicatori sul grafico, e il programma dovrebbe determinare il loro numero, nome e parametri utilizzati (questo non è un programma spia :) è per l'utente)

ChartSaveTemplate + parsing. Ecco un esempio di MT5 per un EA. Per analogia, convertire in indicatori MT4.

 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 

Una domanda che continua a tormentare gli sviluppatori:

Perché non ci sono funzioni come

datetime OrderDateModified(ticket)){} 		//последнее изменение на стороне брокера любого из параметров ордера
datetime OrdersTotalLastModified(){}		//последнее изменение на стороне брокера среди всех не закрытых ордеров MODE_TRADES на счете

Aumenterebbe la produttività, quindi molte richieste/operazioni inutili potrebbero essere eliminate e si potrebbe risparmiare tempo sul casino della ricerca degli ordini

Qual è esattamente il problema?

 

Non c'è una descrizione dell'enumerazione ENUM_SYMBOL_ORDER_GTC_MODE nell'aiuto dell'editor