Forum
Bonjour à tous,
Je vous propose aujourd'hui de découvrir l'indicateur technique COT MT4 d'Eole : http://www.eole-trading.com/blog/indicateur-cot /"> http://www.eole-trading.com/blog/indicateur-cot/
C'est celui que j'utilise pour le COT report. Eole proposera dans quelques jours une vidéo pour lire l'indicateur.
A- Installation de l'indicateur
Le dossier RaR se trouve dans le message suivant : /forum2/phpBB3/viewtopic.php?f=26&t=560&p=1913#p1913
Le fichier Rar une fois téléchargé doit être décompressé avec Winrar :http://www.clubic.com/telecharger-fiche9632-winrar.htm l"> http://www.clubic.com/telecharger-fiche9632-winrar.html
Contenu du fichier Rar :
1) L'indicateur COT : COT EOLE TRADING v1.ex4
2) Un exécutable de mise à jour COT EOLE TRADING v1.0.exe pour les 8 données forex suivantes
3) Un fichier EUR.csv
4) Un fichier AUD.csv
5) Un fichier CHF.csv
6) Un fichier CAD.csv
7) Un fichier JPY.csv
8) Un fichier NZD.csv
9) Un fichier GBP.csv
10) Un fichier USD.csv
a. L'indicateur décompressé COT EOLE TRADING v1.ex4 doit être placé dans le dossier C:Program FilesMetaTraderexpertsindicators
b. L'exécutable de mise à jour COT EOLE TRADING v1.0.exe reste dans votre dossier de téléchargement
c. Les fichiers Csv doivent être mis dans : C:Program FilesMetaTraderexpertsfiles
b. Fermez Mt4 et ouvrez le de nouveau
d. Cliquez sur l’icône Navigateur (celui avec un dossier et une étoile) et retrouvez le dans Indicateurs Programmés
B- Mise en place de l'indicateur
a. Ouvrez un graphique EurUsd
b. Exécutez le programme de mise à jour
c. Cliquez dans la barre d'adresse du programme
d. Choisir le dossier d'installation de MT4 (souvent c'est : C:Program FilesMetaTrader)
e. Cliquez sur Mise à jour
f. Attendez environ entre 1 et 2 minutes que l’exécutable mette à jour les 8 historiques Forex
g. Le programme dit : La mise à jour est terminée. Les fichiers sont placés dans C:Program FilesMetaTraderexpertsfiles
Si l'indicateur n'apparaît pas sur le graphique ou bien il apparaît mais pas les courbes
a. Supprimez l'indicateur en cliquant avec le bouton droit de la souris sur le graphique et cliquez sur supprimer indicateur
b. Cliquez sur l’icône Navigateur (celui avec un dossier et une étoile) et retrouvez le dans Indicateurs Programmés
c. Faites glisser l'indicateur sur le graphique
d. Mettez l'UT du graphique sur Weekly (pour l'instant)
Si cela fonctionne on obtient :
[attachment=0:1wssb5a1]étape 1.jpg[/attachment:1wssb5a1]
C- Description
L’indicateur vous permet d’afficher les données du rapport COT pour les devises suivantes : EUR, USD, GBP, JPY, CAD, NZD, CHF et AUD
a. Cliquez avec le bouton droit de la souris sur le graphique et allez dans Lister indicateur
b. Sélectionnez l'indicateur et cliquez sur Editer : Le premier paramètre à choisir est donc la devise dont vous désire afficher les données dans le paramètre sDevise. Les paramètres suivants permettent de sélectionner si vous désirez afficher les données pour la catégorie d’investisseurs Non commerciaux (spéculateurs) et/ou commerciaux (entreprises). Le dernier paramètre vous permet de transformer les données en pourcentage.
D- Manipulation de l'indicateur
Le programme est verrouillé et on ne peut accéder au code. L'indicateur possède une base de donnée CSV. C'est une extension de fichiers dont les données sont exploitables sous Excel (cf. image suivante).
a. Allez dans le dossier C:Program FilesMetaTraderexpertsfiles
b. Ouvrez le fichier EUR.csv. Excel doit s'ouvrir et afficher :
[attachment=2:1wssb5a1]Eur.csv.jpg[/attachment:1wssb5a1]
Il n'y a qu'une colonne dans les fichiers Csv et les données sont séparées par des virégules. Voici la structure réelle de la ligne :
Date, Date, Nombre de contrat ouvert, Positions long Commercial, Position Short Commercial, Positions long Larges Speculator, Position Short Larges Speculator, Positions long Smalls Speculator, Position Short Smalls Speculator
Dans sa version gratuite l'indicateur affiche la position nette Commercial et la position nette Large Speculator. Il fait la soustraction chaque semaine entre les contrats long et short des Commercial. Cela donne un point graphique de couleur verte. Et il fait la soustraction entre les contrats long et shorts des Larges Speculator. Cela donne un point graphique de couleur rouge. En revanche on ne peut pas activer la la position nette des Small Speculator.
Traduction de la ligne pour votre besoin (exemple) :
Dans la première courbe (la verte) vous voulez afficher les deux derniers points à une valeur de 200 pour les 18 et 25 septembre 2012. Dans la seconde (courbe rouge) voulez afficher les deux derniers points à une valeur de 100.
Vous devez créez un tableau Excel. Appelez le "Matrice CSV" et doit se construire ainsi (cf image suivante) :
[attachment=1:1wssb5a1]Construction Matrice.jpg[/attachment:1wssb5a1]
Pour ceux qui ne veulent pas créer le tableau ou qui ne peuvent pas, envoyez moi un mail en MP et je vous l'envoie.
Exemple ou l'historique doit afficher 200 pour la courbe verte et 100 pour la courbe rouge
Ne regardons que la ligne 2. Nous retrouvons les deux première colonnes avec des dates aux formats différents. Peu importe vous devez gardez ces formats. Le point graphique de la courbe verte est la soustraction de la donnée A et B, soit 200-0=200. Peu importe aussi les nombres que vous mettez du moment que le résultat de la soustraction soit égal à 200. Raisonnement similaire pour les données de la courbe rouge avec un résultat de 100.
Dans la colonne K, il y a une formule qui traduit l'ensemble de vos données en ligne csv. La formule Excel de la matrice qui crée une ligne au format CSV pour être lue par l'indicateur est exactement la suivante :
=+A2& " " & B2& " " & C2& ", " & D2& ", " & E2& ", "& F2& ", " & G2& ", " & H2& ", " & I2
Copiez cette formule dans la colonne K
Chaque ligne de votre tableau doit donc représentée un point graphique pour chacune des dates, vous pouvez utiliser l'UT jour si votre historique est journalier (comme les New-High New Low du Dr Elder par exemple) et ce pour chacune des deux courbes.
Pour notre exemple l'indicateur à été modifié de la manière suivante :
a. Sélectionner la colonne K et copiez la
b. Allez dans le fichier Eur.csv et sélectionner la colonne A
c. Faites collage spécial et choisissez Valeurs
d. Supprimer la première ligne ou il y a marqué : Matrice eur.csv
e. Fermez le fichier Eur.csv et Excel vous demande si vous voulez le sauvegarder, cliquez Oui, il vous demande ensuite si c'est ok pour le format Csv, cliquez Oui
f. Fermez Mt4 et ouvrez le de nouveau
.../...
Vous devriez obtenir la modification suivante :
[attachment=1:39f0crys]exemple indic 2 à 200 et 100.jpg[/attachment:39f0crys]
Vous avez détournez l'indicateur : Bravo à Vous !
To be continued...
Mon Programme pour les semaines suivantes :
Semaine 41 : Quelques manipulation sur l'indicateur et comment réaliser le stochastique d'un historique et de l'intégrer dans MT4 via l'indicateur COT.
Semaine 42 : Importations des archives de MT4 pour l'indice CAC et DAX. Nous placerons les données UT4H dans l'indicateur et on tentera de réaliser un indicateur de sur performance DAX/CAC. La contrainte sera qu'il ne sera pas en temps réelle.
Semaine 43 : Développement d'une mini application communiquante via DDE entre Excel et MT4 qui actualisera en permanence les prix du CAC et du DAX, multiplié à la valeur de l'expo. Nous pourrons définir en temps réel quand l'un des indices superforme l'autre. Me reste à trouver un style graphique.
Semaine 44 : Développement d'une mini application communiquante via DDE entre Excel et MT4 qui vous diras qd couper, financer et terminer une position en fonction des règles de MM que vous devez respecter dans votre système de trading. L'appli est plus ou moins prête mais je dois mieux la présenter.
Bien à vous
Bagi !
Semaine 41 : Quelques manipulation sur l'indicateur et comment réaliser le stochastique d'un historique et de l'intégrer dans MT4 via l'indicateur COT.
Bonjour à tous,
Aujourd’hui je vous propose de découvrir le schéma général des manipulations des historiques afin de maîtriser un peu plus l'indicateur. Nous verrons ensuite un exemple lié à la réalisation d'un stochastique.
A- Manipulations
A la base l'indicateur original et selon l'exemple du message précédant oú nous avons choisi l'Eur/Usd, il va puiser les données dans le dossier C:Program FilesMetaTraderexpertsfiles un des 8 historiques Forex,dans notre cas le fichier Eur.Csv.
Organigramme de l'indicateur COT
[attachment=2:1a2avgdb]organigramme 1.jpg[/attachment:1a2avgdb]
Correspondance des variables et du tableau Excel Matrice CSV :
Les variables initiales de l'indicateur 1 sont :
SDevise = EUR
bAfficherNonCommercial = true (Courbe Rouge)
bAfficherCommercial = true (Courbe Verte)
bPourcentage = false
[attachment=1:1a2avgdb]Variables image 1.jpg[/attachment:1a2avgdb]
Courbe Verte = Colonne D moins Colonne E et ce pour chaque ligne datée
Courbe Rouge = Colonne F moins Colonne G et ce pour chaque ligne datée
UT Weekly
[attachment=0:1a2avgdb]Variables image 2.jpg[/attachment:1a2avgdb]
Insertion d'un second indicateur
Dans notre exemple nous n'avons qu'un seul indicateur : l'indicateur 1 (nous n'avons fait glisser l'indicateur qu'une seul fois sur le graphique). Si je veux deux indicateurs il me faudra glisser une seconde fois l'indicateur depuis la fenêtre navigateur vers le graphique. La question est : mais ou vais-je puiser des informations supplémentaires sur L'Eur/Usd puisque l'indicateur 2 prendra ses données aussi de Eur.csv ? Et bien dans un autre fichier Csv comme Le Aud.csv mais avec des données de L'Eur/usd. Pour cela je crée un deuxième onglet similaire à l'onglet Eur.csv que je nomme Aud.csv. Nous mettons donc les même données que Eur.csv mais la formule Csv sera copié dans le fichier Aud.csv. En revanche dans les variable nous mettrons SDevise = AUD et voilà le tour est joué. C'est ce que je vous propose de découvrir dans le paragraphe suivant.
💡 Astuces : Pour aller plus loin je vous conseille de sauvegarder tous les modifications apportés à votre graphique dans un modèle TEMPLATE" avec l'UT ainsi votre configuration graphique sera rappelée même si vous faites des erreurs de manipulation.
Suite...
.../...
C- Exemple Finale du COT (punaise encore le COT !) avec l'indicateur stochastique
Précisions :
Le stochastique donne un résultat en pourcentage qui est comprit en 0 et 100 et ne permet pas d'afficher les valeurs négatives issues des positionnement nets négatifs. Je propose une méthode de calcul qui va rendre (relativement) supérieur à 0 toutes valeurs négatives des positionnements nets. Pour ceux (Stèph) qui trouvent que ma méthode peut-être améliorée, merci pour vos commentaires.
Nous partons d'une constante Y (> 0) à retrancher au résultat d'une équation dont nous avons la valeur du Stochastique et ce pour chacune des lignes
La formule est la suivante :
X (valeur que l'on recherche et que l'on mettra dans la première colonne) = [Y (constante à retrancher de la deuxième colonne) x Sto) / (1-Sto)] soit :
X=[(Y x Sto) / (1-Sto)]
Si le Stochastique est égale à 1, la division par = étant impossible je retranche 0.02 à la valeur du stochastique pour lui donner une valeur de 0.98
Les variables changent car les courbes Stochastiques sont affichées en pourcentage
SDevise = AUD
bAfficherNonCommercial = true
bAfficherCommercial = true
bPourcentage = true
Formule stochastique :
[(Clôture - plusBas(p)) / plusHaut(p) - plusBas(p)] * 100. "p" étant la période
Dans notre exemple Matrice CSV...
Stochastique de la courbe A (Open Interest) sur les volumes des contrats COT
[attachment=2:3p9do0t1]matricecsv pour plusieurs indicateurs.jpg[/attachment:3p9do0t1]
a. Ouvrez un second onglet
b. Colonnes A et B : les dates au format vu précédemment que l'on ne peut changer
c. Colonne C : Historique des volumes de contrat
d. Colonne D : Formule Stochastique des volumes =+ARRONDI(($C2-MIN($C2:$C156))/(MAX($C2:$C156)-MIN($C2:$C156));2)
e. Colonne E : La division par 0 est impossible alors quand le Stochastique = 1, je le modifie en 0.98 avec la formule suivante : =+SI(D2=1;0.98;D2)
f. Colonne F : formule =+(G2*E2)/(1-E2)
g. Colonne G : Définition de la constante > 0 = 25000 (petite valeur en dizaine de milliers à retrancher et relativement correspondante au nombre de contrat qui peuvent atteindre 450'000)
Dans notre exemple le Stochastique de la ligne 3 =
(218363 (le nombre de contrat du 25.09.2012) - 132017(la valeur minimum du nombre de contrat sur 156 semaines )) / ((422131(la valeur maximum du nombre de contrat sur 156 semaines)-132017(la valeur minimum du nombre de contrat sur 156 semaines ))
Soit 218363-132017/422131-132017 = 0.30
le Stochastique de la ligne 18 =
(422131 (le nombre de contrat du 12.06.2012) - 114921(la valeur minimum du nombre de contrat sur 156 semaines )) / ((422131(la valeur maximum du nombre de contrat sur 156 semaines)-114921(la valeur minimum du nombre de contrat sur 156 semaines ))
Soit 422131-114921/422131-114921 = 1
Organigramme de détournement
[attachment=1:3p9do0t1]organigramme 2.jpg[/attachment:3p9do0t1]
💡 Astuce : Pour aller plus loin et avoir plusieurs indicateurs issues d'historiques pour plusieurs sous-jacents nous créerons un dossier Eur et nous y copierons l'ensemble des fichiers Forex (http://cjoint.com/12oc/BJgjOk2rlUp.ht m"> http://cjoint.com/12oc/BJgjOk2rlUp.htm ). Nous pourrons ainsi les ressortir quand nous le désirerons et les reactualiser. Nous les copierons une nouvelle fois dans le dossier Eur. Si nous voulons utiliser cette fois l'indicateur pour un nouveau sous-jacent, nous créerons un dossier du nom du nouveau sous jacent. Une fois les manip terminé. Nous sauvegarderons les fichiers Forex dans ce nouveau dossier et nous n'oublierons pas de créer un nouveau TEMPLATE au nom du nouveau sous-jacent avec l'UT.
Un petit avant gout (UTD) du module de la semaine prochaine (42) : Importations des archives de MT4 pour l'indice CAC et DAX 😆 .....
Finalité : Exemple CAC DAX mais pas en temps reel
Vous pouvez désormais importer des données de MT4 de Outils/Archives et l’enregistrer dans C:Program FilesMetaTrader
a. Ouvrir le fichier Csv avec excel
b. Sélectionner la colonne A (cela sélectionne toutes les lignes)
c. Puis menu Données/convertir, indiquer le type de séparateur dans notre cas ne sélectionner que la coche virégule
d. Ensuite ne pas oublier d'enregistrer au format xls sinon le fichier se remet en .csv et la on retouve toutes les infos en colonne A
e. Créer la matrice sur le même fichier
Résultat:
[attachment=0:3p9do0t1]DAXCAC.jpg[/attachment:3p9do0t1]
Bien à vous et bon week-end
Bagi!
Bonjour à tous,
La vidéo de lecture du COT : http://www.eole-trading.com/blog/analyse-cot-de-la-semaine-du-1-au-5-octobre /"> http://www.eole-trading.com/blog/analyse-cot-de-la-semaine-du-1-au-5-octobre/
Pour ceux qui veulent tous les fichiers proposés dans les postes de l'indic cot sans passer par win rar mais via drop cloud ----> veuillez m'envoyer vos mails en MP
@+ bon dimanche
Bagi !
Bonjour à tous,
Dans le fichier Excel suivant vous trouverez dans l'onglet MATRICE la formule (colonne K) pour récupérer les données et les convertir en vue du transfert. Elle est différente car l'origine des csv est MT4.
La formule :
=+A1& " " & B1& " " & C1& ", " & D1& ", " & E1& ", "& F1& ", " & G1& ", " & H1& ", " & I1
La formule pour journalier :
=","&ANNEE('DAX UT15'!A1)&"."&TEXTE(MOIS('DAX UT15'!A1);"00")&"."&JOUR('DAX UT15'!A1)&","
La formule pour les heures et les minutes :
=","&HEURE('DAX UT15'!B1)&"."&TEXTE(MINUTE('DAX UT15'!B1);"00")&","
La formule pour les deux combinés :
=","&ANNEE('DAX UT15'!A1)&"."&TEXTE(MOIS('DAX UT15'!A1);"00")&"."&JOUR('DAX UT15'!A1)&" "&HEURE('DAX UT15'!B1)&":"&TEXTE(MINUTE('DAX UT15'!B1);"00")&","
Résultat : DAX en vert et CAC en rouge UT15
[attachment=0:3vmnqzde]DAXCACUT15.jpg[/attachment:3vmnqzde]
L'indicateur DAX CAC n'est pas encore au point car j'ai profondément travaillé mon MM cette semaine. En revanche vous trouverez dans l'onglet TEMPS REEL les formules de communication instantanées entre Mt4 et Excel. Celles des High, Clout, et Low dans les colonnes C et D. Ce sont les plus simples. A partir de ces dernières l'horizon d'exploitation peut grandement s'élargir pour un fichier de gestion de vos positions en temps réel à partir des règles de MM (Exemple la semaine prochaine).
Si cela ne fonctionne pas vous pouvez directement faire glisser les sous jacents depuis la fenêtre OBSERVATION DU MARCHE vers une cellule Excel. Vous changerez NAME par HIGH, BID ou ASK et LOW.
Pour l'instant le graphique actualise en temps réel la performance sur/sous DAX CAC mais ne peut être exploité tant qu'il n'y aura pas d'historique sauvegardé et actualisé sous forme de courbe toutes les 15 minutes (j'y travaille).
Pour que l'appli fonctionne il faut :
1) Aller dans Outils/ Options
2) Cocher la case Autoriser Serveur DDE
3) Les marchés doivent-être ouverts
4) Ouvrir et fermer MT4
5) Le fichier DAX CAC doit être fermé et ouvert chaque jour et vous devez accepter : activer les liaisons avec d'autres classeurs en l’occurrence MT4
UTD
Lien Drop Cloud : https://www2.wesend.com/redirect?p=ratuk0765 5"> https://www2.wesend.com/redirect?p=ratuk07655
Ce fichier sera disponible jusqu'au 20/10/2012
Lien Cjoint : http://cjoint.com/12oc/BJnlmHH4wv0.ht m"> http://cjoint.com/12oc/BJnlmHH4wv0.htm
Si le lien ne fonctionne plus je vous enverrais les fichiers via email en MP
UT15
Lien Drop Cloud : https://www2.wesend.com/redirect?p=guewg7869 3"> https://www2.wesend.com/redirect?p=guewg78693
Ce fichier sera disponible jusqu'au 20/10/2012Lien Cjoint : http://cjoint.com/12oc/BJnlmHH4wv0.ht m"> http://cjoint.com/12oc/BJnlmHH4wv0.htm
Si le lien ne fonctionne plus je vous enverrais les fichiers via email en MP
@+ bon Week End
Bagi !
bonjour,j'ai converti le fichier text en fichier excel en .xls et .csv
sur le fchier on les ordres la devise ,le sens(buy ou sell) le temps ouverture et fermeture du trade
comment mettre les points sur graphique mt4?
comment envoyer le fichier ou son image sur le forum?
merci
Bonjour Jugurtha,
Merci pour votre intéret. Il vous faut nommer les plages via le menu InsertionNomDéfinir et ainsi pouvoir utiliser les formules de Validation Matricielle (http://www.excelabo.net/pasapas/matricielles )"> http://www.excelabo.net/pasapas/matricielles) pour obtenir les données recherchées, ensuite il faut convertir les données sous CSV comme les nombreux exemples que je donne et les faire lire par l'indicateur COT quelques soient les données d'ailleurs !
Voilà, je reste à votre disposition pour d'autres questions.
Votre indicateur MT4 par CSV en 1 clic
Téléchargement Matrice CSV pour Eur Usd : http://cjoint.com/12nv/BKlpbKzVfNm.htm
[attachment=2:3n67n8li]Image1.jpg[/attachment:3n67n8li]
Dossier d'installation : C:Program FilesMetaTraderexpertsfiles
La matrice est déjà à jour.
Je télécharge le fichier Annual depuis le site du COT : http://www.cftc.gov/files/dea/history/dea_fut_xls_2012.zi p"> http://www.cftc.gov/files/dea/history/dea_fut_xls_2012.zip
Le bouton MAJ Matrice va chercher dans C:Mes documentsDownloadsdea_fut_xls_2012Annual.xls (une fois dézipé) les infos de mardi passé et les colle dans la ligne 2. Le bouton supprimer ligne ne doit pas être touché à moins que l'on est insérer deux lignes par erreur.
[attachment=0:3n67n8li]Image4.jpg[/attachment:3n67n8li]
Le bouton Creation Csv crée les fichiers csv dans le dossier files
[attachment=1:3n67n8li]Image3.jpg[/attachment:3n67n8li]
Une fois les fichiers Csv crées, ouvrez Mt4 et un graphique Eur/usd appliquez lui le template "cot" des messages précédents sinon voici un nouveau : [url] http://cjoint.com/12nv/BKlpvGzglpT.htm
[/url] qui s'appelle "cotx.tpl" Fermez Mt4 et ouvrez de nouveau le tour est joué.
Le code reste ouvert pour vos adaptations d'adresse. Bogue que vous pourriez rencontrer :
1) Sous-procédure MajMatrice, changer l'adresse qui amène à Annual.xls
Sub MajMatrice()
'10.11.2012
'
Workbooks.Open Filename:= _
"C:Documents and SettingsBruno GiaconiaMes documentsDownloadsdea_fut_xls_2012annual.xls"
Cells.Select
...
2) Adresse des CSV
Sub CreationCSV()
'enregistrée le 10.11.2012'Eur
Sheets("Eur.csv=PN COM").Select
Columns("K:K").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesEUR.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close'Aud
Modifiez l'adresse qui mène à Eur.csv etc...
J’essaierais d'améliorer par des Input Box (boite de dialogue). Bref Le but final de cette petite appli sera de pouvoir en un clic tirer les graphiques COT de tous les sous-jacent proposé dans annuals.xls et surtout d'extraire les archives Mt4 en 1 clic et de les conjuguer avec le temps reél. cf ébauche d'appli Money Management Journal Dynamique /forum2/phpBB3/viewtopic.php?f=12&t=571&p=1981#p1981
THE END
Bonjour à toutes et à tous,
Ne sachant pas réaliser d’exécutable pour l'instant, mon travail sur l'automatisation des indicateurs du COT Report - EUR USD est terminé. Ce travail a commencé il y a tout juste un an et je tiens à dédier ce travail à Stéphane qui m'a toujours poussé à aller plus loin dans la recherche et la précision.
Je remercie Jérome Revillier (d'Eole) d'avoir diffuser gratuitement cet indicateur que je pense avoir bien exploité en tant qu'amateur.
Bien sur sans Gilles tout cela n'aurait pas pu voir le jour.
Voici le lien du fichier.Rar qui est supérieur à 256ko : http://cjoint.com/12dc/BLcmaln39oG.ht m"> http://cjoint.com/12dc/BLcmaln39oG.htm et le template : [attachment=0:1t60ep6n]cot.rar[/attachment:1t60ep6n]
J'ai corrigé les bugs Date.
Annual se télécharge ici : http://www.cftc.gov/files/dea/history/dea_fut_xls_2012.zi p"> http://www.cftc.gov/files/dea/history/dea_fut_xls_2012.zip et doit-être dézzippé dans le dossier en gras dans le code ou celui de votre choix mais doit correspondre au code.
Pour ceux qui ne veulent pas le télécharger je vous fournis le code et les phrases en gras concernent l’accessibilité et doivent être modifiées par vous même.
Bien à vous tous
Bagi !
[attachment=1:1t60ep6n]bagi.gif[/attachment:1t60ep6n]
Sub MajMatrice()
'10.11.2012'Ouvre le fichier annual dans le dossier dans le dossier "Downloads", Copie les données de "Annual.xls"
'Colle les données sur l'onglet Annual du fichier en cours "Matrice Csv pour EurUsd.xls" et ferme "Annuals.xls"
Workbooks.Open Filename:= _
"C:Mes documentsdea_fut_xls_2012annual.xls"
Cells.Select
Selection.Copy
Windows("Matrice CVS pour EurUSd.xls").Activate
Sheets("Annual").Select
Application.CutCopyMode = False
Selection.AutoFilter
Cells.Select
Windows("annual.xls").Activate
Cells.Select
Selection.Copy
Windows("Matrice CVS pour EurUSd.xls").Activate
Cells.Select
ActiveSheet.Paste
Windows("annual.xls").Activate
ActiveWindow.Close'Selection ligne à copier dans "Annual" (l'onglet)
'Je nomme les plages de Annual
'
Application.CutCopyMode = False
ActiveWorkbook.Names.Add Name:="market", RefersToR1C1:= _
"=OFFSET(Annual!R2C1,,,COUNTA(Annual!C1)-1,1)"
ActiveWorkbook.Names.Add Name:="asdate", RefersToR1C1:= _
"=OFFSET(Annual!R2C2,,,COUNTA(Annual!C2)-1,1)"
ActiveWorkbook.Names.Add Name:="date", RefersToR1C1:= _
"=OFFSET(Annual!R2C3,,,COUNTA(Annual!C3)-1,1)"
ActiveWorkbook.Names.Add Name:="open_interest", RefersToR1C1:= _
"=OFFSET(Annual!R2C8,,,COUNTA(Annual!C8)-1,1)"
ActiveWorkbook.Names.Add Name:="noncomm_long", RefersToR1C1:= _
"=OFFSET(Annual!R2C9,,,COUNTA(Annual!C9)-1,1)"
ActiveWorkbook.Names.Add Name:="noncomm_short", RefersToR1C1:= _
"=OFFSET(Annual!R2C10,,,COUNTA(Annual!C10)-1,1)"
ActiveWindow.SmallScroll Down:=-18
ActiveWorkbook.Names.Add Name:="comm_long", RefersToR1C1:= _
"=OFFSET(Annual!R2C12,,,COUNTA(Annual!C12)-1,1)"
ActiveWorkbook.Names.Add Name:="comm_short", RefersToR1C1:= _
"=OFFSET(Annual!R2C13,,,COUNTA(Annual!C13)-1,1)"
ActiveWorkbook.Names.Add Name:="small_long", RefersToR1C1:= _
"=OFFSET(Annual!R2C16,,,COUNTA(Annual!C16)-1,1)"
ActiveWorkbook.Names.Add Name:="small_short", RefersToR1C1:= _
"=OFFSET(Annual!R2C17,,,COUNTA(Annual!C17)-1,1)"
Columns("R:DU").Select
Selection.Delete Shift:=xlToLeft
Cells.Select
Selection.AutoFilter'insertion ligne 2
Sheets("Eur.csv=PN COM").Select
Rows("2:2").Select
Selection.Copy
Selection.Insert Shift:=xlDown'Création des formules pour actualisation des dates
Range("A1").Select
ActiveCell.FormulaR1C1 = "=+Annual!R[1]C[1]"
Range("B1").Select
ActiveCell.FormulaR1C1 = "=+Annual!R[1]C[1]"
Rows("2:2").Select
Selection.NumberFormat = "0"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=+""20""&R[-1]C"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=TEXT(R[-1]C,"",aaaa.mm.jj,"" )"'insertion donnée par validation
Sheets("Annual").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:= _
"EURO FX - CHICAGO MERCANTILE EXCHANGE"
Sheets("Eur.csv=PN COM").Select'Inspiration pour passer des formules de validation Matricielle depuis Excel à VBA
'Selection.FormulaArray = _
' "=INDEX('Matrice CVS pour EurUSd.xls'!open_interest,MATCH(1,('Matrice CVS pour EurUSd.xls'!asdate=R[-1]C[-2])*('Matrice CVS pour EurUSd.xls'!date=R[-1]C[-1]),0))"
'=INDEX(open_interest;EQUIV(1;(asdate=A1)*(date=B1);0))
'=INDEX('Annual'!open_interest;EQUIV(1;('Annual'!asdate=A1)*(''Annual'!date=B1);0))'Recherche par validation matricielle
Range("C2") = Evaluate("INDEX(Annual!open_interest,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("D2") = Evaluate("INDEX(Annual!noncomm_long,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("E2") = Evaluate("INDEX(Annual!noncomm_short,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("F2") = Evaluate("INDEX(Annual!comm_long,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("G2") = Evaluate("INDEX(Annual!comm_short,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("H2") = Evaluate("INDEX(Annual!small_long,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")
Range("I2") = Evaluate("INDEX(Annual!small_short,match(1,(Annual!asdate=A1)*(Annual!market=""EURO FX - CHICAGO MERCANTILE EXCHANGE""),0))")'inserer et copier dans la nouvelle ligne ds les 4 autres feuilles nécessaires aux 4 autres indics
'le premier indic et le 5ème puisent dans les données dans l'onglet "Eur.csv=PN COM"Sheets("Aud.csv=STO COM").Select
Rows("2:2").Select
Selection.Copy
Rows("2:2").Select
Selection.Insert Shift:=xlDownSheets("CAD.csv=PN Small").Select
Rows("2:2").Select
Selection.Copy
Rows("2:2").Select
Selection.Insert Shift:=xlDownSheets("GPB.csv=STO Small").Select
Rows("2:2").Select
Selection.Copy
Rows("2:2").Select
Selection.Insert Shift:=xlDownSheets("JPY.csv=STO Large").Select
Rows("2:2").Select
Selection.Copy
Rows("2:2").Select
Selection.Insert Shift:=xlDownSheets("Eur.csv=PN COM").Select
Call CopieLesDatesTextes
End Sub
Sub CopieLesDatesTextes()
'transforme les dates en texte pour stockage :'Puisque ces dates doivent-être stockées et non plus actualisées
'Car la création de la seconde ligne à répetée les formules : ce que nous ne voulons plus
Range("A2:B2").Select
Application.CutCopyMode = False
Selection.Copy
Range("A2:B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A3:B3").Select
Application.CutCopyMode = False
Selection.Copy
Range("A2:B2").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End WithEnd Sub
Sub CreationCSV()
'enregistrée le 10.11.2012'Eur
Sheets("Eur.csv=PN COM").Select
Columns("K:K").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesEUR.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close'Aud
Sheets("Aud.csv=STO COM").Select
Columns("P:P").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Rows("1:1").RowHeight = 12
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesAUD.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWindow.Close'Cad
Sheets("CAD.csv=PN Small").Select
Columns("K:K").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesCAD.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close'Gbp
Sheets("GPB.csv=STO Small").Select
Columns("P:P").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesGBP.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close'Jpy
Sheets("JPY.csv=STO Large").Select
Columns("R:R").Select
Selection.Copy
Workbooks.Add
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:= _
"C:Program FilesMetaTrader v432 - ActivTradesexpertsfilesJPY.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.CloseSheets("Eur.csv=PN COM").Select
End Sub
Sub SupressionLigne()
Securite = MsgBox("Supprimer Ligne ? Si la MAJ Matrice n'a pas été réalisée vous allez effacer l'historique !", _
vbYesNoCancel + vbCritical + vbDefaultButton2)If Securite = vbCancel Then
Exit Sub
End If
If Securite = vbNo Then
Exit Sub
End If'Suppression ligne 2 matrice depuis le dernier onglet
Sheets("JPY.csv=STO Large").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUpSheets("GPB.csv=STO Small").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUpSheets("CAD.csv=PN Small").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUpSheets("AUD.csv=STO COM").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUpSheets("Eur.csv=PN COM").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUpEnd Sub
'Bagi! 2012
Bruno ! C'était un plaisir de travailler avec toi sur le COT.