Expert: not enough money

Andreas Bauer
1768

Hi,

I'm uploading an EA into the marketplace,

and the backtest shows me: Not enough money.


The default start lot of the EA is 0,01 lots (no marti), when I look into the backtest journal I see, that the EA is being tested with 0,2 lots.


Why, can someone explain?

Soewono Effendi
4907
Andreas Bauer:

Hi,

I'm uploading an EA into the marketplace,

and the backtest shows me: Not enough money.


The default start lot of the EA is 0,01 lots (no marti), when I look into the backtest journal I see, that the EA is being tested with 0,2 lots.


Why, can someone explain?

You might want to check the pair/symbol''s specification for minimum lots.
Have you tried your EA with other symbol too ?
Good luck.
Andreas Bauer
1768
Andreas Bauer  
Soewono Effendi:
You might want to check the pair/symbol''s specification for minimum lots.
Have you tried your EA with other symbol too ?
Good luck.

Thanks, but I have no limitations in the EA for currencies (aso).

Now, that I decreased TP and SL in the default settings, backtest trades with 0,1 lots (not 0,2 lots).

Still, I get the same error presented.


Marco vd Heijden
Moderator
13503
Hi please see here.
The checks a trading robot must pass before publication in the Market
The checks a trading robot must pass before publication in the Market
  • www.mql5.com
Before any product is published in the Market, it must undergo compulsory preliminary checks, as a small error in the expert or indicator logic can cause losses on the trading account. That is why we have developed a series of basic checks to ensure the required quality level of the Market products. If any errors are identified by the Market...
Soewono Effendi
4907
Please refer to

https://www.mql5.com/en/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double

SYMBOL_VOLUME_MIN

Minimal volume for a deal

You could also print out balance information during backtest verification.
There might be bugs/errors on mql5 EA verification processes.

https://www.mql5.com/en/docs/account/accountinfodouble
void OnStart()
  {
//--- Show all the information available from the function AccountInfoDouble()
   printf("ACCOUNT_BALANCE =  %G",AccountInfoDouble(ACCOUNT_BALANCE));
   printf("ACCOUNT_CREDIT =  %G",AccountInfoDouble(ACCOUNT_CREDIT));
   printf("ACCOUNT_PROFIT =  %G",AccountInfoDouble(ACCOUNT_PROFIT));
   printf("ACCOUNT_EQUITY =  %G",AccountInfoDouble(ACCOUNT_EQUITY));
   printf("ACCOUNT_MARGIN =  %G",AccountInfoDouble(ACCOUNT_MARGIN));
   printf("ACCOUNT_MARGIN_FREE =  %G",AccountInfoDouble(ACCOUNT_MARGIN_FREE));
   printf("ACCOUNT_MARGIN_LEVEL =  %G",AccountInfoDouble(ACCOUNT_MARGIN_LEVEL));
   printf("ACCOUNT_MARGIN_SO_CALL = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL));
   printf("ACCOUNT_MARGIN_SO_SO = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_SO));
  }
Documentation on MQL5: Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
To obtain the current market information there are several functions: SymbolInfoInteger(), SymbolInfoDouble() and SymbolInfoString(). The first parameter is the symbol name, the values of the second function parameter can be one of the identifiers of ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE and ENUM_SYMBOL_INFO_STRING. Some symbols...
Mohamed Kamel Touati
1711

hello Andreas did you find how to fix this problem , because i ve the same problem as you 

thank you