Need help - Open trades when starting my EA

 

Hi,

I have problem that not making sense:

sometimes after starting my EA (Backtesting mode) i see that i have open trades !

OrdersTotal() return 1 open trade

what can be my problem ?

thanks

 
ferman:
Hi,

I have problem that not making sense:

sometimes after starting my EA (Backtesting mode) i see that i have open trades !

OrdersTotal() return 1 open trade

what can be my problem ?

thanks

Hi ferman,

Is it working in forward mode?

Could I see the code?

 

open orders and skipping code lines

codersguru:
Hi ferman,

Is it working in forward mode?

Could I see the code?

Hi Coders' Guru,

What is a "forward mode" ?

This is my simple EA code:

//+------------------EA1.mq4------------------------------------------------+

#property copyright "Ferman"

#property link "http://www.metaquotes.net"

#include

int ticket=0;

extern double Lots=0.1;

extern int Slippage=2;

extern bool Skip = false;

//+------------------------------------------------------------------+

int init()

{

Print ("--- Init happened ---");

return(0);

}

//+------------------------------------------------------------------+

int deinit()

{

Print("--- DE-Init happened --- ");

return(0);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

double Stoc=0;

double Stoc_pre_1_bar=0;

double Stoc_pre_2_bar=0;

int gle=0;

Stoc=iStochastic(NULL,0,8,5,3,MODE_SMA,1,MODE_MAIN,0);

Stoc_pre_1_bar=iStochastic(NULL,0,8,5,3,MODE_SMA,1,MODE_MAIN,1);

Stoc_pre_2_bar=iStochastic(NULL,0,8,5,3,MODE_SMA,1,MODE_MAIN,2);

Print("-----------",TimeToStr(iTime(NULL,PERIOD_H1,0),TIME_DATE|TIME_SECONDS),"-------------");

Print("stoc = ", Stoc);

Print("Stoc_pre_1_bar = ", Stoc_pre_1_bar);

Print(OrdersTotal());

if (OrdersTotal() < 1)

{

//LONG TREN?

if (Stoc >= 30 && Stoc < 35 && Stoc_pre_1_bar < Stoc ) // GO LONG !

{

if (!Skip)// Are we in long trend already ?, yes - lets skip it and wait for the next break

{

ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,NULL,0,White);

gle=GetLastError();

if(gle==0)

Print("BUY Ask=",Ask, " OrderTicket = ",ticket);

else

Print("BUY-ERROR! Ask=",Ask," Stoc=",Stoc," gle=",gle);

}

Skip = false; //wait for the next break

return(0);

}

return(0);

}//if

else // OredersTotal > 1 - Manage Open Orders

{

//Take Profit or stop lost

if ((Stoc >= 90 ) || Stoc <= 10 )

{

Print("need to close orderticket: ",ticket);

if (OrderClose(ticket,Lots,Ask,5,Red))

Print("Close Ask=",Ask);

else

Print ("Close -----ERROR----- Ask=",Ask," Stoc=",Stoc," error desc: ",ErrorDescription(GetLastError()));

return(0);

}

}

return(0);

}

//+------------------------------------------------------------------+

[/CODE]

my problems are:

1) when starting my EA in backtesting mode (H1, EUR/USD, open price only), sometimes i see that i have already open orders (i am printing the OrdersTotal() in the start() func.)

2) i see sometimes that the program not starting in the begining ( i see prints that comes from the middle of the start() func', its like skipping some lines

3) in the results i see orders, and in the journal we see zero orders (OrdersTotal()=0) all the period of testing ...

4) the main() func. dont start every 1 hour, why is that ? (we can see the prints)

i inserts the beginnings of the results :

[CODE]

2005.11.14 14:10:20 2005.11.04 04:00 EA1 EURUSD,H1: 0

2005.11.14 14:10:20 2005.11.04 04:00 EA1 EURUSD,H1: Stoc_pre_1_bar = 26.4706

2005.11.14 14:10:19 2005.09.22 08:00 EA1 EURUSD,H1: Stoc_pre_1_bar = 13.3333

2005.11.14 14:10:19 2005.09.22 08:00 EA1 EURUSD,H1: stoc = 20.098

2005.11.14 14:10:19 2005.09.22 08:00 EA1 EURUSD,H1: -----------2005.09.22 08:00:00-------------

2005.11.14 14:10:19 2005.09.22 07:00 EA1 EURUSD,H1: 0

2005.11.14 14:10:19 2005.09.22 07:00 EA1 EURUSD,H1: Stoc_pre_1_bar = 3.2258

2005.11.14 14:10:19 2005.09.22 07:00 EA1 EURUSD,H1: stoc = 3.0612

2005.11.14 14:10:19 2005.09.22 07:00 EA1 EURUSD,H1: -----------2005.09.22 07:00:00------------- we jump over many days !!!

2005.11.14 14:10:19 2005.09.22 06:00 EA1 EURUSD,H1: 0

2005.11.14 14:10:18 2005.08.08 08:00 EA1 EURUSD,H1: stoc = 3.5088

2005.11.14 14:10:18 2005.08.08 08:00 EA1 EURUSD,H1: -----------2005.08.08 08:00:00-------------

2005.11.14 14:10:18 2005.08.08 07:00 EA1 EURUSD,H1: 0 zero orders all the testing time

2005.11.14 14:10:18 2005.08.08 07:00 EA1 EURUSD,H1: Stoc_pre_1_bar = 12.3457

2005.11.14 14:10:18 2005.08.08 07:00 EA1 EURUSD,H1: stoc = 14.9254

2005.11.14 14:10:18 2005.08.08 07:00 EA1 EURUSD,H1: -----------2005.08.08 07:00:00-------------

2005.11.14 14:10:18 2005.08.08 06:00 EA1 EURUSD,H1: 0

2005.11.14 14:10:18 2005.08.08 06:00 EA1 EURUSD,H1: Stoc_pre_1_bar = 16.0494 <-- here we see skiping over some code lines

i hope i send all the details for understanding my problems, thank you

Avi

 

Text Log is working fine.

ferman:
Hi Coders' Guru, What is a "forward mode" ?

I mean the live trading mode.

1) when starting my EA in backtesting mode (H1, EUR/USD, open price only), sometimes i see that i have already open orders (i am printing the OrdersTotal() in the start() func.)

I tested the sample a lot of times and I didn't notice that. (Please view the log attached)

2) i see sometimes that the program not starting in the begining ( i see prints that comes from the middle of the start() func', its like skipping some lines

That didn't happen, check the log file attached.

3) in the results i see orders, and in the journal we see zero orders (OrdersTotal()=0) all the period of testing ...

No, not all the OrdersTotal are zero (see the log), but must of them are zero because every opened order closed before the next open (see Result tab log).

4) the main() func. dont start every 1 hour, why is that ? (we can see the prints)

Do you mean strat() function? It starts every 1 hour(see the log)

Please see the attached log and tell me what do you think?

Files:
20051117.zip  60 kb
 
codersguru:
I mean the live trading mode.

I tested the sample a lot of times and I didn't notice that. (Please view the log attached)

That didn't happen, check the log file attached.

No, not all the OrdersTotal are zero (see the log), but must of them are zero because every opened order closed before the next open (see Result tab log).

Do you mean strat() function? It starts every 1 hour(see the log)

Please see the attached log and tell me what do you think?

Thanks, codersguru for your answers.

It seems that verything ok with youe tests, i don't know what to say.

but, today i noticed that when reducing the amount of printing to the journal, those symptoms are goon ! (i have 4 print lines for every tick it the start() )

do you familiar with this problem ?

does a lot of printing ( print() ) to the journal can cause problems ?

Thank you

Reason: