Bonjours à tous !
Voila, je suis néophyte dans la programmation d'EA et je requiers votre aide si vous le voulez bien ^^
Je souhaiterais créer un EA à partir de l'indicateur Fibopiv_v2 mais je n'y arrive pas. Je veux juste prendre position lors du dépassement d'un support ou d'une résistance pour le moment.
L'erreur OrderSend 148 est présente dans le journal de teste, je ne sais pas comment faire pour ramener la variable NumberOfTrader à 0 lorsque le trade est clôturé. Je ne sais même si j'ai placé mes ordres d'achat ou de vente comme il fallait dans le programme pour qu'il fonctionne.
Pouvez-vous y jeter un coup d'œil ?
Ps: je vous ais joint l'indicateur.
Mon code:
//+------------------------------------------------------------------+
//| New.mq4 |
//| Cartoche |
//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#property copyright "Cartoche"
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
double NumberOfTrade = 0;
Print("Initialisation EA");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Print("Arret EA");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double rates[1][6],yesterday_close,yesterday_high,yesterday_low,Numb erOfTrade;
ArrayCopyRates(rates, Symbol(), PERIOD_D1);
if(DayOfWeek() == 1)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,1)) == 5)
{
yesterday_close = rates[1][4];
yesterday_high = rates[1][3];
yesterday_low = rates[1][2];
}
else
{
for(int d = 5;d>=0;d--)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,d)) == 5)
{
yesterday_close = rates[d][4];
yesterday_high = rates[d][3];
yesterday_low = rates[d][2];
}
}
}
}
else
{
yesterday_close = rates[1][4];
yesterday_high = rates[1][3];
yesterday_low = rates[1][2];
}
//---- Calculate Pivots
double R = yesterday_high - yesterday_low;//range
double p = (yesterday_high + yesterday_low + yesterday_close)/3;// Standard Pivot
double r3 = p + (R * 1.000);
double r2 = p + (R * 0.618);
double r1 = p + (R * 0.382);
double s1 = p - (R * 0.382);
double s2 = p - (R * 0.618);
double s3 = p - (R * 1.000);
//----
//--- Ordre Achat
if(NumberOfTrade==0)
{
if(Ask>r1)
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,5,p,r2,"Achat",1 0,0,Green);
NumberOfTrade=1;
}
//---Ordre Vente
if(Bid<s1)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid,5,p,s2,"Vente", 10,0,Green);
NumberOfTrade=1;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
![]() |
|


LinkBack URL
About LinkBacks


Répondre avec citation