RaptorUK: Sì, penso che lo siamo... basta fare attenzione se il tuo uso di CCI significa che "ridisegna"... potrebbe andare avanti e indietro sopra i 100 molte volte durante una barra
Ho modificato il codice dell'indicatore personalizzato CCI che viene fornito con MT4 come segue
//I added this global input variableexternint AppliedPrice = 1; //1 means open price, and 5 means typical. see https://docs.mql4.com/constants/prices//within the start() function, I changed this
MovBuffer[i] = iMA(NULL, 0, CCIPeriod, 0, MODE_SMA, AppliedPrice, i);
Quando ho lasciato questo sul grafico insieme all'indicatore commodity channel index (quello che non abbiamo accesso al suo codice). Entrambi hanno dato lo stesso valore per il tipico, ma un valore diverso per l'aperto!
Ho modificato il codice dell'indicatore personalizzato CCI che viene fornito con MT4 come segue
Quando ho fatto cadere questo sul grafico insieme all'indicatore commodity channel index (quello che non abbiamo accesso al suo codice). Entrambi hanno dato lo stesso valore per il tipico, ma un valore diverso per l'aperto!
Ho ripulito il codice e ho mantenuto solo un trigger CCI puro e solo un codice per l'apertura della posizione basato sulla chiusura di una candela. Qualcuno può spiegare perché questa posizione è stata aperta? E' perché l'EA non ha aspettato la chiusura di una candela per prendere il trigger CCI? Se sì, come possiamo risolvere il problema?
Puoi per favore guardarlo e vedere perché si comporta in questo modo?
Non stai guardando i valori CCI delle barre 1 e 2? La candela dove è stato piazzato l'ordine era la barra 0 in quel momento... non importa che il suo valore CCI fosse alla fine 127...
Dalla tua immagine sembra che sia CCI1[1] che CCI1[2] siano inferiori a 100, quindi il Sell non dovrebbe essere avvenuto... aggiungi un'istruzione di stampa per stampare questi dati e riesegui il tutto nello Strategy Tester così puoi vedere cosa sta succedendo...
aptorUK: Dalla tua immagine sembra che sia CCI1[1] che CCI1[2] siano inferiori a 100, quindi la vendita non dovrebbe essere avvenuta. ...aggiungi un'istruzione di stampa per stampare questi valori e riesegui il tutto nello Strategy Tester così puoi vedere cosa sta succedendo...
Ciao Raptor,
Ho aggiunto questa linea
Print(CCI1[2] + " | " + CCI1[1]);
L'ho messa live e sono stati attivati 1 short e 1 long. La 1a posizione è stata aperta dopo la chiusura di una candela in cui il CCI è passato sotto 100. Mentre la 2a posizione proprio alla candela in cui il CCI è passato sopra a -100! Per me mi aspetto che l'EA faccia sempre come la 1a, non so perché diventa lunatico così!
Ecco i risultati della stampa
2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612
2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 (Questa linea non mach i valori corretti!)
Sì, penso che lo siamo... basta fare attenzione se il tuo uso di CCI significa che "ridisegna"... potrebbe andare avanti e indietro sopra i 100 molte volte durante una barra
Ho modificato il codice dell'indicatore personalizzato CCI che viene fornito con MT4 come segue
Quando ho lasciato questo sul grafico insieme all'indicatore commodity channel index (quello che non abbiamo accesso al suo codice). Entrambi hanno dato lo stesso valore per il tipico, ma un valore diverso per l'aperto!
Qualcuno ha un'idea?
tapo
Ho modificato il codice dell'indicatore personalizzato CCI che viene fornito con MT4 come segue
Quando ho fatto cadere questo sul grafico insieme all'indicatore commodity channel index (quello che non abbiamo accesso al suo codice). Entrambi hanno dato lo stesso valore per il tipico, ma un valore diverso per l'aperto!
Qualcuno ha un'idea?
tapo
Hai uno screenshot di questi?
http://i39.tinypic.com/2e1vvav.png
http://i41.tinypic.com/21o55e1.png
Ciao,
Ho ripulito il codice e ho mantenuto solo un trigger CCI puro e solo un codice per l'apertura della posizione basato sulla chiusura di una candela. Qualcuno può spiegare perché questa posizione è stata aperta? E' perché l'EA non ha aspettato la chiusura di una candela per prendere il trigger CCI? Se sì, come possiamo risolvere il problema?
http://i40.tinypic.com/znmmue.png
Saluti,
tapo
In qualche modo non ho potuto ottenere alcun allegato. Ecco l'EA.
http://www.4shared.com/folder/uzm1fNWV/_online.html
Puoi per favore guardarlo e vedere perché si comporta in questo modo?
In qualche modo non ho potuto ottenere alcun allegato. Ecco l'EA.
http://www.4shared.com/folder/uzm1fNWV/_online.html
Puoi per favore guardarlo e vedere perché si comporta in questo modo?
Non stai guardando i valori CCI delle barre 1 e 2? La candela dove è stato piazzato l'ordine era la barra 0 in quel momento... non importa che il suo valore CCI fosse alla fine 127...
Dalla tua immagine sembra che sia CCI1[1] che CCI1[2] siano inferiori a 100, quindi la vendita non dovrebbe essere avvenuta. ...aggiungi un'istruzione di stampa per stampare questi valori e riesegui il tutto nello Strategy Tester così puoi vedere cosa sta succedendo...
Ciao Raptor,
Ho aggiunto questa linea
L'ho messa live e sono stati attivati 1 short e 1 long. La 1a posizione è stata aperta dopo la chiusura di una candela in cui il CCI è passato sotto 100. Mentre la 2a posizione proprio alla candela in cui il CCI è passato sopra a -100! Per me mi aspetto che l'EA faccia sempre come la 1a, non so perché diventa lunatico così!
Ecco i risultati della stampa
2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612
2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 (Questa linea non mach i valori corretti!)
Non vedo nulla di sbagliato in questo esempio.
Il tuo codice è questo per acquistare e vendere
Questi valori rientrano in quegli intervalli . . .
2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612 <------- per VENDERE
2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 <------ per COMPRA
Se trovi un problema quando il tuo codice sta funzionando...riesegui l'area del problema da cui hai postato l'immagine usando lo Strategy Tester.