Donc, voilà, je me lance, j'voulais faire un peti' suiveur de tendance basé sur du croisement de MA avec un CCI pour filtrer les entrées.
Mais le problème, c'est que quand je lance mon Backtest, il ne prend aucun trade.
Pouvez-vous m'aider ?
extern int CCIPeriod=50;
extern int shortma=5;
extern int longma=10;
extern double Lots=0.1;
extern int Slip=10;
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//------------
double CCI = iCCI(Symbol(),0,CCIPeriod,PRICE_CLOSE,0);
double shortma= iMA(Symbol(),0,shortma,0,MODE_SMA, PRICE_CLOSE,0) ;
double longma = iMA(Symbol(),0,longma,0,MODE_SMA, PRICE_CLOSE,0) ;
double shortmapre= iMA(Symbol(),0,shortma,0,MODE_SMA, PRICE_CLOSE,1) ;
double longmapre = iMA(Symbol(),0,longma,0,MODE_SMA, PRICE_CLOSE,1) ;
//------------
//------------Check for Opening------------------//
if (OrdersTotal()<1)
{
if(shortma>longma && CCI>0 && shortmapre<longmapre )OrderSend(Symbol(),OP_BUY ,Lots,Ask,Slip,Ask-10000*Point,NULL,0,0,Blue);
if(shortma<longma && CCI<0 && shortmapre>longmapre)OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+10000*Point,NULL,0,0,Red);
}
//--------------------------Closing----------------------------//
if(OrdersTotal()!=0)
{
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY)
{
if (CCI<0)OrderClose(OrderTicket(),Lots,Bid,Slip,Red);
if (shortma<longma && shortmapre>longmapre)OrderClose(OrderTicket(),Lots,Bid,Slip,Red);
}
if(OrderType()==OP_SELL)
{
if (CCI>0)OrderClose(OrderTicket(),Lots,Ask,Slip,Red);
if (shortma>longma && shortmapre<longmapre)OrderClose(OrderTicket(),Lots,Ask,Slip,Red);
}
}
return(0);
}
//+------------------------------------------------------------------