J'ai fait un truc complètement con, j'ai pris EURUSD en M30, j'ai tracé 20 pips au dessus de la première barre haussière de la journée ou 20 pips en dessous si la 1ère barre est baissière.
Tenez-vous bien, depuis la dernière semaine de janvier, 69 trades aurait été gagnants contre 17 perdants soit un ratio de 4 pour 1. Si les trades perdants sont clôturés en fin de journée 725 pips sont perdus contre 1380 soit 655 pips de gain net (j'ai compté 2 pips de spread pour être tanquille).
Aucun indicateur !
Voilà le code du script (ce n'est pas un indicateur ni un EA) pour ceux qui voudraient écarquiller les yeux :
Tenez-vous bien, depuis la dernière semaine de janvier, 69 trades aurait été gagnants contre 17 perdants soit un ratio de 4 pour 1. Si les trades perdants sont clôturés en fin de journée 725 pips sont perdus contre 1380 soit 655 pips de gain net (j'ai compté 2 pips de spread pour être tanquille).
Aucun indicateur !
Voilà le code du script (ce n'est pas un indicateur ni un EA) pour ceux qui voudraient écarquiller les yeux :
Code
//+------------------------------------------------------------------+
//| pipsTarget.mq4 |
//| Copyright © 2011, Nicolas Tuffier |
//| http://www.furyweb.fr/forex/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Nicolas Tuffier"
#property link "http://www.furyweb.fr/forex/"
extern double tgtpoints = 0.002;
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start() {
int nextbar = Bars;
double sl, tp;
string name = "";
double profit, loss, spread = 0.0002; //MarketInfo(Symbol(), MODE_SPREAD)*Point*MathPow(10, Digits % 2);
bool good;
datetime end;
int i, j, p, l;
//----
ObjectsDeleteAll(0);
for (i = Bars; i>=0; i--) {
if (TimeHour(Time[i]) == 0 && TimeMinute(Time[i]) == 0) {
nextbar = i - 1;
name = TimeYear(Time[i])+" "+TimeDayOfYear(Time[i]);
}
if (i == nextbar) {
end = Time[i+1]+86400;
if (Open[i+1] < Close[i+1]) { // first bar of day is bullish
tp = Close[i+1]+tgtpoints+spread;
if (High[iHighest(Symbol(), Period(), MODE_HIGH, 1440 / Period(), i - 1440 / Period())] > tp) {
good = true;
for (j = i; j >= i - 1440 / Period(); j--)
if (High[j] > tp) {
end = Time[j];
break;
}
} else {
good = false;
loss += Close[i+1] - Close[i - 1440 / Period()];
}
} else { // first bar of day is bearish
tp = Close[i+1]-tgtpoints-spread;
if (Low[iLowest(Symbol(), Period(), MODE_LOW, 1440 / Period(), i - 1440 / Period())] < tp) {
good = true;
for (j = i; j >= i - 1440 / Period(); j--)
if (Low[j] < tp) {
end = Time[j];
break;
}
} else {
good = false;
loss += Close[i - 1440 / Period()] - Close[i+1];
}
}
ObjectCreate(name+" TP", OBJ_TREND, 0, Time[i], tp, end, tp);
ObjectSet(name+" TP", OBJPROP_RAY, false);
if (good) {
ObjectSet(name+" TP", OBJPROP_COLOR, White);
p++;
} else {
ObjectSet(name+" TP", OBJPROP_COLOR, Red);
l++;
}
}
}
tp = p;
sl = l;
Comment("#Profit : ", p, "\n#Loss : ", l, "\nRatio : ", NormalizeDouble(tp / sl, 2), "\nLoss : ", loss);
//----
return(0);
}
//+------------------------------------------------------------------+