Warning Codes. My backtest shows a warning. How can I fix it?
Warnings are not critical issues and can be given for a number of reasons. Most warnings can be eliminated by changing the backtest parameters, but it is important to know why each warning occurs in order to understand the result of each backtest.
Pro tip: It is possible to stop the test if a warning occurs. To do this, turn on the "STOP TEST ON WARNINGS" option. In an optimization, tests with warnings are identified with the value 801 to 899 in the On Tester Result column if this option is enabled.
Here is a list of warning codes and what you can do if you see them:
Code | Warning description / fix |
---|---|
801 | Price from <symbol> not found – The value 1 will be used. |
The instrument/symbol you are using is not known. It may be necessary to fill in the fields CURRENCY PREFIX and CURRENCY SUFFIX in the NNFX Algo Tester settings. If you are using an instrument that uses a non-major currency then this warning may also appear. To eliminate the warning, it is necessary to inform the software of the value of the currency pair indicated in the warning. To do this, you must edit the file "Your NNFX Algo Tester folder/user/your MT4 ID/market_watch_prices.csv" and add the Bid and Ask values at the end of the file. For example: "USDSEK;10.9105;10.9135". If nothing is done the backtest will continue to run but the lots calculation may not be entirely accurate. |
|
802 | Could not get LOT size value. The value 100000 will be used. |
It was not possible to obtain the contract value for the instrument/symbol you are using. This value is provided by your broker. If it is not possible to obtain the default value for a Forex pair, the value 100000 will be used. Changing your broker can solve this problem. |
|
803 | The QUOTE/MARGIN currency <symbol> will be used as account currency for the trading volume calculations. |
Sometimes it is not possible to obtain all the information necessary to make an accurate lots calculation. This happens mainly outside the Forex market in markets not traded in the major currencies. In these cases, an approximation will be used. To remove this warning select the USE FIXED ORDER SIZE option. |
|
804 | The <symbol> pair does not exist or [it] is not possible to obtain the price. Using COUNTER CURRENCY as ACCOUNT BASE CURRENCY. |
If the NNFX Algo Tester cannot obtain all the information necessary to calculate the correct lot value, COUNTER CURRENCY will be used as the ACCOUNT BASE CURRENCY option in the tester's Expert properties. To remove this warning select the USE FIXED ORDER SIZE option or select COUNTER CURRENCY as the ACCOUNT BASE CURRENCY. |
|
805 | Could not get Step, MinLot and MaxLot values. The default values will be used (STEP=0.01 MAXLOT=1000 MINLOT=0.01) |
The NNFX Algo Tester cannot obtain the contract value for the instrument/symbol you are using. This value is provided by your broker. For Forex pairs, if it is not possible to obtain the default value then Step=0.01, MaxLot=1000, MinLot=0.01 will be used. Changing your broker can solve this problem. |
|
806 | The value of the calculated trading volume (<CALCULATED LOT> =~ <LOT>) is bigger than the maximum allowed by the broker (<max lot>). The maximum value will be used instead of the calculated one. |
Change your Money Management settings. In this case, you have to decrease the lot size, for example by decreasing the risk percentage or increasing the initial balance. | |
807 | The value of the calculated trading volume (<CALCULATED LOT> =~ <LOT>) is smaller than the minimum allowed by the broker (<min lot>). The minimum value will be used instead of the calculated one. |
Change your Money Management settings. In this case, you have to increase the lot size, for example by increasing the risk percentage or decreasing the initial balance. | |
808 | Not enough money for SELL LOTS <symbol>. The Entry will not be placed! |
If you get this warning, it means that there is insufficient free margin available to cover the next entry. The backtest can continue and try to place a position in a more favorable situation, but this usually results in a "Margin call". | |
809 | Not enough money for BUY LOTS <symbol>. The Entry will not be placed! |
If you get this warning, it means that there is insufficient free margin available to cover the next entry. The backtest can continue and try to place a position in a more favorable situation but this usually results in a "Margin call". | |
810 811 |
The current price is too close to the order opening price. Unable to place BUY SL in Break Even The current price is too close to the order opening price. Unable to place SELL SL in Break Even |
In certain situations it is not possible to move the stop loss. This happens, especially when using the Open Prices Only model, because the new SL price is too close to the current price of the pair. Moving the SL in this situation is not possible because brokers require a minimum difference between the current price and the SL so that the SL is not triggered automatically. To avoid this warning, you can adjust the value of ATR MULT TO ACTIVATE SL TO BE in the Expert properties. |
|
812 813 814 |
Unable to select the order Unable to close BUY order Unable to close SELL order |
If any of these warnings persist please contact support. | |
815
|
The SL is LOWER than MIN SL -> (SL < MIN SL). The MIN SL value will be used OR The SL is HIGHER than MAX SL -> (SL > MAX SL). The MAX SL value will be used OR |
Change the safety limits to avoid these warnings. | |
817 | TRADING TIME is less than the Time Frame – TRADING_TIME > CURRENT TF. Trading will be done at candle closing (TRADING TIME=0) |
The TRADING TIME value is bigger than the time frame (in minutes) chosen for the backtest or trading. In this case, the trades will be placed when the candle closes (TRADING TIME = 0). Choose a valid TRADING TIME value (less than the Time Frame) to remove this warning. |
|
819 | The indicator includes text inputs. Only the first # inputs will be used (default values will be used for the remaining inputs) |
When an indicator includes text inputs, it is only possible to modify the values up to the first text input, with a minimum of 9 values. In other words, if the text input is in the third position, for example, it is only possible to modify the first 9 values of the indicator inputs. But if the first text input is in the twenty-sixth position, for example, then you can modify the first 25 inputs of the indicator. The NNFX Algo Tester does this automatically, but if you add more values to the indicator configuration than are allowed, you will receive this warning to let you know that some of your values will not be used and the default values will be used instead. | |
820 | Is advisable [to have] at least 250 history candles to perform the test. There are <bars> candles in the history. |
A history of at least 250 candles before the test start date is advised to ensure that all the indicators work correctly. 100 candles is the minimum limit, but this number depends on your indicators. To remove this warning, choose a more recent date to start the backtest or increase your historical data. |
|
821 | The SL is LOWER than the MIN SL allowed by the broker: SL < MIN SL. The Entry will not be placed! |
Increase the MIN STOP-LOSS (NNFX Algo Tester Safety Limits) to prevent entries from being blocked by your broker's limits. | |
822 | The TP1 is LOWER than the MIN SL allowed by the broker: TP < MIN TP. The Entry will not be placed! |
Increase the MIN TAKE-PROFIT (NNFX Algo Tester Safety Limits) to prevent entries from being blocked by your broker's limits. | |
823 | It was not possible to get live prices. Average prices from the last 3 years will be used instead. |
To use live prices you will have to manually insert the live price value in the market_watch_prices.csv file contained in your NNFX Algo Tester folder/users/MT4 ID/ |
If you need more help removing a warning, do not hesitate to contact support.