Yes. The validator always used to stress test using bigger lot sizes and negative margin but I think it is not using the normal lot sizes anywhere in the tests thats why we are getting the error "there are no trading operations".
Yes you got right. For some reason Automatic validator starting its test with negative margin. If you have some print command on CheckMoneyForTrade() then it will show Log file size exceeds. And if no print command on then it shows there are no trade operations.
Syed Oarasul Islam: trade with 100 lot against a deposit of 100000? Isn't it violating what the EA is supposed to do? My EA is is set to 0.01% risk
100 lots, account balance, and percent risk is meaningless - you are missing two other values.
If you are worried about margin and leverage, you are not controlling your risk.
Never risk more than a small percentage of your account, certainly less than 2%
per trade.
In code (MT4):
Risk depends on your initial stop loss, lot size, and the value of the pair.
You place the stop where it needs to be - where the reason for the trade
is no longer valid. E.g. trading a support bounce the stop goes below the
support.
Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice -
OrderStopLoss| * DeltaPerLot +
CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually
around $10/pip but it takes account of the exchange rates of the pair vs. your
account currency.)
Yes you got right. For some reason Automatic validator starting its test with negative margin. If you have some print command on CheckMoneyForTrade() then it will show Log file size exceeds. And if no print command on then it shows there are no trade operations.
100 lots, account balance, and percent risk is meaningless - you are missing two other values.
If you are worried about margin and leverage, you are not controlling your risk.
Never risk more than a small percentage of your account, certainly less than 2%
per trade.
In code (MT4):
Risk depends on your initial stop loss, lot size, and the value of the pair.
You place the stop where it needs to be - where the reason for the trade
is no longer valid. E.g. trading a support bounce the stop goes below the
support.
Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice -
OrderStopLoss| * DeltaPerLot +
CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually
around $10/pip but it takes account of the exchange rates of the pair vs. your
account currency.)
Most pairs are worth about $10 per PIP. A $5 risk with a
(very small) 5 PIP SL is
$5/$10/5=0.1 Lots maximum.
I agree those steps you mentioned must be followed and are good advice's. Thanks. I did followed them very well in my EA.
My EA is not trading with 100 lot but the Automatic validator is. EA's risk is set to 0.01% but the Market's Automatic Product validation tester is not following the risk set in the parameters. I am trying to validate it for the market to sell my product. Its for MT5.
I tried it. After replaced Ontick() with OnStart() then it passed. But when I tried with Ontick() the second time it failed. Am I missing something? Do I have to submit when it passed and the try to with a different file name? This solution sounds strange but if it works then I am speechless :D
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
Yes. The validator always used to stress test using bigger lot sizes and negative margin but I think it is not using the normal lot sizes anywhere in the tests thats why we are getting the error "there are no trading operations".
Yes you got right. For some reason Automatic validator starting its test with negative margin. If you have some print command on CheckMoneyForTrade() then it will show Log file size exceeds. And if no print command on then it shows there are no trade operations.
100 lots, account balance, and percent risk is meaningless - you are missing two other values.
If you are worried about margin and leverage, you are not controlling your risk. Never risk more than a small percentage of your account, certainly less than 2% per trade.
In code (MT4): Risk depends on your initial stop loss, lot size, and the value of the pair.- You place the stop where it needs to be - where the reason for the trade
is no longer valid. E.g. trading a support bounce the stop goes below the
support.
-
Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice -
OrderStopLoss| * DeltaPerLot +
CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually
around $10/pip but it takes account of the exchange rates of the pair vs. your
account currency.)
-
Do NOT use TickValue by itself - DeltaPerLot and verify that
MODE_TICKVALUE is returning a value in your deposit currency, as promised
by the documentation, or whether it is returning a value in the instrument's
base currency.
-
You must normalize lots properly
and check against min
and max.
-
You must also check FreeMargin to avoid stop out
Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
Yes you got right. For some reason Automatic validator starting its test with negative margin. If you have some print command on CheckMoneyForTrade() then it will show Log file size exceeds. And if no print command on then it shows there are no trade operations.
+
It lasts for several days already.
+
It lasts for several days already.
When did you notice first?
When did you notice first?
On April 21.
I have noticed it on 2019.04.18 02:36
100 lots, account balance, and percent risk is meaningless - you are missing two other values.
If you are worried about margin and leverage, you are not controlling your risk. Never risk more than a small percentage of your account, certainly less than 2% per trade.
In code (MT4): Risk depends on your initial stop loss, lot size, and the value of the pair.- You place the stop where it needs to be - where the reason for the trade
is no longer valid. E.g. trading a support bounce the stop goes below the
support.
-
Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice -
OrderStopLoss| * DeltaPerLot +
CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually
around $10/pip but it takes account of the exchange rates of the pair vs. your
account currency.)
-
Do NOT use TickValue by itself - DeltaPerLot and verify that
MODE_TICKVALUE is returning a value in your deposit currency, as promised
by the documentation, or whether it is returning a value in the instrument's
base currency.
-
You must normalize lots properly
and check against min
and max.
-
You must also check FreeMargin to avoid stop out
Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
I agree those steps you mentioned must be followed and are good advice's. Thanks. I did followed them very well in my EA.
My EA is not trading with 100 lot but the Automatic validator is. EA's risk is set to 0.01% but the Market's Automatic Product validation tester is not following the risk set in the parameters. I am trying to validate it for the market to sell my product. Its for MT5.
Did you guys have luck on this? I tried today and validation failed as usual.
https://www.mql5.com/ru/forum/312005/page2#comment_11478327
Comment #16 -
Forum on trading, automated trading systems and testing trading strategies
$ 100 for any MT5 advisor
Denis Nikolaev , 2019.04.26 17:06
My EA went through autovalidation after I replaced OnTick () with OnStart (), and then I returned everything back and once again passed...https://www.mql5.com/ru/forum/312005/page2#comment_11478327
Comment #16 -
I tried it. After replaced Ontick() with OnStart() then it passed. But when I tried with Ontick() the second time it failed. Am I missing something? Do I have to submit when it passed and the try to with a different file name? This solution sounds strange but if it works then I am speechless :D