Donc avant de raconter n'importe quoi , Phil, vérifie tes graphiques car sur cette période l'EURUSD est bien descendu de 1.19 à 1.17, (ça c'est une belle hausse , n'est ce pas ?

Mais peut être parlais tu du SSI eToro ?



Modérateur : Administrateurs
Excellente vidéo !trady a écrit :Oui, je me suis interessee au COT il y a deux ans et je recevais un E-Mail chaque vendredi soir mais je n'ai pas accroché.
Je fais plutot du Daytrading/scalping donc le cot, je ne suis pas arrivée à l'exploiter de manière optimale.
Pour revenir aux brokers comme FXCM et IG Markets, tous les deux se sont faits taper sur les doigts.
D'ailleurs ca me fait penser à une vidéo d'Anton Kreil donnant une présentaion sur les brokers retails et les formateurs associés:
https://www.youtube.com/watch?v=L7G0OfJUON8&t=1538s
à méditer…
Alors Jeff as-tu passé le pas?Jeff719 a écrit :Je suis tenté de faire un EA qui archive dans un CSV, truc qu'on laisse tourner à vie sur un VPS...
Arf, non, j'ai plein d'autres trucs à faire.StanFX a écrit :Alors Jeff as-tu passé le pas?Jeff719 a écrit :Je suis tenté de faire un EA qui archive dans un CSV, truc qu'on laisse tourner à vie sur un VPS...
Alors voilà, un beau code pour archiver le sentimentor de FxBlue.StanFX a écrit :Oui pour un projet coopératif, dès que tu auras un historique suffisant du SI de fxblue, on pourra attaquer de mettre en place une stratégie
Code : Tout sélectionner
#define __NOM "EA_FxBlue_Sentiment_Archive.V1.0"
#property copyright __NOM
#property strict
#property description "Archive le Sentiment indicator pour back test ulterieur"
#property description "La periodicite de stockage est la bougie du Time Frame, PAS les ticks"
#property description "Lancer sur un graphique, le fichier est append ad vitam eternaem"
#property description "Si on veut partir de zero, penser a flinguer le fichier - il est cree si existe pas"
#property description "Le nom du fichier est FXBSentiment_Symbol(), deduit du graphique"
#property description "Le fichier est open et closed a chaque bougie pour pouvoir l'utiliser pendant que ca tourne"
#property description "2018.10.25 08:00;25;8;47;13;32;55"
// V1.0
// On lit tous les buffer de l'indic et l'on stocke en commencant par le datetime de l'open de la Bar[1]
// Pour faciliter l'exploit tous les % sont en string et non en num
#include <stdlib.mqh>
#include <stderror.mqh>
extern string UserName; // Le compte FxBlue
extern string PassWord;
static string CommentStringCompil;
static string NomFic;
static int Traders, LongWin, LongLoss, ShortWin, ShortLoos, PerLong;
enum EnumBuffer { bTraders = 0, bLongWin = 1, bLongLoss = 2, bShortWin = 3, bShortLoos = 4, bPerLong = 5 };
int OnInit(void)
{
// Cosmétique : on règle le look du graphique (facultatif)
ChartSetInteger(0,CHART_SHOW_PERIOD_SEP,false); ChartSetInteger(0,CHART_SHOW_GRID,false);
ChartSetInteger(0,CHART_MODE,CHART_CANDLES);
ChartSetInteger(0,CHART_AUTOSCROLL,true);
ChartSetInteger(0,CHART_SHOW_PERIOD_SEP,true);
ChartSetInteger(0,CHART_SCALEFIX,false);
ChartSetInteger(0,CHART_SHIFT,true); ChartSetDouble(0,CHART_SHIFT_SIZE,15);
ChartSetInteger(0,CHART_SCALE,3); // De 1 à 5, c'est le zoom dezoom, + et -
ChartSetInteger(0,CHART_SHOW_VOLUMES,CHART_VOLUME_HIDE);
ChartSetInteger(0,CHART_SHOW_OHLC,false);
CommentStringCompil = "\r"+"Compil :"+ TimeToString(__DATETIME__);
Comment(CommentStringCompil);
// Creation file si existe pas
NomFic = "FXBSentiment_" + Symbol() + ".csv";
if ( !FileIsExist(NomFic) ) {
int Handle = FileOpen(NomFic, FILE_CSV|FILE_WRITE|FILE_READ, ';' ); // Va créer le fichier
if( Handle < 0 ) Print("Erreur FileOpen, NomFic :",NomFic, " Error code ",GetLastError());
FileClose( Handle);
}
// explore une peu d'historique pour voir
for ( int i = 1; i < 10; i++ ) {
LitLesBuffersDuneBougie(i);
Print("Buffers de la bougie ",i," : ",Traders," , ", LongWin," , ", LongLoss," , ", ShortWin," , ", ShortLoos," , ", PerLong);
}
return(INIT_SUCCEEDED);
}
void OnTick()
{
static datetime MyPreviousTime = 0;
// N E W B A R
if ( MyPreviousTime != Time[0] ) {
MyPreviousTime = Time[0];
// Acquisiton indicateurs
LitLesBuffersDuneBougie(1); // Bar[1] closed
/*
Traders =(int)MathRound( iCustom( NULL, // Symbol
0, // TF du graphique
"", // separateur
UserName, // Le compte FxBlue
PassWord,
"", // separateur
true, true, true, true, true, true, // affichage de tous les buffers
0, // Buffer 0 : Trader (% de trader chez FxBlues qui sont en pose)
1) // Bar[1], bar closed
);
LongWin = (int)MathRound( iCustom( NULL,0,"",UserName,PassWord,"",true, true, true, true, true, true,1,1) );
LongLoss= (int)MathRound( iCustom( NULL,0,"",UserName,PassWord,"",true, true, true, true, true, true,2,1) );
ShortWin = (int)MathRound( iCustom( NULL,0,"",UserName,PassWord,"",true, true, true, true, true, true,3,1) );
ShortLoos = (int)MathRound( iCustom( NULL,0,"",UserName,PassWord,"",true, true, true, true, true, true,4,1) );
PerLong = (int)MathRound( iCustom( NULL,0,"",UserName,PassWord,"",true, true, true, true, true, true,5,1) );
*/
// Open, Write file et Close
int Handle = FileOpen(NomFic, FILE_CSV|FILE_WRITE|FILE_READ, ';' );
if( Handle < 0 ) Print("Erreur FileOpen, NomFic :",NomFic, " Error code ",GetLastError());
FileSeek(Handle, 0, SEEK_END); // a la fin pour append
FileWriteString(Handle,TimeToString(Time[1],TIME_DATE|TIME_MINUTES)); // Une bougie est définie par le time de son open
FileWriteString(Handle,";" + IntegerToString(Traders));
FileWriteString(Handle,";" + IntegerToString(LongWin));
FileWriteString(Handle,";" + IntegerToString(LongLoss));
FileWriteString(Handle,";" + IntegerToString(ShortWin));
FileWriteString(Handle,";" + IntegerToString(ShortLoos));
FileWrite(Handle,";" + IntegerToString(PerLong)); // finis par crlf contrairement à FileWriteString (sinon SEEK_END marche pas)
FileClose( Handle);
} // New bar
}
int LitUnBufferDuneBougie(int _iBougie, int _Buffer) // On s'intéresse à la Bougie[1], mais il y a aussi un historique de 4 heures au lancement
{
// debug - verifie double a zero ??
double tmp = iCustom(
NULL, // Symbol
0, // TF du graphique
"", // separateur
UserName, // Le compte FxBlue
PassWord,
"", // separateur
true, true, true, true, true, true, // affichage de tous les buffers
_Buffer, // Buffer 0 : Trader (% de trader chez FxBlues qui sont en pose)
_iBougie) // Bar[1], bar closed
;
Print( "double tmp :", tmp );
Print( "Last Error code ",GetLastError() ); // 4072 ERR_INDICATOR_CANNOT_LOAD Cannot load custom indicator
int ValeurIndic = (int)MathRound( iCustom(
NULL, // Symbol
0, // TF du graphique
"", // separateur
UserName, // Le compte FxBlue
PassWord,
"", // separateur
true, true, true, true, true, true, // affichage de tous les buffers
_Buffer, // Buffer 0 : Trader (% de trader chez FxBlues qui sont en pose)
_iBougie) // Bar[1], bar closed
);
return(ValeurIndic);
}
void LitLesBuffersDuneBougie(int _iBougie)
{
Traders = LitUnBufferDuneBougie(_iBougie, bTraders); // Variables globale afin d'éviter la ribanbelle de params
LongWin = LitUnBufferDuneBougie(_iBougie, bLongWin);
LongLoss = LitUnBufferDuneBougie(_iBougie, bLongLoss);
ShortWin = LitUnBufferDuneBougie(_iBougie, bShortWin);
ShortLoos = LitUnBufferDuneBougie(_iBougie, bShortLoos);
PerLong = LitUnBufferDuneBougie(_iBougie, bPerLong);
Jeff719 a écrit :Du coup je suppose que c'est moi qui code ?
Tu es top, je commence l'archive.Jeff719 a écrit :
OuiJeff719 a écrit :Si j'ai bien compris, il s'agit de reproduire exactement l'indic FxBlue (sauf qu'on n'a que le %long : le buffer bleu).
pas besoin, le m1 suffit. Il est tout à fait possible de programmer un EA avec différent TF simultanément: par ex un signal m5 rsi + signal fxblue m1StanFX a écrit :Si on a une archive M1, l'affichage doit marcher aussi en M5
Nan, c'est pour le visuel. Si quelqu'un veut réfléchir en M5 alors qu'il a un gros histo M1, il doit pouvoir afficher le passé. Ceci afin de ne pas devoir écrire un script qui fait du PeriodConverter - quoi que c'est élémentaire à faire.StanFX a écrit : pas besoin, le m1 suffit. Il est tout à fait possible de programmer un EA avec différent TF simultanément: par ex un signal m5 rsi + signal fxblue m1
Ben pour back tester faut disposer du passé. D'où ce truc.Trader55 a écrit : Mais est il possible d'expliquer la finalité ? Ok pour l'indic sentiment de FXBlue, mais est ce pour trader à l'envers du sentiment arrivé à un certain % ?
Ou suivre le sentiment ?
Ok je vais archiver toutes les TF, ça sera plus simple.Jeff719 a écrit :Nan, c'est pour le visuel. Si quelqu'un veut réfléchir en M5 alors qu'il a un gros histo M1, il doit pouvoir afficher le passé. Ceci afin de ne pas devoir écrire un script qui fait du PeriodConverter - quoi que c'est élémentaire à faire.