Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 446

 

Chi può spiegare perché i risultati dei test sono così diversi per un EA con le stesse impostazioni, in terminali di diversi broker (FXOpen, Weltrade, Alfa-Forex). Lo swap non ha alcun effetto in quanto non crea prelievi. Le citazioni per tredici anni sono le stesse di Gelium, le date sono le stesse. Lo spread è lo stesso. I test ripetuti sono gli stessi. Qual è il problema?

File:
3.jpg  227 kb
 
неAni:

Chi può spiegare perché i risultati dei test sono così diversi per un EA con le stesse impostazioni, in terminali di diversi broker (FXOpen, Weltrade, Alfa-Forex). Lo swap non ha alcun effetto in quanto non crea prelievi. Le citazioni per tredici anni sono le stesse di Gelium, le date sono le stesse. Lo spread è lo stesso. I test ripetuti sono gli stessi. Qual è il problema?

L'algoritmo EA lavora all'interno della candela o in base alla chiusura della candela?
 

Il codice non guarda le candele di chiusura e di apertura.

E i broker MODE_STOPLEVEL non influenzano nemmeno l'algoritmo

 
неAni:

Il codice per chiudere e aprire le candele non sembra.

...

Forse è questo il problema? Ogni server commerciale può avere un flusso di quotazioni diverso. Se il vostro palo analizza i ticks piuttosto che le candele, ci possono essere variazioni molto grandi nei test.
 
Karputov Vladimir:
Sto scrivendo commenti in inglese di proposito - sto sviluppando la mia conoscenza della lingua, quindi non ci saranno commenti in russo. Mi dispiace.

E questo, a quanto ho capito, è un altro membro della comunità che sviluppa una conoscenza di una lingua diversa da quella comunemente usata nella parte multinazionale russofona del sito. Ma solo al posto dei commenti, sui post del blog ho deciso di praticarlo:


Quindi, ci sono persone felici là fuori che sono interessate agli argomenti di scambio e di trading OTC e alla programmazione in MQL5/MQL4. Sembrano così oscenamente semplici e comprensibili, che probabilmente è meglio complicarli almeno con frasi in una lingua non del tutto comprensibile in una parte multinazionale russa del sito. Che diavolo. Naturalmente, dove altro se non qui per sviluppare una lingua sconosciuta o non familiare.

 
Karputov Vladimir:
Potrebbe essere questo il problema? Ogni server commerciale può avere un flusso di quotazioni diverso. Se il tuo palo analizza le zecche piuttosto che le candele, ci può essere una grande variazione nei test.
E i server se ho messo le virgolette da solo per 13 anni e l'internet è stato scollegato?
 
 if ((iRSI(NULL,0,14,PRICE_HIGH,i) < (iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,21,i)],i) - iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,14,i)],i)*2))){
            CrossDown[i] = Low[i] + Range*0.5;

Cosa c'è di sbagliato in questo?

 
неAni:
Cosa c'entrano i server se ho inserito le citazioni da solo per 13 anni e internet era scollegato?
Se le quotazioni sono le stesse, che senso ha testare su diversi server commerciali? E quali impostazioni di test avete impostato (la risposta "lo stesso" non è buona)?
 
azfaraon:

Cosa c'è di sbagliato qui?

Hai messo una parentesi graffa in più o hai dimenticato una parentesi graffa. Questo è corretto:

   if((iRSI(NULL,0,14,PRICE_HIGH,i)<(iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,21,i)],i)-iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,14,i)],i)*2)))
      CrossDown[i]=Low[i]+Range*0.5;
 
Karputov Vladimir:

Hai messo una parentesi graffa in più o hai dimenticato una parentesi graffa. Questo è corretto:

Grazie mille...chiedevo più che altro la logica...Come fai a capire cosa ho messo nella linea? Non mi dà il risultato che volevo ((...mi è stato detto che High[] non può essere messo in posti ( APPLIED_PRICE Price ).
allora come si fa a mostrare il punto massimo dell'rsi in un certo intervallo?

Come potete vedere sto cercando di confrontare due massimi in intervalli diversi