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.
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.
Вот сейчас прогнал советник (лот=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?
Всем привет. Действительно, число баров разное на графиках, хотя история тестирования задана одинаковая.
Видимо нужно определить, с какой даты(с какой глубины) начинается корректная история котировок по обоим инструментам.
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?
Не нужно. Это -- частое явление для инструментов, у которых бывают периоды пониженной ликвидности. За минуту просто не пришел ни один тик, бар пропущен.
Да.
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.
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
Уважаемые господа, кто знает как считается коинтеграция? Может кто помочь?
Qui.
Конечно спасиб, а на рсуском не знаешь ресурсов ?
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.
Вот сейчас прогнал советник (лот=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 :
è 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...
.
Всем привет. Действительно, число баров разное на графиках, хотя история тестирования задана одинаковая.
Видимо нужно определить, с какой даты(с какой глубины) начинается корректная история котировок по обоим инструментам.
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
Не нужно. Это -- частое явление для инструментов, у которых бывают периоды пониженной ликвидности. За минуту просто не пришел ни один тик, бар пропущен.
Да.
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