Expert Advisor Builder probleme
Modérateur : Administrateurs
Expert Advisor Builder probleme
Coucou tout le monde,
Voilà je me suis inscrite car je désespère au niveau de la création de mon EA via Expert Advisor Builder et j'aurais besoin de votre aide.
Mon EA doit pouvoir analyser un plus haut et un plus bas sur une tranche horaire précise , seulement je ne trouve rien en rapport avec le temps dans Expert Advisor Builder, quelqu'un a une idée ?
Je vous remercie
Voilà je me suis inscrite car je désespère au niveau de la création de mon EA via Expert Advisor Builder et j'aurais besoin de votre aide.
Mon EA doit pouvoir analyser un plus haut et un plus bas sur une tranche horaire précise , seulement je ne trouve rien en rapport avec le temps dans Expert Advisor Builder, quelqu'un a une idée ?
Je vous remercie
- Fabien LABROUSSE
- Administrateur
- Messages : 17008
- Inscription : 17 mars 2008, 19:41
- Localisation : Paris, France
Re: Expert Advisor Builder probleme
Tu peux choisir sur quelle timeframe tu veux voir ton EA exécuté.
Aussi, si tu veux avoir le plus haut de l'heure dernière, tu choisis le timeframe H1 avec shift 1 et tu demande le high.
Si tu n'y parviens pas je vais te montrer la démarche plus en détail.
Aussi, si tu veux avoir le plus haut de l'heure dernière, tu choisis le timeframe H1 avec shift 1 et tu demande le high.
Si tu n'y parviens pas je vais te montrer la démarche plus en détail.
La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading
Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7
Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...
Marchés en aparté : Témoignages de traders, investisseurs, analystes et économistes sur les marchés financiers
Re: Expert Advisor Builder probleme
Coucou Fabien et je te remercie d'avoir répondu si rapidement.
J'ai déjà essayé en indiquant les timeframes, mais ça correspond pas à ma stratégie en fait qui est celle du Breakout londonien que tu dois surement connaître.
Si j'indique la timeframe, il va m'analyser par exemple le plus haut et le plus bas de chaque heure et prendre toutes les cassures, alors que moi je ne prend que la cassure du breakout à l'ouverture des marchés londoniens
J'ai déjà essayé en indiquant les timeframes, mais ça correspond pas à ma stratégie en fait qui est celle du Breakout londonien que tu dois surement connaître.
Si j'indique la timeframe, il va m'analyser par exemple le plus haut et le plus bas de chaque heure et prendre toutes les cassures, alors que moi je ne prend que la cassure du breakout à l'ouverture des marchés londoniens
Re: Expert Advisor Builder probleme
Re !
J'ai une idée mais je ne sais pas si ça peut marcher, j'ai lu que iCustom servait à inclure un indicateur.
J'ai un indicateur de breakout, qui délimite une zone par une boîte, est-ce possible de dire: quand le plus haut de la boîte est cassé tra la la, et inversement pour le plus bas?
Et voici le code de l'indicateur
J'ai une idée mais je ne sais pas si ça peut marcher, j'ai lu que iCustom servait à inclure un indicateur.
J'ai un indicateur de breakout, qui délimite une zone par une boîte, est-ce possible de dire: quand le plus haut de la boîte est cassé tra la la, et inversement pour le plus bas?
Et voici le code de l'indicateur
Code : Tout sélectionner
//+------------------------------------------------------------------+
//| BreakOutPANCA-EAGLE.mq4 |
//| hapalkos |
//| 2007.11.20 |
//| ++ modified so that rectangles do not overlay |
//| ++ this makes color selection more versatile |
//| ++ code consolidated |
//+------------------------------------------------------------------+
#property copyright "hapalkos"
#property link ""
#property indicator_chart_window
extern int NumberOfDays = 50;
extern string periodBegin = "00:00";
extern string periodEnd = "05:30";
extern string BoxEnd = "23:00";
extern int BoxBreakOut_Offset = 10;
extern color BoxHLColor = MidnightBlue;
extern color BoxBreakOutColor = LimeGreen;
extern color BoxPeriodColor = OrangeRed;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init() {
DeleteObjects();
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
DeleteObjects();
return(0);
}
//+------------------------------------------------------------------+
//| Remove all Rectangles |
//+------------------------------------------------------------------+
void DeleteObjects() {
ObjectsDeleteAll(0,OBJ_RECTANGLE);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start() {
datetime dtTradeDate=TimeCurrent();
for (int i=0; i<NumberOfDays; i++) {
DrawObjects(dtTradeDate, "BoxHL " + TimeToStr(dtTradeDate,TIME_DATE), periodBegin, periodEnd, BoxEnd, BoxHLColor, 0, 1);
DrawObjects(dtTradeDate, "BoxBreakOut_High " + TimeToStr(dtTradeDate,TIME_DATE), periodBegin, periodEnd, BoxEnd, BoxBreakOutColor, BoxBreakOut_Offset,2);
DrawObjects(dtTradeDate, "BoxBreakOut_Low " + TimeToStr(dtTradeDate,TIME_DATE), periodBegin, periodEnd, BoxEnd, BoxBreakOutColor, BoxBreakOut_Offset,3);
DrawObjects(dtTradeDate, "BoxPeriod " + TimeToStr(dtTradeDate,TIME_DATE), periodBegin, periodEnd, periodEnd, BoxPeriodColor, BoxBreakOut_Offset,4);
dtTradeDate=decrementTradeDate(dtTradeDate);
while (TimeDayOfWeek(dtTradeDate) > 5) dtTradeDate = decrementTradeDate(dtTradeDate);
}
}
//+------------------------------------------------------------------+
//| Create Rectangles |
//+------------------------------------------------------------------+
void DrawObjects(datetime dtTradeDate, string sObjName, string sTimeBegin, string sTimeEnd, string sTimeObjEnd, color cObjColor, int iOffSet, int iForm) {
datetime dtTimeBegin, dtTimeEnd, dtTimeObjEnd;
double dPriceHigh, dPriceLow;
int iBarBegin, iBarEnd;
dtTimeBegin = StrToTime(TimeToStr(dtTradeDate, TIME_DATE) + " " + sTimeBegin);
dtTimeEnd = StrToTime(TimeToStr(dtTradeDate, TIME_DATE) + " " + sTimeEnd);
dtTimeObjEnd = StrToTime(TimeToStr(dtTradeDate, TIME_DATE) + " " + sTimeObjEnd);
iBarBegin = iBarShift(NULL, 0, dtTimeBegin);
iBarEnd = iBarShift(NULL, 0, dtTimeEnd);
dPriceHigh = High[Highest(NULL, 0, MODE_HIGH, iBarBegin-iBarEnd, iBarEnd)];
dPriceLow = Low [Lowest (NULL, 0, MODE_LOW , iBarBegin-iBarEnd, iBarEnd)];
ObjectCreate(sObjName, OBJ_RECTANGLE, 0, 0, 0, 0, 0);
ObjectSet(sObjName, OBJPROP_TIME1 , dtTimeBegin);
ObjectSet(sObjName, OBJPROP_TIME2 , dtTimeObjEnd);
//---- High-Low Rectangle
if(iForm==1){
ObjectSet(sObjName, OBJPROP_PRICE1, dPriceHigh);
ObjectSet(sObjName, OBJPROP_PRICE2, dPriceLow);
ObjectSet(sObjName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(sObjName, OBJPROP_COLOR, cObjColor);
ObjectSet(sObjName, OBJPROP_BACK, True);
}
//---- Upper Rectangle
if(iForm==2){
ObjectSet(sObjName, OBJPROP_PRICE1, dPriceHigh);
ObjectSet(sObjName, OBJPROP_PRICE2, dPriceHigh + iOffSet*Point);
ObjectSet(sObjName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(sObjName, OBJPROP_COLOR, cObjColor);
ObjectSet(sObjName, OBJPROP_BACK, True);
}
//---- Lower Rectangle
if(iForm==3){
ObjectSet(sObjName, OBJPROP_PRICE1, dPriceLow - iOffSet*Point);
ObjectSet(sObjName, OBJPROP_PRICE2, dPriceLow);
ObjectSet(sObjName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(sObjName, OBJPROP_COLOR, cObjColor);
ObjectSet(sObjName, OBJPROP_BACK, True);
}
//---- Period Rectangle
if(iForm==4){
ObjectSet(sObjName, OBJPROP_PRICE1, dPriceHigh + iOffSet*Point);
ObjectSet(sObjName, OBJPROP_PRICE2, dPriceLow - iOffSet*Point);
ObjectSet(sObjName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(sObjName, OBJPROP_COLOR, cObjColor);
ObjectSet(sObjName, OBJPROP_WIDTH, 2);
ObjectSet(sObjName, OBJPROP_BACK, False);
}
string sObjDesc = StringConcatenate("High: ",dPriceHigh," Low: ", dPriceLow, " OffSet: ",iOffSet);
ObjectSetText(sObjName, sObjDesc,10,"Times New Roman",Black);
}
//+------------------------------------------------------------------+
//| Decrement Date to draw objects in the past |
//+------------------------------------------------------------------+
datetime decrementTradeDate (datetime dtTimeDate) {
int iTimeYear=TimeYear(dtTimeDate);
int iTimeMonth=TimeMonth(dtTimeDate);
int iTimeDay=TimeDay(dtTimeDate);
int iTimeHour=TimeHour(dtTimeDate);
int iTimeMinute=TimeMinute(dtTimeDate);
iTimeDay--;
if (iTimeDay==0) {
iTimeMonth--;
if (iTimeMonth==0) {
iTimeYear--;
iTimeMonth=12;
}
// Thirty days hath September...
if (iTimeMonth==4 || iTimeMonth==6 || iTimeMonth==9 || iTimeMonth==11) iTimeDay=30;
// ...all the rest have thirty-one...
if (iTimeMonth==1 || iTimeMonth==3 || iTimeMonth==5 || iTimeMonth==7 || iTimeMonth==8 || iTimeMonth==10 || iTimeMonth==12) iTimeDay=31;
// ...except...
if (iTimeMonth==2) if (MathMod(iTimeYear, 4)==0) iTimeDay=29; else iTimeDay=28;
}
return(StrToTime(iTimeYear + "." + iTimeMonth + "." + iTimeDay + " " + iTimeHour + ":" + iTimeMinute));
}
//+------------------------------------------------------------------+
- Fabien LABROUSSE
- Administrateur
- Messages : 17008
- Inscription : 17 mars 2008, 19:41
- Localisation : Paris, France
Re: Expert Advisor Builder probleme
Je n'ai jamais su me servir de iCustom, mais effectivement, ça sert à utiliser un indicateur personnaliser apparemment.
Ok, je vois. Mais si cela marche pour toutes les heures, tu peux me l'envoyer et j'y ajouter une fonction de filtre horaire, c'est très facile à mettre en place.Lfo a écrit :J'ai déjà essayé en indiquant les timeframes, mais ça correspond pas à ma stratégie en fait qui est celle du Breakout londonien que tu dois surement connaître.
Si j'indique la timeframe, il va m'analyser par exemple le plus haut et le plus bas de chaque heure et prendre toutes les cassures, alors que moi je ne prend que la cassure du breakout à l'ouverture des marchés londoniens
La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading
Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7
Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...
Marchés en aparté : Témoignages de traders, investisseurs, analystes et économistes sur les marchés financiers
Re: Expert Advisor Builder probleme
bien sureLfo a écrit :Re !
J'ai une idée mais je ne sais pas si ça peut marcher, j'ai lu que iCustom servait à inclure un indicateur.
J'ai un indicateur de breakout, qui délimite une zone par une boîte, est-ce possible de dire: quand le plus haut de la boîte est cassé tra la la, et inversement pour le plus bas?
[/code]