Problemi riscontrati durante il back testing e non si riesce a trovare la causa principale! - pagina 2

 

Questo è tutto,

Il tuo indicatore si ridisegna, è una delle tante versioni di Fisher

=> Esegui Macd_sample EA, aggiungi il tuo indicatore sullo schermo mentre l'EA è in esecuzione,

Metti in pausa l'EA, fai doppio clic sull'indicatore, non è lo stesso, si ridisegna

Quello che ottieni non è quello che vedi sullo schermo

funziona, ma non puoi controllare che faccia ciò che potrebbe solo guardando l'indicatore,

 

Modifica: manca il "periodo" esterno:

   Joy1=iCustom(Symbol(),0,"Solar Joy",period, SolarIndex,1);
   Joy2=iCustom(Symbol(),0,"Solar Joy",SolarIndex,2);
 

mladen è uno specialista di fischer :

https://www.forex-tsd.com/metatrader-4/474-fisher-12.html

Potete provare questo indicatore, quasi lo stesso che il "Solar Joy", ho aggiunto una linea limite = 2 e -2


Aggiungere questa parte :

extern int     RangePeriods=35;
extern double  PriceSmoothing=0.3;    // =0.67 bei Fisher_m10 
extern double  IndexSmoothing=0.3;    // =0.50 bei Fisher_m10
extern double SolarLimit=1;

void SolarJoy()
  {
  // HideTestIndicators(false);
   Joy1 = iCustom(NULL,0,"Fisher_m11",RangePeriods,PriceSmoothing,IndexSmoothing,4,1);
   Joy2 = iCustom(NULL,0,"Fisher_m11",RangePeriods,PriceSmoothing,IndexSmoothing,4,2);
   //Joy1=iCustom(Symbol(),0,"Solar Joy",SolarIndex,1);
   //Joy2=iCustom(Symbol(),0,"Solar Joy",SolarIndex,2);
  }

File:
 
ffoorr:

Questo è tutto,

Il tuo indicatore si ridisegna, è una delle tante versioni di Fisher

=> Esegui Macd_sample EA, aggiungi il tuo indicatore sullo schermo mentre l'EA è in esecuzione,

Metti in pausa l'EA, fai doppio clic sull'indicatore, non è lo stesso, si ridisegna

Quello che ottieni non è quello che vedi sullo schermo

funziona, ma non puoi controllare che faccia ciò che potrebbe solo guardando l'indicatore,

Caro ffoorr, l'ho seguito ma non ho visto l'indicatore cambiare o alcuna differenza.
 
ffoorr:

Modifica: manca il "periodo" esterno:

Caro ffoorr, puoi fare riferimento all'istruzione di iCustom():

[in]  Custom indicator input-parameters, separated by commas.

The passed parameters and their order must correspond with the declaration order and the type of extern variables of the custom indicator. If the values of input parameters  is not specified, the default values will be used.

Inoltre, ho anche provato ad aggiungere i parametri esterni, ma il risultato del test è lo stesso.

 
ffoorr:

mladen è uno specialista di fischer:

https://www.forex-tsd.com/metatrader-4/474-fisher-12.html

Potete provare questo indicatore, quasi lo stesso che il "Solar Joy", ho aggiunto una linea limite = 2 e -2


Aggiungere questa parte:


Caro ffoorr,

Sì, sono uguali. Tuttavia, non possiamo ancora trovare dove è il problema, giusto?

Puoi controllare il codice che non è un indicatore Fisher. Il livellamento della barra corrente è basato sulla barra precedente. I dati dell'indicatore di tutte le barre precedenti sono già congelati.

 
ffoorr:

Caro JolyDragon,

Sì, è un indicatore fisher, controlla il codice, se non trovi il problema, non posso aiutarti

Caroffoorr, altri amici,

Cos'è l'indicatore Fisher?

Qual è il tipo di indicatore che le barre passate cambiano con la barra corrente? Quel tipo di indicatore è un trucco e non può essere usato da me. Voglio dire che "Solar Joy" non è questo tipo di indicatore. Se non sono d'accordo, per favore mostra le frasi di questo tipo di trucco.

Grazie per la tua modifica del codice, ma sembra che non sia molto adatto a questo argomento.

Devo trovare la causa principale in quanto ho trovato lo stesso problema con il back testing anche su altri indicatori personalizzati.

Caroffoorr, hai testato "Solar Joy" e "Trade Joy"? Potresti gentilmente testare e farmi sapere se incontri lo stesso problema? Grazie mille!


Gumai
 
jollydragon:

Cos'è l'indicatore Fisher?

Voglio dire che "Solar Joy" non è questo tipo di indicatore.

  1. Fisher è un indicatore di riverniciatura. Ciò significa che non ti mostra il segnale quando il mercato lo ha fatto. Ti mostra dove avresti dovuto avere un segnale molte barre prima. Sembra buono ma non puoi usarlo per il trading.
  2. ffoorr: Il tuo indicatore repaint, è una delle tante versioni di fisher
    ffoorr ti ha già detto che è quel tipo di indicatore.
  3. Anche il centro di gravità si sta ridipingendo.
    Sembra buono al segnale (dove ho messo la linea verticale)
    Ma sembrava più simile a questo quando si è formata quella barra.
    Molti bar dopo


 

JollyDragon

Forse ogni settimana, c'è un nuovo indicatore di pesca strega pop-up da qualche parte, forse qualcuno cercando di attirare client. Il nome dell'indicatore cambia, ma il codice è sempre lo stesso.

Questo perché l'indicatore fisher sembra buono a prima vista. Ma quello che si vede sull'immagine non è quello che si ottiene quando si fa trading. Puoi dire dove trovi l'indicatore ?

Non ho testato i due, ho fatto poi funzionare, apportando leggere modifiche. Ho eliminato tutte le restrizioni di ora e di saldo, e ho fatto in modo che l'EA faccia trading sulle barre 2 e 3, invece che 1 e 2.

L'EA apre e chiude l'ordine sul segnale di acquisto e sul segnale di vendita, questo non darà un buon risultato con nessun oscillatore, tranne quando si chiudono gli ordini sul profitto, quindi mi sono fermato lì, non sono andato oltre.

La causa principale è all'interno del codice, studiate il codice.

Ecco un indicatore e un EA:


PS: cambia il nome dell'indicatore nell'EA da SOLAR_JOY a SOLAR_JOY_A, non scaricava il SOLAR_JOY, ho dovuto cambiare il nome ;-)

se non funziona commenta questa linea:

// if((SignalAStartHour<SignalAEndHour && h>=SignalAStartHour && h<=SignalAEndHour) || (SignalAStartHour>SignalAEndHour && (( h<=SignalAEndHour && h>=0) || (h<=23 && h>=SignalAStartHour))))


File:
 
ffoorr:


Puoi dire dove trovi l'indicatore?

La causa principale è all'interno del codice, studia il codice.


Caro ffoorr,

Ho ottenuto l'indicatore cercando con google.com.

Hai ragione che il codice ha un problema come ho osservato il ridisegno dell'indicatore. Si prega di vedere gli screenshot qui sotto.

Cari tutti,

Devo avere qualche incomprensione su barre, buffer o indicatore.

Secondo il codice, capisco che ogni barra è sempre disegnata sulla base delle barre precedenti a sinistra e quindi non dovrebbe accadere nessun ridisegno. Tuttavia, ho già osservato il ridisegno.

Si prega di fare riferimento al file dell'indicatore allegato qui sotto. Il contenuto principale è solo circa 10 linee come ho incollato qui.

Non importa come ho provato duramente ad analizzare ancora e ancora, non riesco a trovare il codice di emissione per ridisegnare le linee dell'indicatore e deve essere già fuori dalla mia capacità.

Posso chiedervi un favore per suggerire dove è il problema? Grazie molto, molto, ..., molto!

   for(i=limit-1; i>=0; i--)
     {
      MaxH = High[iHighest(NULL,0,MODE_HIGH,period,i)];
      MinL = Low[iLowest(NULL,0,MODE_LOW,period,i)];
      price = (High[i]+Low[i])/2;
      Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
      Value=MathMin(MathMax(Value,-0.999),0.999);
      ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
      Value1=Value;
      Fish1=ExtBuffer0[i];
      if(ExtBuffer0[i]>0) ExtBuffer1[i]=10;
      else ExtBuffer1[i]=-10;
     }
File:
solarjoy.mq4  7 kb