Bas et haut - page 2

 

Jusqu'où va i ? Qu'est-ce que le nombre Bars-1 ?

 
if(Hour() == 17 && gethighlows == true)
{
gethighlows = false ;
HighValue=High[iHighest(NULL,15,MODE_HIGH,8,1)] ; // 8 barres M15 entre 15.00-17.00
LowValue=Low[iLowest(NULL,15,MODE_LOW,8,1)] ; // 8 barres M15 entre 15.00-17.00
}
 
fxcourt:
if(Hour() == 17 && gethighlows == true)
{
gethighlows = false ;
HighValue=High[iHighest(NULL,15,MODE_HIGH,8,1)] ; // 8 barres M15 entre 15.00-17.00
LowValue=Low[iLowest(NULL,15,MODE_LOW,8,1)] ; // 8 barres M15 entre 15.00-17.00
}

Cela ne fonctionne pas ! Je ne sais vraiment pas quoi faire...

 
01005379:

[...]

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 ?

 
jjc:

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.

 
Utilisez-vous un graphique m15 ?
 

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) ;
}
}

 
Alors que se passe-t-il lorsque vous exécutez l'ea
 
Il ouvre des positions d'achat et de vente, mais pas aux bons niveaux.
 
01005379:

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) ;
}
}