|
|||||||
| Register in Forex TSD! | |
|
Trading Systems Leaders in this forum (automated trading systems) are winning more than 3000 pips in a month (30000$ investing one lot every time). Click here to register and get more information |
|
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
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 ![]() |
|
|||
|
open orders and skipping code lines
Quote:
What is a "forward mode" ? This is my simple EA code: Code:
//+------------------EA1.mq4------------------------------------------------+
#property copyright "Ferman"
#property link "http://www.metaquotes.net"
#include <stdlib.mqh>
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);
}
//+------------------------------------------------------------------+
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 Avi
__________________
FERMAN --------
|
|
|||||
|
Quote:
Quote:
Quote:
Quote:
Quote:
Please see the attached log and tell me what do you think? |
|
|||
|
Quote:
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
__________________
FERMAN --------
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Close Open Trades EAs based on Equity | Tradinator | Expert Advisors - Metatrader 4 | 14 | 12-22-2007 02:43 PM |
| Maximum number of open trades per MT4 account | fxtrader625 | Metatrader 4 | 10 | 06-07-2007 06:59 PM |
| MT4 is there a "close all open trades script/command?" | keramikus | Metatrader 4 | 3 | 05-29-2007 01:49 PM |
| EA to manage open trades | richo12 | Suggestions for Trading Systems | 6 | 08-28-2006 08:22 PM |
| close all open trades ea | G-Riper | General Discussion | 2 | 08-02-2006 09:41 PM |