Discussione sull’articolo "Crea il Tuo Robot di Trading in 6 Passaggi!" - pagina 4

 

Ottimo articolo. Grazie per l'aiuto.

 

Devo aver cercato male, per favore indicatemi la descrizione di CCustom

Non riesco a capire perché, dopo aver creato un indicatore personalizzato, sia necessario chiamare il controllo (o è una personalizzazione dell'indicatore?):

//| Imposta il numero di buffer dell'indicatore. |

//--- numero di buffer
   if(!m_slow_ma.NumBuffers(1)) return(false);
//--- abbiamo raggiunto questo punto, significa che la funzione è stata eseguita con successo - restituire true
   
 
bivmail:

Devo aver cercato male, per favore indicatemi la descrizione di CCustom.

C'è un errore di battitura. E proprio nell'articolo c'è un riferimento a CiCustom:

Naturalmente, è possibile creare la propria classe di indicatori, che sarà un discendente di CIndicator e implementerà tutti i metodi necessari per l'uso con MQL5 Wizard. In questo caso, però, vogliamo mostrarvi come utilizzare qualsiasi indicatore personalizzato nel modulo dei segnali di trading utilizzando CiCustom.

 

buon articolo

 

non riesco a vincere... Aiuto

Creo un segnalatore dall'esempio nello stesso catalogo, genero un Expert Advisor, tutto funziona.

Genero un Expert Advisor basato sul mio segnalatore, viene visualizzata una finestra con descrizione e parametri di input, clicco su OK e non funziona:

2012.03.26 20:45:16 art367exp.ex5 File EX5 non valido

Ho già dato nomi diversi, ho creato un nuovo file di segnale, vi ho copiato il testo, entrambi i file si compilano normalmente, ma il grafico mostra File EX5 non valido.

Facendo un confronto visivo, tutto sembra essere a posto. Dov'è l'errore? Build 572


	          
File:
 
bivmail:

non riesco a vincere... Aiuto

Creo un segnalatore dall'esempio nello stesso catalogo, genero un Expert Advisor, tutto funziona.

Genero un Expert Advisor basato sul mio segnalatore, viene visualizzata una finestra con descrizione e parametri di input, clicco su OK e non funziona:

2012.03.26 20:45:16 art367exp.ex5 File EX5 non valido

Ho già dato nomi diversi, ho creato un nuovo file di segnale, vi ho copiato il testo, entrambi i file si compilano normalmente, ma il grafico mostra File EX5 non valido.

Facendo un confronto visivo, tutto sembra essere a posto. Dov'è l'errore? Build 572

Lo esamineremo (anche OnInit() non arriva).
 
uncleVic:
Lo esamineremo (anche OnInit() non arriva).
Provate ad aggiornare il terminale (la build attuale è di oltre 600 anni fa)
 
uncleVic:
Provate ad aggiornare il terminale (la build attuale è di oltre 600 anni fa).

Ho aggiornato alla 619 dal 23 marzo, alfaforex non ne offre altre.

Il risultato è lo stesso. Ho provato a inserire il testo del segnalatore direttamente nell'Expert Advisor (invece della riga include), si compila normalmente, ma non funziona con lo stesso errore....

Come posso scoprire il nome del file su cui inciampa?

Ho provato a mettere la prima riga printf(__FUNCTION__+": initializing expert") in onInit; non c'è risultato, il che, di fatto, conferma quanto detto sopra....

scrive nel log:

2012.03.27 14:59:39 Experts esperto art367biv (EURUSD,H1) caricato con successo

2012.03.27 14:59:41 Esperti inizializzazione di art367biv (EURUSD,H1) fallita

2012.03.27 14:59:41 Esperti esperti art367biv (EURUSD,H1) rimossi

A quanto pare, dovremo procedere riga per riga in un ordine simile a quello dell'esempio.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки - Документация по MQL5
 
bivmail:

Ho aggiornato a 619 dal 23 marzo, alfaforex non offre nessun altro.

Il risultato è lo stesso. Ho provato a inserire il testo del segnalatore direttamente nell'Expert Advisor (invece della riga include), si compila bene, ma non funziona con lo stesso errore.

Come posso scoprire il nome del file su cui inciampa?

Ho provato a mettere la prima riga printf(__FUNCTION__+": initializing expert") in onInit; non c'è risultato, il che, di fatto, conferma quanto detto sopra....

scrive nel log:

2012.03.27 14:59:39 Experts esperto art367biv (EURUSD,H1) caricato con successo

2012.03.27 14:59:41 Esperti inizializzazione di art367biv (EURUSD,H1) fallita

2012.03.27 14:59:41 Esperti esperti art367biv (EURUSD,H1) rimossi

A quanto pare, dovremo procedere riga per riga in un ordine simile a quello dell'esempio.


Grazie. Grazie alla sua programmazione, abbiamo trovato un errore nel compilatore.

Avete:

   bool GetFastMA(const int index) const{ return(m_fast_ma.GetData(0,index));}
   bool GetSlowMA(const int index) const{ return(m_slow_ma.GetData(0,index));}

È necessario:

   double GetFastMA(const int index) const{ return(m_fast_ma.GetData(0,index));}
   double GetSlowMA(const int index) const{ return(m_slow_ma.GetData(0,index));}
 

Un altro errore (tuo):

//--- inizializzazione dell'oggetto 
   if(!m_fast_ma m_slow_ma.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,parameters))
     {
      printf(__FUNCTION__+": errore di inizializzazione dell'oggetto MA lento");
      return(false);
     }
//--- numero di buffer
   if(!m_slow_ma.NumBuffers(1)) return(false);

Vedrò come evitarlo nella Biblioteca.