Spread trading in Meta Trader - pagina 32

 

Ora ho eseguito il mio Expert Advisor (lotto=0.1) in modo sequenziale sui grafici delle coppie (dollaro+euroyen) dal 29/12/2009 fino ad ora. Ad occhio, ho impostato i seguenti parametri: Delta=20 deviazione e chiusura totale = +10 pip.

È chiaro che in totale abbiamo un buon profitto, più di 200 pips.

Non capisco perché il numero di accordi è diverso. Probabilmente mancano alcune barre su una coppia del grafico. O c'è stato un fallimento nelle lacune. Il meccanismo di Expert Advisor è "glitchato". Cercherò di analizzarlo.

Ma è chiaro che in generale il lavoro della simulazione virtuale è corretto. I grafici sono simmetrici - come dovrebbero essere quando si lavora con una siepe!

Gli accordi 11 e 15 sui grafici - beh, esattamente, sono stati chiusi in un unico intervallo.

EURRJPY



USDJPY


 
Rispettabili signori, chi sa come si calcola la cointegrazione? Qualcuno può aiutare?
 
al982 >>:
Уважаемые господа, кто знает как считается коинтеграция? Может кто помочь?

Qui.

 
Certo grazie, ma conosci qualche risorsa sulla fetta biscottata?
 
al982 >>:
Конечно спасиб, а на рсуском не знаешь ресурсов ?

Google è la tua guida.

In breve, la cointegrazione non conta, non esiste un indicatore numerico per essa. Si può solo cercare di stimare la sua presenza/assenza. La variante più semplice per due Asset: regressione di una riga X su un'altra riga Y, si ottiene pendenza B e intercetta A. Costruiamo un processo di diffusione come Z = Y - X*B - A. Testiamo il processo risultante per la stazionarietà. Se Z è stazionario, allora possiamo assumere che X e Y sono cointegrati e il processo Z può essere negoziato con successo.

Una variante più avanzata consiste nel trovare un autovettore corrispondente al minimo autovalore per la matrice della variante. Il processo risulta più bello e può rendere conto di un numero illimitato di attività.

Il problema è la definizione di stazionarietà. Il processo stazionario dovrebbe essere stazionario su tutte le lunghezze che vanno all'infinito, ma abbiamo sempre una serie finita, cioè è molto facile essere imbrogliati.

 
rid >>:

Вот сейчас прогнал советник (лот=0.1) ......Только не пойму, почему число сделок разное. Видимо, на одной паре на графике пропущены бары.


Ciao a tutti. Infatti, il numero di barre è diverso sui grafici, anche se la storia dei test è la stessa.

Apparentemente abbiamo bisogno di determinare da quale data (da quale profondità) inizia la storia delle quotazioni corretta per entrambi gli strumenti.

Nel :

/---------------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТИСТИЧЕСКОГО СПРЕДА                               |
//---------------------------------------------------------------------------+               
  double CalculateAvarageSpread(string Symbol_1, string Symbol_2,
                              int Timeframe, int NBars)
{ int k;   double N = 0;   double Sum = 0;
   for( k = 0; k < iBars( Symbol_1, Timeframe); k++)  {
      if( N == NBars)         break;

      int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe, k),true);
      if( symb2Shift != -1)      {
         Sum += iClose( Symbol_1, Timeframe, k) - iClose( Symbol_2, Timeframe, symb2Shift);
         N++;
      }   }   double avarageSpread = Sum / N;   return( avarageSpread);}

è dichiarato -

int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe,k),true);
if( symb2Shift !=-1) {

Cosa significa? Sto interpretando correttamente la formulazione di questa condizione? -

"Se una barra manca su uno degli strumenti, allora sul secondo strumento - la stessa barra presente è saltata (non presa in considerazione)" ?

E come possiamo arrivare qui - il numero della barra mancata più vicina - su uno qualsiasi degli strumenti? Non importa quale?

Per favore, dimmi...

.

 
rid >>:

Всем привет. Действительно, число баров разное на графиках, хотя история тестирования задана одинаковая.

Видимо нужно определить, с какой даты(с какой глубины) начинается корректная история котировок по обоим инструментам.

Non ce n'è bisogno. Questo è un evento comune per gli strumenti che hanno periodi di bassa liquidità. Nessun segno di spunta è arrivato in un minuto, la barra è mancata.

Che cosa significa? Ho letto bene la formulazione di questa condizione? -

"Se si perde una barra su uno degli strumenti, allora sul secondo strumento - la stessa barra presente è persa (non contata)" ?

Sì.

E come si arriva qui - il numero della barra mancata più vicina - su uno qualsiasi degli strumenti? Non importa quale?

Si prega di consigliare...

https://docs.mql4.com/ru/series/iBarShift

cambia true in false

 
wise >>:

Не нужно. Это -- частое явление для инструментов, у которых бывают периоды пониженной ликвидности. За минуту просто не пришел ни один тик, бар пропущен.

Да.

https://docs.mql4.com/ru/series/iBarShift

true поменять на false


Grazie. Sì, infatti. Sono passato a tf=m5 e i risultati sono molto più corretti nella maggior parte dei casi (test). Gli scambi su entrambi gli istruttori sono più o meno lo stesso numero.
 

A proposito, perché lo spread nello spread di base si calcola sui prezzi aperti? Non è giusto, si basa correttamente sulle chiusure.

Perché:

1. Prezzi di apertura. Una barra aperta sul primo strumento. Si apre una barra sul secondo strumento. Durante questo periodo, ci possono essere più tick sul primo strumento, e quindi lo spread calcolato può essere errato.

2. Per i prezzi di chiusura. Possiamo essere sicuri che al momento della chiusura della barra abbiamo le quotazioni attuali, quindi lo spread calcolato sarà corretto.

 

Forse gli strumenti (EURUSD+GOLD) potrebbero essere un buon tandem.

Oggi ho provato manualmente a usare segnali di induttori su tf=m5 - sperimentato.

Ecco il risultato:

//--------------------------------------------------

19934111 2010.01.11 09:53 vendere 0,30eurusd 1,4516 0,0000 0,0000 2010.01.11 11:27 1,4508 + 24,00
19934099 2010.01.11 09:53 comprare 0,30gcg0 1157,1 0,0 0,0 2010.01.11 11:27 1157,0 -3,00


19937919 2010.01.11 12:18 comprare 0,30gcg0 1158,1 0,0 0,0 2010.01.11 12:34 1159,7 +48,00
19937915 2010.01.11 12:17 vendere 0,30eurusd 1,4537 0,0000 0,0000 2010.01.11 12:34 1,4543 -18,00
//----------------------------------------------------------
E ora la "copertura" attuale (c_euro+b_gold) è aperta