Discussione sull’articolo "Guida Step-By-Step alla scrittura di un Expert Advisor in MQL5 per Principianti" - pagina 3

 

Dopo alcune difficoltà, il tester ha funzionato completamente e ha prodotto risultati che coincidono con quelli indicati nell'articolo.

Le difficoltà. Il download della cronologia ha richiesto molto tempo (55 minuti a 8 Mbps), con diverse interruzioni, e ho dovuto riavviare il tester due volte. Alla fine il tester si è bloccato. Ho chiuso MT 5, ma non sono riuscito a riaprirlo. Ho dovuto riavviare completamente il sistema. Dopo di che MT5 si è avviato tranquillamente e, sorprendentemente, il tester ha funzionato completamente (circa 2 minuti) e ha fornito tutti i risultati indicati nell'articolo (ho specificato i parametri di test esattamente come indicato nell'articolo). I test successivi su diversi timeframe sono proseguiti senza problemi.

Sintesi. L'articolo è interessante. L'Expert Advisor è fattibile. Approfondirò l'argomento.

 
Mi chiedo perché le chiamate ad ArraySetAsSeries siano nel corpo di OnTick() e non di OnInit()?
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
Операции с массивами / ArraySetAsSeries - Документация по MQL5
 
Также это лучшее место для получения хэндлов технических индикаторов, которые будут использоваться (в нашем случае это индикаторы ADX e media mobile).

Perché non dire in questa sede che cos'è il manico degli indicatori tecnici?

Che cos'è? Un identificatore di indicatori?

 
vas:

Perché non dire in questa sede che cos'è il manico degli indicatori tecnici?

Che cos'è? Un identificatore di indicatori?

L'handle dell'indicatore è l'identificatore del thread in cui viene calcolato l'indicatore; chiamando l'handle si indirizza il flusso di dati.

La funzione che restituisce l'handle crea (avvia) proprio questo thread. Per questo motivo gli sviluppatori non consigliano di accedere al flusso subito dopo la sua creazione, poiché potrebbe essere ancora in corso il processo di calcolo dei dati.

 

Ottimo articolo! Strutturato in modo chiaro e facilmente comprensibile.

Ho dei dubbi sull'espressione di ritorno nella prima condizione "if" di "OnInit()". Forse il parametro dovrebbe essere -1, qualunque cosa, ma non 0, oppure la condizione "if" è ridondante.

 

Ho provato a implementare l'esperto dell'articolo https://www.mql5.com/it/articles/100 su classi della libreria standard.

Sto postando quello che ho ottenuto.

Purtroppo l'operazione identica non ha funzionato, perché il codice dell'articolo presenta degli errori.

Il file ExpertADX-MA.mq5 deve essere collocato in ExpertsAdvisors. -questo è il Consulente esperto

Ilfile SignalADX-MA.mqh deve essere collocato in Include\Expert\Signal - questa è la classe dei segnali di trading.

Il file TrailingFixedPips.mqh deve essere inserito in Include\Expert\Trailing(con sostituzione) - si tratta di un file della fornitura standard con alcune modifiche minori.

Il file Expert.mqh deve essere inserito inIncludeExpert (con sostituzione). -file della fornitura std. file della fornitura standard con modifiche minori

Le modifiche della fornitura standard saranno apportate nella prossima build.

PS: Trawl è "avvitato" in Expert (su richiesta dei lavoratori).

Per "svitarlo", è necessario commentare la riga:

      if(!ExtExpert.InitTrailing(new CTrailingFixedPips)) return(-3);

nel file ExpertADX-MA.mq5.

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
 

Sono stati corretti gli errori nel codice dell'EA nell'articolo Guida passo-passo alla scrittura di Expert Advisor MQL5 per principianti.

Scaricate la versione aggiornata del codice dell'Expert Advisor.
 

Nel codice EA sopra riportato.

L'array dinamico double maVal[] è dichiarato nell'ambito globale.

e non nell'ambito della funzione void OnTick().

Supponiamo che l'Expert Advisor sia in esecuzione da 24 ore.

Domanda: cosa succederà alla memoria allocata per l'array dinamico? In quanto tempo si intaserà di spazzatura?

O in altre parole, formulerò la domanda: in questo caso si verifica una perdita di memoria?

 

Grazie per il tuo articolo!

 
Sono molto grato per questo articolo che mi ha aiutato molto. Dopo aver scritto i codici per il mio EA ho premuto il pulsante di debug e mi è stato detto che ho 10 errori, nel tuo articolo non c'è alcuna informazione per correggere questi errori. Quindi come posso risolvere questo problema, per favore rispondete al più presto possibile?