Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Jusqu'où va i ? Qu'est-ce que le nombre Bars-1 ?
Cela ne fonctionne pas ! Je ne sais vraiment pas quoi faire...
[...]
Cela ne fonctionne pas ! Je ne sais vraiment pas quoi faire...
En quoi cela ne fonctionne-t-il pas ? Les valeurs sont-elles fausses ? Ne sont-elles pas calculées du tout ?
En quoi cela ne fonctionne-t-il pas ? Les valeurs sont-elles erronées ? Ne sont-elles pas calculées du tout ?
Je n'arrive pas à comprendre. J'ai l'ordre d'ouvrir l'achat lorsque le prix est supérieur à HighValue et vice versa pour la vente.
Comment écrire ces valeurs sur le moniteur ? Avec Print("Valeur haute : ",HighValue) ;
Je pense que c'est la seule façon de trouver ce que sont ces valeurs, mais elles ne sont pas hautes/basses entre 15.00 et 17.00.
Oui. Je pense que le mieux est de mettre le code ici et peut-être que quelqu'un trouvera une solution.
if(Hour() == 17 && gethighlows == true)
{
gethighlows = false ;
TopRange=High[iHighest(NULL,15,MODE_HIGH,8,1)] ; // 8 barres M15 entre 15.00-17.00
LowRange=Low[iLowest(NULL,15,MODE_LOW,8,1)] ; // 8 barres M15 entre 15.00-17.00
}
//-----
if (Hour() ==0 && (Minute()==0 && (Seconds()==1)))
{
TopRange=0 ;
LowRange=0 ;
bought=false ;
sold=false ;
sessionfound=false ;
}
//-----
bool TradeDayOK=(DayOfWeek()>=1) && (DayOfWeek()<=5) ;
si ((DayOfWeek()==1) && (Trade_on_Monday==true)) TradeDayOK=true ;
//-----
total=OrdersTotal() ;
si(total<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;
return(0) ;
}
if(newbar==Time[0])return(0) ;
sinon newbar=Time[0] ;
if(TradeDayOK)
{
if(sessionfound && ( (Hour()>=17) && (Minute()>15) && Hour()<=23)
{
if ((bought==false) && (Low[1] > (TopRange+Point*3)))
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),0,0,Blue) ;
acheté=vrai ;
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre BUY ouvert : ",OrderOpenPrice()) ;
}
sinon Print("Erreur lors de l'ouverture de l'ordre BUY : ",GetLastError()) ;
return(0) ;
}
if ((sold==false) && (High[1] < (LowRange-Point*3) ))
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+(StopLoss*Point),Bid-(TakeProfit*Point),0,0,Red) ;
vendu=vrai ;
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre SELL ouvert : ",OrderOpenPrice()) ;
}
sinon Print("Erreur lors de l'ouverture d'un ordre VENTE : ",GetLastError()) ;
return(0) ;
}
return(0) ;
}
return(0) ;
}
}
Oui, je pense que le mieux est de mettre le code ici et peut-être que quelqu'un trouvera une solution.
if(Hour() == 17 && gethighlows == true)
{
gethighlows = false ;
TopRange=High[iHighest(NULL,15,MODE_HIGH,8,1)] ; // 8 barres M15 entre 15.00-17.00
LowRange=Low[iLowest(NULL,15,MODE_LOW,8,1)] ; // 8 barres M15 entre 15.00-17.00
}
//-----
if (Hour() ==0 && (Minute()==0 && (Seconds()==1)))
{
TopRange=0 ;
LowRange=0 ;
bought=false ;
sold=false ;
sessionfound=false ;
}
//-----
bool TradeDayOK=(DayOfWeek()>=1) && (DayOfWeek()<=5) ;
si ((DayOfWeek()==1) && (Trade_on_Monday==true)) TradeDayOK=true ;
//-----
total=OrdersTotal() ;
si(total<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;
return(0) ;
}
if(newbar==Time[0])return(0) ;
sinon newbar=Time[0] ;
if(TradeDayOK)
{
if(sessionfound && ( (Hour()>=17) && (Minute()>15) && Hour()<=23)
{
si ((bought==false) && Ask >= TopRange)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),0,0,Blue) ;
acheté=vrai ;
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre BUY ouvert : ",OrderOpenPrice()) ;
}
sinon Print("Erreur lors de l'ouverture de l'ordre BUY : ",GetLastError()) ;
return(0) ;
}
si ((sold==false) && Bid <= LowRange)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+(StopLoss*Point),Bid-(TakeProfit*Point),0,0,Red) ;
vendu=vrai ;
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre SELL ouvert : ",OrderOpenPrice()) ;
}
sinon Print("Erreur lors de l'ouverture d'un ordre VENTE : ",GetLastError()) ;
return(0) ;
}
return(0) ;
}
return(0) ;
}
}