Sto eseguendo l'ottimizzatore (ottimizzazione genetica) in MT5 5.00 build 722 e accidentalmente ho notato che i risultati dell'ottimizzazione sono calcolati in modo inaspettato.
Ma temo che non vi piacerà. A me, per esempio, non piace - il grafico si contrae e si raddoppia. E volevo fare meglio - spostarlo dolcemente al posto giusto...
// La cosa interessante è che funziona due volte più velocemente con ChartRedraw() che senza. Allo stesso tempo, sobbalza di più.
C'è ancora un problema con ChartNavigate(). Verrà aggiustato un giorno? O non è considerato un bug?
C'è già un post su questo argomento in Service Desk? O per aggiungerne altri? ))
class A {
staticboolOrderSend( constMqlTradeRequest& request, MqlTradeResult& result, bool async_mode = false )
void function();
};
void A::function()
{...
OrderSend(...) // ошибка выполнения возникает здесь
A::OrderSend(...) // не помогает
...}
Se sostituiamo OrderSend con qualsiasi altro nome, tutto va bene
la presenza di statica non influisce sull'errore
chiamando A::OrderSend()- l'errore non è influenzato
Ho capito che ti sei chiamato nel tuo Ordersend senza ::
Beh, sì, anche se A::OrderSend ha 3 (tre) parametri, maquest'ultimo è il default e il compilatore non potrebbe (e non dovrebbe) distinguere da ::OrderSend per il numero di parametri
Saluti!
MT5 Optimizer - CustomMax calcola correttamente?
Sto eseguendo l'ottimizzatore (ottimizzazione genetica) in MT5 5.00 build 722 e accidentalmente ho notato che i risultati dell'ottimizzazione sono calcolati in modo inaspettato.
L'Expert Advisor ritorna OnTester():
Profit * Trades * (1/(MaxEquityDDPercent+1)) * RecoveryFactor
Dove:
double Profit = TesterStatistics(STAT_PROFIT);
double Trades = TesterStatistics(STAT_TRADES);
double MaxEquityDDPercent = TesterStatistics(STAT_EQUITY_DDREL_PERCENT);
double RecoveryFactor = MathAbs(TesterStatistics(STAT_RECOVERY_FACTOR));
Ci si aspettava che con un fattore di profitto e di recupero più piccolo il risultato sarebbe stato minore, ma non è così - vedi lo screenshot.
È qualcosa che non capisco bene?
Bene, muoviamoci:
Ma temo che non vi piacerà. A me, per esempio, non piace - il grafico si contrae e si raddoppia. E volevo fare meglio - spostarlo dolcemente al posto giusto...
// La cosa interessante è che funziona due volte più velocemente con ChartRedraw() che senza. Allo stesso tempo, sobbalza di più.
C'è ancora un problema con ChartNavigate(). Verrà aggiustato un giorno? O non è considerato un bug?
C'è già un post su questo argomento in Service Desk? O per aggiungerne altri? ))
Errore di esecuzione: Stack overflow
Se sostituiamo OrderSend con qualsiasi altro nome, tutto va bene
la presenza di statica non influisce sull'errore
chiamando A::OrderSend()- l'errore non è influenzato
Errore di esecuzione di stack overflow
Se sostituisci OrderSend con qualsiasi altro nome, va bene
perché il contesto deve essere risolto
::OrdineInvia
Penso che non sto chiamando ::OrderSend, ma A::OrderSend()
dovrebbe funzionare
Penso che non sto chiamando ::OrderSend, ma A::OrderSend()
A quale linea stai pensando?
che avete appena
void A::function() {... OrderSend(...) // ошибка выполнения возникает здесь вызывается именно ваша A::OrderSendSe volete chiamare il terminale, fate :: prima di OrdersendGrazie, ho trovato la ragione - rimuovo la domanda - l'ho messa in loop io stesso
Ho capito che ti sei chiamato nel tuo Ordersend senza ::
Mi ci sono ritrovato subito, quando ho ridefinito Print e Comment in classe. ora lo faccio sempre :)
Ho capito che ti sei chiamato nel tuo Ordersend senza ::