use
double OrderLots( | ) |
please,concretely what is the code?
for(int y = OrdersTotal() - 1; y >= 0; y--) { if(OrderSelect(y, SELECT_BY_POS, MODE_TRADES)) double SumLots = SumLots + OrderLots(); } if (SumLots >= 10) return(0);
what i doing wrong?
//+------------------------------------------------------------------+
//| EA_E-mail.mq4 |
//| triadinvest@yahoo.fr|
//|
//+------------------------------------------------------------------+
#property copyright "triadinvest@yahoo.fr"
#property link "itriad"
//---- input parameters
extern int TimeInterval= 1; // xx minutes to send the order
extern int lotsize = 0.001;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
for(int y = OrdersTotal() - 1; y >= 0; y--)
{
if(OrderSelect(y, SELECT_BY_POS, MODE_TRADES))
double SumLots = SumLots + OrderLots();
}
if (SumLots <= 10)
return(0);
while(TimeInterval>0)
{
OrderSend(Symbol(), OP_BUY,lotsize,MarketInfo("EURUSD",MODE_ASK),0,1.3063,0);
OrderSend(Symbol(),OP_SELL,lotsize,MarketInfo("EURUSD",MODE_BID),0,1.3067,0);
Sleep( TimeInterval*100);//sleep in miliseconds, so use 60*1000 to change to minute
}
//----
return(0);
}
//+------------------------------------------------------------------+
this line
if (SumLots <= 10)
should be
if (SumLots >= 10)
anyway i hope you are testing it first
this line
should be
anyway i hope you are testing it first
i testing it,the same problem 100 lot opened
thanks
//+------------------------------------------------------------------+
//| EA_E-mail.mq4 |
//| triadinvest@yahoo.fr|
//|
//+------------------------------------------------------------------+
#property copyright "triadinvest@yahoo.fr"
#property link "itriad"
//---- input parameters
extern int TimeInterval= 1; // xx minutes to send the order
extern int lotsize = 0.001;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
for(int y = OrdersTotal() - 1; y >= 0; y--)
{
if(OrderSelect(y, SELECT_BY_POS, MODE_TRADES))
double SumLots = SumLots + OrderLots();
}
if (SumLots <= 10)
return(0);
while(TimeInterval>0)
{
OrderSend(Symbol(), OP_BUY,lotsize,MarketInfo("EURUSD",MODE_ASK),0,1.3063,0);
OrderSend(Symbol(),OP_SELL,lotsize,MarketInfo("EURUSD",MODE_BID),0,1.3067,0);
Sleep( TimeInterval*1*1000);//sleep in miliseconds, so use 60*1000 to change to minute
}
//----
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //| EA_E-mail.mq4 | //| triadinvest@yahoo.fr| //| //+------------------------------------------------------------------+ #property copyright "triadinvest@yahoo.fr" #property link "itriad" //---- input parameters extern int TimeInterval= 1; // xx minutes to send the order extern int lotsize = 0.001; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { for(int y = OrdersTotal() - 1; y >= 0; y--) { if(OrderSelect(y, SELECT_BY_POS, MODE_TRADES)) double SumLots = SumLots + OrderLots(); } if (SumLots >= 10) return(0); while(TimeInterval>0) { OrderSend(Symbol(), OP_BUY,lotsize,MarketInfo("EURUSD",MODE_ASK),0,1.3063,0); OrderSend(Symbol(),OP_SELL,lotsize,MarketInfo("EURUSD",MODE_BID),0,1.3067,0); Sleep( TimeInterval*1*1000);//sleep in miliseconds, so use 60*1000 to change to minute } //---- return(0); } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //| EA_E-mail.mq4 | //| triadinvest@yahoo.fr| //| //+------------------------------------------------------------------+ #property copyright "triadinvest@yahoo.fr" #property link "itriad" //---- input parameters extern int TimeInterval= 1; // xx minutes to send the order extern int lotsize = 0.001; double SumLots; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { for(int y = OrdersTotal() - 1; y >= 0; y--) { if(OrderSelect(y, SELECT_BY_POS, MODE_TRADES)) SumLots = SumLots + OrderLots(); } if (SumLots >= 10) return(0); while(TimeInterval>0) { OrderSend(Symbol(), OP_BUY,lotsize,MarketInfo("EURUSD",MODE_ASK),0,1.3063,0); OrderSend(Symbol(),OP_SELL,lotsize,MarketInfo("EURUSD",MODE_BID),0,1.3067,0); Sleep( TimeInterval*100);//sleep in miliseconds, so use 60*1000 to change to minute } //---- return(0); } //+------------------------------------------------------------------+
stil the same problem,may be conflicting with while or sleep function?
wath dou you think of this expert?
thanks for your help
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I want to limit my maximum position to 10 lot,this expert have good result in LONDON breakout period,
actualy this expert open unlimited lot until limit reached (100) with my broker.
example: (if order total>10) stop and restart (if order total<10).
the concept of the strategy is the market likely to move outside both stop order (1.3063/1.3067) in my code in breakout period,
you must set manualy stop order to update to current market price,example :@ 07:59 london time if BiD is 1.3050 put stopsell:1.3049/buystop 1.3054.
best pairs is EUR/USD GBP/USD. //NEVER USES IN CALM PERIOD//
sorry for my english
//+------------------------------------------------------------------+
//| EA_E-mail.mq4 |
//| triadinvest@yahoo.fr|
//|
//+------------------------------------------------------------------+
#property copyright "triadinvest@yahoo.fr"
#property link "itriad"
//---- input parameters
extern int TimeInterval= 1; // xx minutes to send the order
extern int lotsize = 0.001;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
while(TimeInterval>0)
{
OrderSend(Symbol(), OP_BUY,lotsize,MarketInfo("EURUSD",MODE_ASK),0,1.3063,0);
OrderSend(Symbol(),OP_SELL,lotsize,MarketInfo("EURUSD",MODE_BID),0,1.3067,0);
Sleep( TimeInterval*100);//sleep in miliseconds, so use 60*1000 to change to minute
}
//----
return(0);
}
//+------------------------------------------------------------------+